Kubernetes(4)deployment管理pod

Kubernetes(4)deployment管理pod

2023年6月30日发(作者:)

Kubernetes(4)deployment管理pod⽂章⽬录Kubernetes(4)deployment管理podkubernetes cluster由master和node组成master节点是kubernetes cluster的⼤脑,它同时也是⼀个 Server(/kube-apiserver):是kubernetes cluster的前端接⼝,各种客户端⼯具以及kubernetes其他组件可以通过它管理cluster的各种资源/kube-scheduler:负责决定将pod放在哪个node上运⾏/kube-controller-manager:负责管理cluster各种资源,保证资源处于预期状态/etcd:负责保存集群的配置信息和各种资源的状态信息,当数据发⽣变化的时候,etcd会快速通知kubernetes相关组件⽹络:pod要能够相互通信,kubernetes cluster必须部署pod⽹络,flannel是其中⼀个可选的⽅案node节点⽹络⼏乎所有的kubernetes组建本⾝也运⾏在pod⾥⾯[k8s@server1 ~]$ kubectl get pod --all-namespaces -o wide我们将通过实践深⼊学习kubernetes的各种特性,作为容器编排引擎,最重要也是最基本的功能当然是运⾏容器化应⽤kubernetes通过各种controller来管理pod的⽣命周期,为了满⾜不同的业务场景,kubernetes开发了多种,我们⾸先学习最常⽤的deploymentdeployment管理pod1.1运⾏deployment#

部署两个副本的 nginx-deployment

容器的image为nginx:1.7.9[k8s@server1 ~]$ kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create /nginx-deployment created#

通过kubectl get deployment命令查看nginx-deployment的状态,显⽰输出的两个副本正常运⾏[k8s@server1 ~]$ kubectl get deployment nginx-deployment

NAME READY UP-TO-DATE AVAILABLE AGEnginx-deployment 2/2 2 2 2m31s#

获取更详细的信息[k8s@server1 ~]$ kubectl describe #

重点看这⾥#

这⾥告诉我们创建了⼀个 replicaset(容器副本) nginx-deployment-748ff87d9d# Events是 deployment的⽇志,记录了replicaset的启动过程Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ScalingReplicaSet 3m24s deployment-controller Scaled up replica set nginx-deployment-748ff87d9d [k8s@server1 ~]$ kubectl get replicaset[k8s@server1 ~]$ kubectl get replicasetNAME DESIRED CURRENT READY AGEnginx-deployment-748ff87d9d 2 2 2 16m[k8s@server1 ~]$ kubectl describe replicaset nginx-deployment-748ff87d9dName: nginx-deployment-748ff87d9dNamespace: defaultSelector: pod-template-hash=748ff87d9d,run=nginx-deploymentLabels: pod-template-hash=748ff87d9d run=nginx-deploymentAnnotations: /desired-replicas: 2 /max-replicas: 3 /revision: 1#

指明replicaset是由Deployment/nginx-deployment创建的Controlled By: Deployment/nginx-deploymentReplicas: 2 current / 2 desiredPods Status: 2 Running / 0 Waiting / 0 Succeeded / 0 FailedPod Template: Labels: pod-template-hash=748ff87d9d run=nginx-deployment Containers:

nginx-deployment: Image: nginx:1.7.9 Port: Host Port: Environment: Mounts: Volumes: Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal SuccessfulCreate 16m replicaset-controller Created pod: nginx-deployment-748ff87d9d-bxc8r Normal SuccessfulCreate 16m replicaset-controller Created pod: nginx-deployment-748ff87d9d-25k5w#

两个副本处于running状态[k8s@server1 ~]$ kubectl get podNAME READY STATUS RESTARTS AGEnginx-deployment-748ff87d9d-25k5w 1/1 Running 0 17mnginx-deployment-748ff87d9d-bxc8r 1/1 Running 0 17m#

获取更详细的信息[k8s@server1 ~]$ kubectl get podsNAME READY STATUS RESTARTS AGEhttpd-app-5bc589d9f7-pns4q 1/1 Running 0 31mhttpd-app-5bc589d9f7-qdq4z 1/1 Running 0 31mnginx-deployment-748ff87d9d-25k5w 1/1 Running 0 17mnginx-deployment-748ff87d9d-bxc8r 1/1 Running 0 17m[k8s@server1 ~]$ kubectl describe pod nginx-deployment-748ff87d9d-25k5wName: nginx-deployment-748ff87d9d-25k5wNamespace: defaultPriority: 0Node: server3/172.25.0.3Start Time: Sat, 24 Aug 2019 14:52:14 +0800Labels: pod-template-hash=748ff87d9d run=nginx-deploymentAnnotations: Status: RunningIP: 10.244.2.3Controlled By: ReplicaSet/nginx-deployment-748ff87d9dContainers: nginx-deployment: Container ID: docker://1c3dcd7cabea668eb5e947a1fbf9bf5b8837220c52b32e75eced9e198b4c3149 Image: nginx:1.7.9 Image ID: docker-pullable://nginx@sha256:e3456c851a152494c3e4ff5fcc26f240206abac0c9d794affb40e0714846c451 Port: Port: Host Port: State: Running Started: Sat, 24 Aug 2019 14:54:44 +0800 Ready: True Restart Count: 0 Environment: Mounts: /var/run/secrets//serviceaccount from default-token-zt8dv (ro)Conditions: Type Status Initialized True

Ready True

ContainersReady True

PodScheduled True

Volumes: default-token-zt8dv: Type: Secret (a volume populated by a Secret) SecretName: default-token-zt8dv Optional: falseQoS Class: BestEffortNode-Selectors: Tolerations: /not-ready:NoExecute for 300s /unreachable:NoExecute for 300s#

记录了pod的启动过程,如果操作失败(eg:image不存在),也可以在这⾥查到原因Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 20m default-scheduler Successfully assigned default/nginx-deployment-748ff87d9d-25k5w to server3 Normal Pulling 20m kubelet, server3 Pulling image "nginx:1.7.9" Normal Pulled 18m kubelet, server3 Successfully pulled image "nginx:1.7.9" Normal Created 18m kubelet, server3 Created container nginx-deployment Normal Started 18m kubelet, server3 Started container nginx-deployment"""总结⼀下这个过程1.⽤户通过kubectl创建ment创建aset创建pod"""命令vs配置⽂件#

删除之前的资源kubectl delete deployment nginx-deployment[k8s@server1 ~]$ kubectl get podNo resources found in default namespace.[k8s@server1 ~]$ kubectl get pod -o wideNo resources found.1.1.2命令vs配置⽂件Kubernetes⽀持两种创建资源的⽅式:(1)⽤kubectl命令直接创建,⽐如“kubectl run nginx-deployment--image=nginx:1.7.9--replicas=2”,在命令⾏中通过参数指定资源的属性(2)通过配置⽂件和kubectl apply创建。要完成前⾯同样的⼯作,可执⾏命令“kubectl apply -f ”#

注意不要加减空格(如正确的话:vim

打开⽂件

关键字是蓝⾊的)#

最近由于k8s

摒弃了apiVersion:extensions/v1beta1导致现在很多以前可以成功的操作⽽现在⽆法成功[k8s@server1 ~]$ cat

apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: nginx-deployment name: nginx-deploymentspec: replicas: 2 template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.7.9修改排错apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 2 template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.7.9[k8s@server1 ~]$ kubectl apply -f or: error validating "": error validating data: ValidationError(): missing required field "selector" in mentSpec; if you choose to ignore these errors, turn validation off with --validate=false[k8s@server1 ~]$ kubectl apply -f --validate=falseThe Deployment "nginx-deployment" is invalid:

* or: Required value* : Invalid value: map[string]string{"app":"web_server"}: `selector` does not match template `labels`[k8s@server1 ~]$ cat

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 2 selector: matchLabels: app: web_server template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.7.9"""apiVersion是当前配置格式的版本kind是要创建的资源类型,这⾥是Deploymentmetadata是该资源的元数据,name是必需的元数据项spec部分是该Deployment的规格说明replicas指明副本数量,默认为1template定义Pod的模板,这是配置⽂件的重要部分metadata定义Pod的元数据,⾄少要定义⼀个label。label的key和value可以任意指定spec描述Pod的规格,此部分定义Pod中每⼀个容器的属性,name和image是必需的此是⼀个最简单的Deployment配置⽂件,后⾯我们学习Kubernetes各项功能时会逐步丰富这个⽂件"""[k8s@server1 ~]$ kubectl apply -f

ions/nginx-deployment created[k8s@server1 ~]$ kubectl get deploymentNAME READY UP-TO-DATE AVAILABLE AGEnginx-deployment 2/2 2 2 2m8s[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5d76d6897d-cwvj5 1/1 Running 0 2m24s 10.244.2.4 server3 nginx-deployment-5d76d6897d-md8x5 1/1 Running 0 2m24s 10.244.1.4 server2 #

要删除资源:执⾏kubectl delete deployment nginx-deployment(命令⾏⽅式 )或者kubectl delete -f 伸缩伸缩是指在线增加或减少Pod的副本数Deployment nginx-deployment初始是两个副本[k8s@server1 ~]$ kubectl get deploymentNAME READY UP-TO-DATE AVAILABLE AGEnginx-deployment 2/2 2 2 2m8s[k8s@server1 ~]$ kubectl get pod -o wide #查看pods所在的运⾏节点NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5d76d6897d-cwvj5 1/1 Running 0 2m24s 10.244.2.4 server3 nginx-deployment-5d76d6897d-md8x5 1/1 Running 0 2m24s 10.244.1.4 server2 server2和server2上各⾃跑了⼀个副本,现在修改⽂件,将副本改成5个"""Replication Controller(RC)是Kubernetes中的另⼀个核⼼概念,应⽤托管在Kubernetes之后,Kubernetes需要保证应⽤能够持续运⾏,这是RC的⼯作内容,它会确保任何时间Kubernetes中都有指定数量的Pod在运⾏。在此基础上,RC还提供了⼀些更⾼级的特性,⽐如滚动升级、升级回滚等"""[k8s@server1 ~]$ cat

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 5 template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.7.9再次执⾏kubectl apply[k8s@server1 ~]$ kubectl apply -f

ions/nginx-deployment configured[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5d76d6897d-ckj64 1/1 Running 0 11s 10.244.2.5 server3 nginx-deployment-5d76d6897d-cwvj5 1/1 Running 0 6m5s 10.244.2.4 server3 nginx-deployment-5d76d6897d-d8fx2 1/1 Running 0 11s 10.244.1.5 server2 nginx-deployment-5d76d6897d-md8x5 1/1 Running 0 6m5s 10.244.1.4 server2 nginx-deployment-5d76d6897d-rnb9s 1/1 Running 0 11s 10.244.1.6 server2 #

三个新副本被创建并调度到server2和server3上"""出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节点。如果希望将k8s-master也当作Node使⽤,可以执⾏如下命令kubectl taint node k8s-master /master-如果要恢复Master Only状态,执⾏如下命令:kubectl taint node k8s-master /master="":NoSchedul"""接下来修改配置⽂件,将副本数减少为3个,重新执⾏kubectl apply#

注意的是:关闭和启动是需要时间的[k8s@server1 ~]$ cat

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 3 template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.7.9[k8s@server1 ~]$ kubectl apply -f

ions/nginx-deployment configured[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5d76d6897d-ckj64 1/1 Running 0 2m39s 10.244.2.5 server3 nginx-deployment-5d76d6897d-cwvj5 1/1 Running 0 8m33s 10.244.2.4 server3 nginx-deployment-5d76d6897d-d8fx2 0/1 Terminating 0 2m39s 10.244.1.5 server2 nginx-deployment-5d76d6897d-md8x5 1/1 Running 0 8m33s 10.244.1.4 server2 nginx-deployment-5d76d6897d-rnb9s 0/1 Terminating 0 2m39s 10.244.1.6 server2 [k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5d76d6897d-ckj64 1/1 Running 0 2m56s 10.244.2.5 server3 nginx-deployment-5d76d6897d-cwvj5 1/1 Running 0 8m50s 10.244.2.4 server3 nginx-deployment-5d76d6897d-md8x5 1/1 Running 0 8m50s 10.244.1.4 server2 Failover情况pod 和 deployment 的关系是什么 ?1.创建pod的时候⼀定会创建 deployment 么 ?2.创建deployment的时候⼀定会创建 pod么?pod是可以单独创建并进⾏⽣命周期管理的单独创建pod的时候就不会有deployment出现,但是创建deployment的时候⼀定会创建pod,因为pod是⼀个基础的单位。任何的控制器单位的具体实现必须落到pod去实现下⾯我们模拟k8s-node2(server2)故障,关闭该节点[root@server2 ~]# halt -hConnection to 172.25.0.2 closed by remote host.等待⼀段时间,Kubernetes会检查到k8s-node2不可⽤,将k8s-node2上的Pod标记为Unknown状态,并在k8s-node1上新创建两个Pod,维持总副本数为3[k8s@server1 ~]$ kubectl get nodeNAME STATUS ROLES AGE VERSIONserver1 Ready master 5h7m v1.15.3server2 NotReady 4h38m v1.15.3server3 Ready 4h37m v1.15.3#

下⾯的过程会漫长⼀些 #⼀定要等待⼀定的时间的[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5d76d6897d-4mwqw 1/1 Running 0 2m57s 10.244.2.10 server3 nginx-deployment-5d76d6897d-ckj64 1/1 Running 1 22m 10.244.2.6 server3 nginx-deployment-5d76d6897d-cwvj5 1/1 Running 1 28m 10.244.2.7 server3 nginx-deployment-5d76d6897d-md8x5 1/1 Terminating 1 28m 10.244.1.7 server2 nginx-deployment-5d76d6897d-n6t9x 1/1 Running 0 2m57s 10.244.2.8 server3 nginx-deployment-5d76d6897d-ps4xb 1/1 Terminating 0 8m58s 10.244.1.9 server2 nginx-deployment-5d76d6897d-qhj85 1/1 Running 0 2m57s 10.244.2.9 server3 nginx-deployment-5d76d6897d-tm4wr 1/1 Terminating 0 8m58s 10.244.1.8 server2 """Pod的⽣命周期过程包括:通过模板进⾏定义,然后分配到⼀个Node上运⾏,就不会离开这个Node,直到被删除。当某个Pod失败,⾸先会被Kubernetes清理掉,之后ReplicationController将会在其它机器上(或本机)重建Pod,重建之后Pod的ID发⽣了变化,那将会是⼀个新的Pod。所以,Kubernetes中Pod的迁移,实际指的是在新Node上重建Pod"""#当k8s-node2恢复后,Unknown的Pod会被删除,不过已经运⾏的Pod不会重新调度回k8s-node2[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5d76d6897d-4mwqw 1/1 Running 0 3m58s 10.244.2.10 server3 nginx-deployment-5d76d6897d-ckj64 1/1 Running 1 23m 10.244.2.6 server3 nginx-deployment-5d76d6897d-cwvj5 1/1 Running 1 29m 10.244.2.7 server3 nginx-deployment-5d76d6897d-n6t9x 1/1 Running 0 3m58s 10.244.2.8 server3 nginx-deployment-5d76d6897d-qhj85 1/1 Running 0 3m58s 10.244.2.9 server3 #

再次注意:删除和创建是需要时间的#

⼀执⾏完就⽴马去看

可能结果不会很快展现的#

删除nginx-deployment[k8s@server1 ~]$ kubectl delete deployment nginx-deployment

ions "nginx-deployment" deleted[k8s@server1 ~]$ kubectl get pod -o wideNo resources found.⽤label控制Pod的位置RC与Pod的关联是通过Label来实现的。Label机制是Kubernetes中的⼀个重要设计,通过Label进⾏对象的弱关联,可以灵活地进⾏分类和选择默认配置下,Scheduler会将Pod调度到所有可⽤的Node。不过有些情况我们希望将Pod部署到指定的Node,⽐如将有⼤量磁盘I/O的Pod部署到配置了SSD的Node;或者Pod需要GPU,需要运⾏在配置了GPU的节点上Kubernetes是通过label来实现这个功能的label是key-value对,各种资源都可以设置label,灵活添加各种⾃定义属性⽐如执⾏如下命令标注k8s-node1是配置了SSD的节点⽐如执⾏如下命令标注k8s-node1是配置了SSD的节点[k8s@server1 ~]$ kubectl get nodeNAME STATUS ROLES AGE VERSIONserver1 Ready master 5h32m v1.15.3server2 Ready 5h2m v1.15.3server3 Ready 5h1m v1.15.3[k8s@server1 ~]$ kubectl label node server2 disktype=ssdnode/server2 labeled#

然后通过kubectl get node --show-labels查看节点的label[k8s@server1 ~]$ kubectl get node --show-labelsNAME STATUS ROLES AGE VERSION LABELSserver1 Ready master 5h32m v1.15.3 /arch=amd64,/os=linux,/arch=amd64,/hostname=server1,/os=linux,/master=server2 Ready 5h2m v1.15.3 /arch=amd64,/os=linux,disktype=ssd,/arch=amd64,/hostname=server2,/os=linuxserver3 Ready 5h1m v1.15.3 /arch=amd64,/os=linux,/arch=amd64,/hostname=server3,/os=linux# disktype=ssd已经成功添加到k8s-node1,除了disktype,Node还有⼏个Kubernetes⾃⼰维护的labe有了disktype这个⾃定义label,接下来就可以指定将Pod部署到k8s-node1(server2)。编辑#

在Pod模板的spec⾥通过nodeSelector指定将此Pod部署到具有label disktype=ssd的Node上[k8s@server1 ~]$ cat

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 6 selector: matchLabels: app: web_server template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.7.9 nodeSelector: disktype: ssd#

部署Deployment并查看Pod的运⾏节点[k8s@server1 ~]$ kubectl apply -f

ions/nginx-deployment created[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-56bf7c59b8-4nvdm 1/1 Running 0 8s 10.244.1.12 server2 nginx-deployment-56bf7c59b8-5gxr4 1/1 Running 0 8s 10.244.1.15 server2 nginx-deployment-56bf7c59b8-d2sp6 1/1 Running 0 8s 10.244.1.10 server2 nginx-deployment-56bf7c59b8-hct8s 1/1 Running 0 8s 10.244.1.14 server2 nginx-deployment-56bf7c59b8-nmlmx 1/1 Running 0 8s 10.244.1.11 server2 nginx-deployment-56bf7c59b8-t4b2m 1/1 Running 0 8s 10.244.1.13 server2 #

全部6个副本都运⾏在server2上,符合我们的预期#

要删除 label disktype,执⾏如下命令#

不过此时Pod并不会重新部署[k8s@server1 ~]$ kubectl label node server2 disktype-node/server2 labeled[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-56bf7c59b8-4nvdm 1/1 Running 0 15m 10.244.1.12 server2 nginx-deployment-56bf7c59b8-5gxr4 1/1 Running 0 15m 10.244.1.15 server2 nginx-deployment-56bf7c59b8-5gxr4 1/1 Running 0 15m 10.244.1.15 server2 nginx-deployment-56bf7c59b8-d2sp6 1/1 Running 0 15m 10.244.1.10 server2 nginx-deployment-56bf7c59b8-hct8s 1/1 Running 0 15m 10.244.1.14 server2 nginx-deployment-56bf7c59b8-nmlmx 1/1 Running 0 15m 10.244.1.11 server2 nginx-deployment-56bf7c59b8-t4b2m 1/1 Running 0 15m 10.244.1.13 server2 #

除⾮在中删除nodeSelector设置,然后通过kubectl apply重新部署[k8s@server1 ~]$ cat

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 6 selector: matchLabels: app: web_server template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.7.9#删除是需要⼀定的时间的[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5b5dfcc76-66gpx 1/1 Running 0 3s 10.244.1.10 server3 nginx-deployment-5b5dfcc76-6jl6j 1/1 Running 0 2s 10.244.1.12 server3 nginx-deployment-5b5dfcc76-98j5b 1/1 Running 0 3s 10.244.1.11 server3 nginx-deployment-5b5dfcc76-9j8x5 0/1 ContainerCreating 0 1s server2 nginx-deployment-5b5dfcc76-rbssj 0/1 ContainerCreating 0 1s server2 nginx-deployment-5b5dfcc76-wwd6w 1/1 Running 0 3s 10.244.2.13 server2 nginx-deployment-7bb8d48dd6-2l4ms 0/1 Terminating 0 70s 10.244.2.9 server2 nginx-deployment-7bb8d48dd6-d77l7 1/1 Running 0 70s 10.244.2.7 server2 nginx-deployment-7bb8d48dd6-fnm4t 1/1 Terminating 0 70s 10.244.2.12 server2 nginx-deployment-7bb8d48dd6-gdcq8 0/1 Terminating 0 70s 10.244.2.10 server2 nginx-deployment-7bb8d48dd6-jbpwv 1/1 Terminating 0 70s 10.244.2.8 server2 nginx-deployment-7bb8d48dd6-tm5tc 1/1 Terminating 0 70s 10.244.2.11 server2 [k8s@server1 ~]$ kubectl apply -f

ions/nginx-deployment configured[k8s@server1 ~]$ kubectl get pod -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-deployment-5d76d6897d-7xxxh 1/1 Running 0 9s 10.244.1.16 server2 nginx-deployment-5d76d6897d-mwp6d 1/1 Running 0 7s 10.244.2.14 server3 nginx-deployment-5d76d6897d-sfkbt 1/1 Running 0 8s 10.244.2.12 server3 nginx-deployment-5d76d6897d-tbmtt 1/1 Running 0 9s 10.244.2.11 server3 nginx-deployment-5d76d6897d-vmn28 1/1 Running 0 8s 10.244.2.13 server3 nginx-deployment-5d76d6897d-whdbv 1/1 Running 0 6s 10.244.1.17 server2 # Kubernetes会删除之前的Pod并调度和运⾏新的Pod

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688056673a72316.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信