一. 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