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

【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.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

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

pkg/kubelet/kubelet.go 然后开始聚焦,由于源码很多,不可能面面俱,所以一开始我们就要设定范围,看什么,不看什么。而我们今天的目标就是 pod创建 其他都和我们没有关系。...码前提问 看源码之前都自己先提出一些问题,这些问题能帮助我们更快的进入状态,以便能快速定位所需的关键。 kubelet 怎么知道要创建 pod 的? 是 kubelet 本身去操作 CRI 的吗?...码解答 kubelet 怎么知道要创建 pod 的?...pod 创建完毕之后需要做通知或其他操作吗? 没有,创建只管创建,职责很清晰。 额外扩展 下面这些,这些就是不看源码所很难了解的内部细节了,虽然不影响整体理解,但可以作为额外扩展来学习一下。...答案就是 MirrorPod 如果还是不理解,我总结的不一定完整,建议看原文的参考文档: https://kubernetes.io/docs/tasks/configure-pod-container

17010

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

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

24920

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

01 如何创建Pod? 在之前的文章中,我们介绍了容器和Pod的区别和关系。...这样一个yaml文件,当我们提交给k8s之后,k8s就会帮助我们创建出来对应的API对象,在这个例子中,我们的对象是一个Pod,(因为yaml文件中的kind字段后面的值是Pod)。当然,还有其他。...这里,我们已经了解了Pod创建方法,针对上面的过程,我们再来看2个问题: 第一、kubectl是什么?它可以跟什么命令? 第二、Pod的yaml文件中的字段分别是什么意思? 先来看第一个问题。...kubectl expose – 输入replication controller,service或者pod,并将其暴露为新的kubernetes service。...kubectl port-forward – 将本地端口转发到Pod。 kubectl proxy – 为Kubernetes API server启动代理服务器。

56840

Kubernetes基础:Pod的详细介绍

基本概念 1.1 Pod是什么 PodKubernetes中能够创建和部署的最小单元,是Kubernetes集群中的一个应用实例,总是部署在同一个节点Node上。...Pod创建Kubernetes为其分配一个UID,并且通过Controller调度Node中运行,然后Pod一直保持运行状态直到运行正常结束或者被删除。...在Node发生故障时,Controller负责将其调度其他的Node中。KubernetesPod定义了几种状态,分别如下: Pending,Pod创建,正在等待容器创建。...在Pod启动过程中,Init Container在网络和存储初始化完成开始按顺序启动。Pod重启的时候,所有的Init Container都会重新执行。...Kubernetes允许我们创建一个PDB对象,来确保一个RS中运行的Pod不会在一个预算(个数)之下。 Eviction API。

1.3K40

第五章 Kubernetes快速入门

本地创建Kubernetes集群 本地启动单节点Kubernetes集群 minikube start 启动完成,查看控制台 minikube dashboard 通过Kubectl连接kubernetes...macOS或Linux:下载kubeconfig配置文件本地,并执行以下指令以合并多个集群的config(其中~/Downloads/cls-****-config需要更换成你kubeconfig下载到本地的实际地址...了解Pod容器运行情况 kubectl get pods kubectl logs kubectl exec -it -- /bin/bash # kubectl...exec --stdin --tty -- /bin/sh ,推荐使用bash 总结 今天主要学习了kubectl工具的安装和命令使用,对Kubernetes有了大致的了解。...由于昨天把集群Pod和Service删掉了,今天又重新创建了一遍。既然如此,那我就顺便把第六章的内容也学习了吧。

88610

Kubernetes

create token创建出来了,那么还有一个问题,我怎么知道Kubernetes认证的SHA256加密字符串是多少,这里可以使用这个命令查看到 openssl x509 -pubkey -in /...4、访问pod kubectl exec -it web-nginx -- /bin/bash #当pod中包含多个container,默认访问第一个主container kubectl exec -...分钟重新部署 kubectl describe pod dc1-97b97994f-pxgf7 Deployment创建应用程序实例Kubernetes Deployment 控制器会持续监视这些实例...这里etcd起不来是正常的,需要执行一下几步: 删除etcd的pod,删除pod会从列表中消失,这是正常现象 需把etcd的要把/var/lib/etcd/* 拷贝更改的目录 重启物理机的kubelet...注意,这里一定要先修改配置文件,在拷贝etcd数据 使用kubectl ecex 一个etcd节点中, 查看etcd状态,一定要等节点状态全部健康,在继续操作其他节点 Nginx容器镜像 kubectl

70120

K8s污点横向渗透

文章前言 污点是K8s高级调度的特性,用于限制哪些Pod可以被调度某一个节点,一般主节点包含一个污点,这个污点是阻止Pod调度主节点上面,除非有Pod能容忍这个污点,而通常容忍这个污点的Pod都是系统级别的...Pod,例如:kube-system 基本原理 攻击者在获取到node节点的权限可以通过kubectl来创建一个能够容忍主节点的污点的Pod,当该Pod被成功创建Master上之后,攻击者可以通过在子节点上操作该...master #方式二 kubectl describe node master | grep 'Taints' -A 5 Step 3:创建带有容忍参数的Pod(必要时可以修改Yaml使Pod增加到特定的...o wide Step 4:获得Master控制端 kubectl exec control-master-15 -it bash chroot /master bash ls -al cat /etc.../shadow 扩展技巧 执行以下命令清除污点之后直接执行部署PodMaster上,之后通过挂载实现逃逸获取Master节点的权限 #清除污点 kubectl taint nodes debian node-role.kubernetes.io

7100

使用shell-operator实现Operator

然后,ReplicaSet 使用对应的信息来创建两个 Pod 副本,但是还没有调度这些 Pod。 然后才是调度程序调度 Pod 并将调度结果的节点信息更新回YAML。...最后 Kubelets watch Pod 数据后去启动对应的容器。 然后以相反的顺序重复所有操作:kubelet 检查容器,计算容器的状态,然后将其发送回去。...在我们的示例仓储库中[4],可以找到上述算法的完整 Bash 实现。 35 行 YAML 和相同数量的 Bash 组成了一个简单的 Kubernetes 控制器!...然后,Kubernetes 会杀死 Pod创建一个新 Pod,等到准备就绪再进行下一个 Pod。因此,我们的 Deployment 可以完美同步并与更新的 ConfigMap 一起运行。...示例2:使用 CRD 我们知道 Kubernetes 允许我们创建自定义类型的对象。

3.7K40
领券