Kubernetes基础:Deployment中ReplicaSet
生活随笔
收集整理的這篇文章主要介紹了
Kubernetes基础:Deployment中ReplicaSet
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Deployment是通過ReplicaSet來進行Pod的管理的,這篇文章通過一個簡單的示例,對此進行說明。
Deployment的YAML示例
有如下busybox的Deployment的YAML配置文件:
[root@host131 Deployment]# cat v1.yaml --- apiVersion: apps/v1 kind: Deployment metadata:name: busybox-deployment-v1 spec:replicas: 3selector:matchLabels:app: busybox-v1template:metadata:labels:app: busybox-v1spec:containers:- name: busybox-hostimage: busybox:1.31.1command: ["sleep"]args: ["1000"] ... [root@host131 Deployment]#生成Deployment和Pod
[root@host131 Deployment]# kubectl create -f v1.yaml deployment.apps/busybox-deployment-v1 created [root@host131 Deployment]#確認Deployment和Pod信息
[root@host131 Deployment]# kubectl get deployment -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR busybox-deployment-v1 3/3 3 3 9s busybox-host busybox:1.31.1 app=busybox-v1 [root@host131 Deployment]# [root@host131 Deployment]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES busybox-deployment-v1-7bfdbd9656-9pg9s 1/1 Running 0 15s 10.254.152.6 192.168.163.131 <none> <none> busybox-deployment-v1-7bfdbd9656-l4knv 1/1 Running 0 15s 10.254.152.7 192.168.163.131 <none> <none> busybox-deployment-v1-7bfdbd9656-m8g9c 1/1 Running 0 15s 10.254.152.5 192.168.163.131 <none> <none> [root@host131 Deployment]#日志信息分析
確認Deployment
通過對Deployment和Pod等日志進行分析,確認在Deployment中生成Pod的順序:
執行命令:kubectl describe deployment busybox-deployment-v1
主要日志信息:
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal ScalingReplicaSet 34s deployment-controller Scaled up replica set busybox-deployment-v1-7bfdbd9656 to 3可以看到出現了一個Replica Set,通過deployment-controller控制器創建,然后使用如下命令確認出了隱藏在后面工作的ReplicaSet, 此ReplicaSet的NAME與上述日志記載的名稱相同
[root@host131 Deployment]# kubectl get rs -o wide NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR busybox-deployment-v1-7bfdbd9656 3 3 3 54s busybox-host busybox:1.31.1 app=busybox-v1,pod-template-hash=7bfdbd9656 [root@host131 Deployment]#確認Replica Set
執行命令:kubectl describe rs busybox-deployment-v1-7bfdbd9656
主要日志信息:
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal SuccessfulCreate 77s replicaset-controller Created pod: busybox-deployment-v1-7bfdbd9656-m8g9cNormal SuccessfulCreate 77s replicaset-controller Created pod: busybox-deployment-v1-7bfdbd9656-9pg9sNormal SuccessfulCreate 77s replicaset-controller Created pod: busybox-deployment-v1-7bfdbd9656-l4knv可以清晰地看到3個Pod實例都是通過Replica Set生成的
確認Pod
執行命令:kubectl describe pod busybox-deployment-v1-7bfdbd9656-m8g9c
主要日志信息:
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Scheduled 94s default-scheduler Successfully assigned default/busybox-deployment-v1-7bfdbd9656-m8g9c to 192.168.163.131Normal Pulled 92s kubelet, 192.168.163.131 Container image "busybox:1.31.1" already present on machineNormal Created 92s kubelet, 192.168.163.131 Created container busybox-hostNormal Started 91s kubelet, 192.168.163.131 Started container busybox-hostPod的創建非常清晰:
- 由調度器決定在192.168.163.131這臺節點上進行Pod的生成
- 拉取鏡像(鏡像事前已經存在的情況)
- 創建鏡像 busybox-host
- 啟動鏡像 busybox-host
總結
從上述示例可以清晰地看到Deployment生成Pode的過程:Deployment -> Replica Set -> Pod生成。
總結
以上是生活随笔為你收集整理的Kubernetes基础:Deployment中ReplicaSet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7行代码制作一个超声波测距仪
- 下一篇: 论文总结(一)—基于深度学习的普通遥感图