一. RS與Deployment的關聯,模闆展示
apiVersion: extens ions/v1beta1
kind: ReplicaSet
metadata:
name: frontend # 随機産生一個名字
spec:
replicas: 3 # 建立三個副本,也就是三個pod
selector:
matchLabels:
tier: frontend
template: # 這個就是在定義一個pod
metadata:
labels:
tier: frontend
spec:
containers:
- name: php-redis
image: myapp:v1
env:
- name: GET_ HOSTS_FROM
value:dns
ports:
- containerPort: 80 # 暴露80端口

二. Deployment,RS,Pod的關聯
如上圖所示,一個Deployment建立的時候,會自動建立RS,然後建立pod。newRS和oldRS是為了實作更新和復原。
三. 部署一個簡單的Nginx應用:
1. 記錄:
kubectl create -f mypod.yaml --record
# record可以記錄指令,我們可以很友善檢視version的變化
2. 擴容
kubectl scale deployment nginx-deployment --replicas 10
3. 如果叢集支援HPA,可以設定自動擴充
kubectl autoscale deployment nginx-deployment --min=10 --max-15 --cpu-percent=80
4. 更新鏡像
kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1
5. 復原
kubectl rollout undo deployment/nginx-deployment