pod控制器分类:
1、ReplicationController
2、ReplicaSet
3、Deployment
4、StatefulSet
5、DaemonSet
6、Job,Cronjob
7、HPA
pod控制器:一般包括3部分
1、标签选择器
2、期望的副本数(DaemonSet控制器不需要)
3、pod模板
deploy控制器构建于rs控制器之上,新特性包括:
1、事件和状态查看
2、回滚
3、版本记录
4、暂停和启动
5、支持两种自动更新方案
Recreate删除重建
RollingUpdate回滚升级(默认方式)
创建deploy
$ kubectl run --help
$ kubectl run nginx --image=nginx --port=80 --replicas=2 #用命令直接创建
$ kubectl run nginx --image=nginx --port=80 --dry-run -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
run: nginx
name: nginx
spec:
replicas: 1
selector:
matchLabels:
run: nginx
template:
metadata:
labels:
run: nginx
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
创建deploy控制器时会自动创建rs控制器,二者具有相同的标签选择器
$ kubectl get deploy
nginx 1/1 1 1 7s
$ kubectl get rs
修改pod副本数的方式
1、kubectl edit deploy nginx
2、kubectl scale deploy nginx --replicas=5
3、修改yaml文件
升级pod镜像的方法:
1、直接修改yaml
2、kubectl edit deploy nginx
3、kubectl set image deploy/nginx nginx=nginx:1.9 --record #升级并记录,可实现回滚,推荐使用该方法