Deployment 是用來告訴 Kubernetes 如何建立 Pod 和更新你的應用程式。
一旦應用程式的 Instance 被建立後,Kubernetes Deployment Controller 就會持續的監控這些 Instance。
如果啟動的 pod 被關閉或刪除,Deployment Controller 會會產生一個同樣規格的 pod 替換它,用這樣的機制來做自我修復功能,以解決意外故障的情況。
啟動一個 pod
kubectl run nginx-deployment --image nginx:1.7.9 --port=80 --replicas=3
列出所有 deployment 物件
kubectl get deployments
刪除指定的 deployment 物件
kubectl delete deployment nginx-deployment
刪除所有的 deployment 物件
kubectl delete deployments --all
nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
建立 deployment 物件
kubectl apply -f nginx-deployment