deployment最突出的一个功能是支持滚动更新,比如我们需要吧应用容器更改为nginx:1.7.9版本,修改后的资源清单
[root@master1 ~]# cat nginx-strategy-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-strategy-deployment
namespace: default
spec:
replicas: 4
selector:
matchLabels:
app: nginx
minReadySeconds: 5
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.8
ports:
- containerPort: 80
与水平伸缩相比,滚动rollout出了更新了镜像之外,我们还指定了更新策略
minReadySeconds:
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavaliable: 1
minReadySeconds: 表示kubernetes在等待设置时间后才进行升级,如果没有设置该值kubernete会假设容器启动起来就提供服务了,如果没有设置该值ÿ