4月 272020
获取当前集群pod列表及所属节点
[root@k8s01 ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deployment-bbfdbf4b7-8khd4 1/1 Running 0 3d23h 10.244.2.35 k8s03 <none> <none> nginx-deployment-bbfdbf4b7-9g825 1/1 Running 0 3d23h 10.244.1.17 k8s02 <none> <none> nginx-deployment-bbfdbf4b7-hsvfg 1/1 Running 0 3d23h 10.244.2.36 k8s03 <none> <none> nginx-deployment-bbfdbf4b7-jpt96 1/1 Running 0 3d23h 10.244.2.34 k8s03 <none> <none> nginx-deployment-bbfdbf4b7-vlnlk 1/1 Running 0 3d23h 10.244.1.18 k8s02 <none> <none> [root@k8s01 ~]# kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 5/5 5 5 5d15h [root@k8s01 ~]#
删除nginx-deployment资源
[root@k8s01 ~]# kubectl delete deployments.apps nginx-deployment deployment.apps "nginx-deployment" deleted [root@k8s01 ~]# kubectl get pods No resources found in default namespace. [root@k8s01 ~]#
获取节点列表
[root@k8s01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s01 Ready master 6d15h v1.18.2 k8s02 Ready <none> 6d15h v1.18.2 k8s03 Ready <none> 6d15h v1.18.2 k8s04 Ready <none> 3d23h v1.18.2 k8s05 Ready <none> 3d23h v1.18.2 [root@k8s01 ~]#
应用nginx-deployment配置文件
[root@k8s01 ~]# cat nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.17.10 ports: - containerPort: 80 [root@k8s01 ~]# kubectl apply -f nginx-deployment.yaml deployment.apps/nginx-deployment created [root@k8s01 ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deployment-cc5db57d4-dvr4p 1/1 Running 0 11s 10.244.2.37 k8s03 <none> <none> nginx-deployment-cc5db57d4-fnq9c 1/1 Running 0 11s 10.244.3.2 k8s04 <none> <none> [root@k8s01 ~]#
获取节点的默认标签配置信息
[root@k8s01 ~]# kubectl get nodes --show-labels NAME STATUS ROLES AGE VERSION LABELS k8s01 Ready master 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s01,kubernetes.io/os=linux,node-role.kubernetes.io/master= k8s02 Ready <none> 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s02,kubernetes.io/os=linux k8s03 Ready <none> 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s03,kubernetes.io/os=linux k8s04 Ready <none> 3d23h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s04,kubernetes.io/os=linux k8s05 Ready <none> 3d23h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s05,kubernetes.io/os=linux [root@k8s01 ~]#
对指定节点添加标签键值对
[root@k8s01 ~]# kubectl label nodes k8s05 disktype=ssd node/k8s05 labeled [root@k8s01 ~]# kubectl get nodes --show-labels NAME STATUS ROLES AGE VERSION LABELS k8s01 Ready master 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s01,kubernetes.io/os=linux,node-role.kubernetes.io/master= k8s02 Ready <none> 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s02,kubernetes.io/os=linux k8s03 Ready <none> 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s03,kubernetes.io/os=linux k8s04 Ready <none> 3d23h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s04,kubernetes.io/os=linux k8s05 Ready <none> 3d23h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=ssd,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s05,kubernetes.io/os=linux [root@k8s01 ~]#
修改deployment配置文件添加关联标签
[root@k8s01 ~]# vi nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 6 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.17.10 ports: - containerPort: 80 nodeSelector: disktype: ssd
应用配置文件执行销毁原有pod并调度新pod资源到节点k8s05上
[root@k8s01 ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deployment-cc5db57d4-5lzsz 1/1 Running 0 12s 10.244.3.3 k8s04 <none> <none> nginx-deployment-cc5db57d4-dvr4p 1/1 Running 0 9m53s 10.244.2.37 k8s03 <none> <none> nginx-deployment-cc5db57d4-fnq9c 1/1 Running 0 9m53s 10.244.3.2 k8s04 <none> <none> nginx-deployment-cc5db57d4-hwmk4 1/1 Running 0 12s 10.244.1.19 k8s02 <none> <none> nginx-deployment-cc5db57d4-qt26r 1/1 Running 0 12s 10.244.2.38 k8s03 <none> <none> nginx-deployment-ddc6847d-4qx2m 0/1 ContainerCreating 0 12s <none> k8s05 <none> <none> nginx-deployment-ddc6847d-cvhv4 0/1 ContainerCreating 0 12s <none> k8s05 <none> <none> nginx-deployment-ddc6847d-dcztn 0/1 ContainerCreating 0 12s <none> k8s05 <none> <none> [root@k8s01 ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deployment-cc5db57d4-dvr4p 0/1 Terminating 0 10m 10.244.2.37 k8s03 <none> <none> nginx-deployment-cc5db57d4-fnq9c 0/1 Terminating 0 10m 10.244.3.2 k8s04 <none> <none> nginx-deployment-ddc6847d-26hl9 1/1 Running 0 13s 10.244.5.7 k8s05 <none> <none> nginx-deployment-ddc6847d-4qx2m 1/1 Running 0 26s 10.244.5.3 k8s05 <none> <none> nginx-deployment-ddc6847d-cvhv4 1/1 Running 0 26s 10.244.5.4 k8s05 <none> <none> nginx-deployment-ddc6847d-d6f99 1/1 Running 0 14s 10.244.5.6 k8s05 <none> <none> nginx-deployment-ddc6847d-dcztn 1/1 Running 0 26s 10.244.5.5 k8s05 <none> <none> nginx-deployment-ddc6847d-dj5x4 1/1 Running 0 12s 10.244.5.8 k8s05 <none> <none> [root@k8s01 ~]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deployment-ddc6847d-26hl9 1/1 Running 0 21s 10.244.5.7 k8s05 <none> <none> nginx-deployment-ddc6847d-4qx2m 1/1 Running 0 34s 10.244.5.3 k8s05 <none> <none> nginx-deployment-ddc6847d-cvhv4 1/1 Running 0 34s 10.244.5.4 k8s05 <none> <none> nginx-deployment-ddc6847d-d6f99 1/1 Running 0 22s 10.244.5.6 k8s05 <none> <none> nginx-deployment-ddc6847d-dcztn 1/1 Running 0 34s 10.244.5.5 k8s05 <none> <none> nginx-deployment-ddc6847d-dj5x4 1/1 Running 0 20s 10.244.5.8 k8s05 <none> <none> [root@k8s01 ~]#
删除lable标签配置
[root@k8s01 ~]# kubectl label nodes k8s05 disktype- node/k8s05 labeled [root@k8s01 ~]# kubectl get nodes --show-labels NAME STATUS ROLES AGE VERSION LABELS k8s01 Ready master 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s01,kubernetes.io/os=linux,node-role.kubernetes.io/master= k8s02 Ready <none> 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s02,kubernetes.io/os=linux k8s03 Ready <none> 6d15h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s03,kubernetes.io/os=linux k8s04 Ready <none> 3d23h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s04,kubernetes.io/os=linux k8s05 Ready <none> 3d23h v1.18.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s05,kubernetes.io/os=linux [root@k8s01 ~]#