今天要講的是deployments佈署。它的角色比較像是幫你管理Pod,在YAML清單中指定副本數(replicas)後會維持Pod數剛好等於指定數量,也就是說可以用來達到自我修復的功能。除此之外它還有滾動更新的功能,可以更換Pod容器的image版本,後面的測試會再說明。
昨天的Pod:
直接刪除
kubectl delete pods busybox-temp
它會直接消失。但如果是交由deployments託管的Pod會自動再起一個新的Pod補齊replicase的指定數目:
# busybox-deploy-temp.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: busybox-temp
namespace: default
labels:
app: busybox-temp
spec:
replicas: 1
selector:
matchLabels:
app: busybox-temp
template:
metadata:
labels:
app: busybox-temp
spec:
containers:
- image: busybox:latest
name: busybox
command:
- "sleep"
- "3600"
kubectl apply -f busybox-deploy-temp.yaml
建立後再把Pod刪除:
# 透過kubectl get pods 後將原本由deployments創立的Pod刪除(可以透過名字辨別)
kubectl delete pods busybox-temp-8694cd4495-d9gdv`
刪除後可以發現,deployment會自動維持Pod數量,又起了一個新的Pod。
所以在deployment功能部分跟Kubernetes中是同樣的