首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么服务帐号可以创建pod,而kubernetes不允许创建pod?

服务帐号可以创建Pod,而Kubernetes不允许创建Pod的原因是因为它的设计理念和架构不同。

首先,服务帐号是Kubernetes中的一种资源对象,用于身份验证和授权。它允许在集群中的各个组件之间建立信任关系,并提供了一种安全的方式来管理和控制访问权限。服务帐号可以通过Kubernetes API进行创建和管理。

而Pod是Kubernetes中最小的可部署单元,它是由一个或多个容器组成的。Pod是Kubernetes调度和管理的基本单位,它可以运行在集群中的任何节点上。Pod提供了一种抽象层,用于封装容器、存储资源、网络配置等。

服务帐号可以创建Pod的原因是因为服务帐号是用于身份验证和授权的,它可以代表某个实体(如应用程序、服务)在集群中创建和管理Pod。服务帐号可以通过Kubernetes API进行创建和管理,然后使用服务帐号的身份来创建Pod。

而Kubernetes不允许直接创建Pod的原因是为了保证集群的安全性和稳定性。Kubernetes通过控制器(如Deployment、StatefulSet)来管理Pod的生命周期,它们提供了更高级别的抽象和功能,可以自动处理Pod的创建、更新和删除等操作。这样可以确保Pod的创建和管理符合集群的策略和规范,避免了直接创建Pod可能带来的安全风险和操作失误。

总结起来,服务帐号可以创建Pod是因为它是用于身份验证和授权的,而Kubernetes不允许直接创建Pod是为了保证集群的安全性和稳定性。通过使用服务帐号和控制器来管理Pod,可以更好地管理和控制集群中的资源。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【TKE】Kubernetespod创建流程

一般我们在创建pod的过程中都是,执行kubectl命令去apply对应的yaml文件,但是在执行这个操作的过程到pod被完成创建,k8s的组件都做了哪些操作呢?下面我们简要说说pod创建的过程。...Controller-Manager通过apiserver的watch接口发现了pod信息的更新,执行该资源所依赖的拓扑结构整合,整合后将对应的信息交给apiserver,apiserver写到etcd...Scheduler同样通过apiserver的watch接口更新到pod可以被调度,通过算法给pod分配节点,并将pod和对应节点绑定的信息交给apiserver,apiserver写到etcd。...kubelet从apiserver获取需要创建pod信息,调用CNI接口给pod创建pod网络,调用CRI接口去启动容器,调用CSI进行存储卷的挂载。...网络,容器,存储创建完成后pod创建完成,等业务进程启动后,pod运行成功。

10.9K30
  • 《一起读 kubernetes 源码》kubelet 如何创建 pod

    前言 pod 是 k8s 调度的最小单位,也就是整个 k8s 的基础之一,那么如何创建 pod 就是我们今天的关键了。这也是为什么我将它放在第一章的原因。 前置知识 什么是 pod?...还是那句话,我是来看 pod 如何创建的。所以其他的什么 if 判断全部都可以扔掉,因为它们都是在处理 pod 的其他状态,对于创建无关。...我们稍后文章再说,你可以简单理解为这里在创建 pod 所需要的环境。...pod 创建完毕之后需要做通知或其他操作吗? 没有,创建只管创建,职责很清晰。 额外扩展 下面这些,这些就是不看源码所很难了解到的内部细节了,虽然不影响整体理解,但可以作为额外扩展来学习一下。...kubelet 会为每个 静态 pod 创建一个 MirrorPod,静态 pod 直接由 kubelet 管理,不交给 apiserver。

    22410

    研发工程师玩转Kubernetes——通过文件创建Pod

    在《研发工程师玩转Kubernetes——部署应用》中,我们使用kubectl run命令启动了一个可以kubernetes集群内部访问的nginx——它不可以通过物理机访问。...而我们使用文件创建时,则可以通过设置相关参数,让nginx可以通过物理机地址访问。 创建Pod 将下列内容保存到nginx.yaml文件中。...,我们可以通过下面指令查看创建Pod kubectl describe pod nginx 得到如下信息 Name: nginx Namespace: default...文件解读 Kubernetes的资源描述文件一般分成“类型信息”、“元信息”和“规约信息”。 类型信息 apiVersion: v1 kind: Pod 作为一种协议,不同的版本会有不同的格式。...kind字段用于表达这个文件描述的是什么资源,它可以Pod、Service等。

    26920

    云原生技术之kubernetes学习笔记(5)---如何创建Pod

    01 如何创建Pod? 在之前的文章中,我们介绍了容器和Pod的区别和关系。...我们知道Pod是k8s调度的最小单位,一个Pod可以有多个容器,那么我们如何来定义一个我们自己的Pod呢?...到这里,我们已经了解了Pod创建方法,针对上面的过程,我们再来看2个问题: 第一、kubectl是什么?它可以跟什么命令? 第二、Pod的yaml文件中的字段分别是什么意思? 先来看第一个问题。...kubectl port-forward – 将本地端口转发到Pod。 kubectl proxy – 为Kubernetes API server启动代理服务器。...kubectl version – 输出服务端和客户端的版本信息。 现在我们知道,它是一个命令行工具,常见的操作有上面这么多,可以使用create子命令来创建一个Pod即可。

    57640

    Kubernetes K8S之通过yaml文件创建PodPod常用字段详解

    YAML语法规范;在kubernetes k8s中如何通过yaml文件创建pod,以及pod常用字段详解 YAML 语法规范 K8S 里所有的资源或者配置都可以用 yaml 或 Json 定义。...具体参见:「YAML 语言教程与使用案例」 通过yaml创建nginx pod对象 yaml文件 在Kubernetes的 yaml文件中,最好不要出现下划线,可以有中横线。...将 Pod 绑定到hostPort时,它会限制 Pod 可以调度的位置数 23 #DaemonSet 中的 Pod 可以使用 hostPort,从而可以通过节点 IP 访问到 Pod;因为DaemonSet...将 Pod 绑定到hostPort时,它会限制 Pod 可以调度的位置数 28 #DaemonSet 中的 Pod 可以使用 hostPort,从而可以通过节点 IP 访问到 Pod;因为DaemonSet...对于CPU,如果pod服务使用CPU超过设置的limits,pod不会被kill掉但会被限制。如果没有设置limits,pod可以使用全部空闲的cpu资源。

    4.1K32

    精通Kubernetes1——Kubernetes简介和部署

    服务(Service) Kubernetes Service 定义了这样一种抽象:一个 Pod 的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。...任务(Job) Deployment 代表的是长期运行的应用服务短暂运行的应用(比如定时任务)就要用 Job 来表示。Job 有开始和结束,可以使用一个或多个 Pod 来执行。...PV 和 PVC 是一对一关系, PV 和 Pod 是多对多关系,单个 PV 可以被多个 Pod 共享,且单个 Pod 可以绑定多个 PV。...用户帐号(User Account)和服务帐号(Service Account) 用户帐号为人提供身份标识,服务帐号Kubernetes 集群中的 Pod 提供身份标识。...用户帐号与命名空间无关,是跨命名空间的,服务帐号属于某一个命名空间。

    1.3K20

    容器化守护进程DaemonSet

    ,该 Pod 会自动地在新节点上被创建出来;当旧节点被删除后,它上面的 Pod 也相应地会被回收掉。...如果节点被移除, 同样会删除这个节点上的 daemonset的pod为什么会说DaemonSet 开始运行的时机,很多时候比整个 Kubernetes 集群出现的时机都要早。...检查的结果,可能有这么三种情况: 没有这种 Pod,那么就意味着要在这个 Node 上创建这样一个 Pod; 有这种 Pod,但是数量大于 1,那就说明要把多余的 Pod 从这个 Node 上删除掉;...注意: 在默认情况下,Kubernetes 集群不允许用户在 Master 节点部署 Pod。...DNS:创建具有相同 Pod 选择算符的 无头服务 通过使用 endpoints 资源或从 DNS 中检索到多个 A 记录来发现 DaemonSet。

    13710

    为什么使用OPA不是原生的Pod安全策略?

    使用OPA,你还可以对pods施加类似的控制,在本实验室中,我们将创建一个OPA策略,不允许在pods中创建有特权的容器。特权容器对主机的访问级别比非特权容器高。 ?...为什么使用OPA不是原生的Pod安全策略? 使用Pod安全策略来执行我们的安全策略并没有什么问题。然而,根据定义,PSP只能应用于pods。...OPA作为一个许可控制器部署到Kubernetes,它拦截发送到API服务器的API调用,并验证和/或修改它们。相应地,你可以有一个统一的OPA策略,适用于系统的不同组件,不仅仅是pods。...边车(sidecar)容器在opa命名空间中持续监视API服务器,以便你只需创建ConfigMap就可以部署策略。...因为OPA可以与其他Kubernetes资源一起工作,不仅仅是Pods,所以建议使用它来创建跨越所有相关资源的集群级策略文档。

    1.2K20

    【K8S专栏】Kubernetes权限管理

    ,不归其管理,这类用户可以是: 可以分发 private keys 的管理员(真人) 提供用户服务的第三方厂商,比如 Google Accounts 保存用户名和密码的列表文件 如果用户都不在 Kubernetes...Service Accounts Service Accounts 由 Kubernetes 管理,它们被绑定到特定的 namespace,其可以通过 API Server 自己创建,也可以通过调用 API...当创建Pod 指定了一个 Service Account,其 Secret 会被 Mount 到 Pod 中,Pod 中的进程就可以访问 Kubernetes API 了。...在命名空间中可以通过 RoleBinding 对象授予权限,集群范围的权限授予则通过 ClusterRoleBinding 对象完成。...ServiceAccount:服务帐号,通过 Kubernetes API 来管理的一些用户帐号,和 namespace 进行关联的,适用于集群内部运行的应用程序,需要通过 API 来完成权限认证,所以在集群内部进行权限操作

    94020

    Kubernetes – Google分布式容器技术初体验

    默认的cluster启动脚本会创建5个GCE instance,测试完需要自己及时主动删除。为了避免浪费,可以将minions减少,同时instance类型选择f1-micro。...比如定义了一个apache pod,通过replicationController设置启动100个replicas,系统就会在pod创建后自动在所有可用的minions中启动100个apache container...Kubernetes自身的配置是保存在一个etcd(类似ZooKeeper)的分布式配置服务中。服务发现为什么不通过etcd来实现?...前提准备 一个64bit linux环境,最好在墙外的,避免访问google cloud出现超时或reset等问题;另外创建Google Cloud帐号,确保创建instances以及Cloud Storage...-f tomcat-pod.json 创建成功后通过 cluster/kubectl.sh get pods 来查看它所在minion及ip,可以通过curl或浏览器来访问(请开启GCE防火墙端口设置

    52720

    「走进k8s」Kubernetes1.15.1的RBAC(28)

    没有这个属性,可以考虑添加上,然后重启下api server的服务 - --authorization-mode=Node,RBAC ② 资源对象 Kubernetes有一个很基本的特性就是它的[所有资源对象都是模型化的...API 对象],之前咱们基本上创建pod,展示pod,删除pod,修改pod,都是有点CRUD,(Create、Read、Update、Delete)操作(也就是我们常说的增、删、改、查操作)。...另外 Role 和 ClusterRole 在Kubernetes中都被定义为集群内部的 API 资源,和我们前面学习过的 Pod、ConfigMap 这些类似,都是我们集群的资源对象,所以同样的可以使用我们前面的...,用户可以使用 KeyStone或者 Goolge 帐号,甚至一个用户名和密码的文件列表也可以。....Service Account 服务帐号,通过Kubernetes API 来管理的一些用户帐号,和 namespace 进行关联的,适用于集群内部运行的应用程序,需要通过 API 来完成权限认证,所以在集群内部进行权限操作

    69030

    K8s Dashboard认证跳过

    可以让用户通过图形化界面查看Kubernetes集群的状态和健康状况、创建、删除和修改资源对象、查看日志和监控数据等。...Web的用户界面,允许用户管理集群内的应用程序和资源,该服务Kubernetes 1.7.0开始具有登录功能,从那时起用户就可以使用Kubeconfig文件或Token进行身份验证,但也可以使用跳过按钮完全跳过身份验证...Yaml文件中可以看到其内置了一些默认帐号,当使用K8s面板时开启enable-skip-login将会使用默认的kubernetes-dashboard帐号登陆 官方提供的示例文件中kubernetes-dashboard...将拥有以下权限 漏洞利用 Step 1:登录页面选择跳过登录 Step 2:之后可通过Dashboard获取pod、node和job等状态 Step 3:若业务配置错误或为了方便给Kubernetes...dashboard绑定cluster-admin等角色,攻击者可直接在界面上创建特权pod进行容器逃逸 安全建议 1、如果您需要独立部署的Dashboard,请将Dashboard升级到v1.10.1

    79620

    TF+K8s部署指南丨利用TF防火墙策略实现Kubernetes网络策略(含映射表)

    标签可以是预先定义的,也可以是自定义的。 Kubernetes网络策略是有关如何允许Kubernetes工作负载的组(以下简称为pod)与其它网络端点相互通信的规范。...·网络策略作用于连接不是单个数据包。...例如,如果从pod A到pod B的流量被配置的策略所允许,那么从pod B到pod A的该连接的返回数据包也是被允许的,即使已制定的策略不允许pod B发起到pod A的连接。...这个daemon 连接到Kubernetes集群的API服务器,并将Kubernetes事件(包括网络策略事件)覆盖到适当的TF对象中。...策略1规定,允许从Pod A流向Pod B。策略2意味着不允许Pod A流向Pod B。从网络的角度来看,Tungsten Fabric优先考虑流量行为,认为其更为关键。

    77000

    Kubernetes控制器--副本集ReplicaSet

    Kubernetes最核心的功能就是编排,编排操作都是依靠控制器对象来完成的,高级的控制器对象控制基础的控制器对象,基础的控制器对象再去控制PodPod里面再包容器。...一般来说,Kubernetes建议使用Deployment控制器不是直接使用ReplicaSet,Deployment是一个管理ReplicaSet并提供Pod声明式更新、应用的版本管理以及许多其他功能的更高级的控制器...明白了这个逻辑后就明白为什么要在学习Deployment前先来了解ReplicaSet这个控制器对象了。...创建Pod时,它会认为所有Pod 是一样的,是无状态的,所以在创建顺序上不会有先后之分。...还有一个值得注意的地方是:在.spec.selector中定义的标签选择器必须能够匹配到spec.template.metadata.labels里定义的Pod标签,否则Kubernetes不允许创建

    49940
    领券