kubectl delete pods --all
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
resources:
limits:
memory: "128Mi"
cpu: "128m"
ports:
- containerPort: 80
kubectl apply -f nginx-deployment.yaml
kubectl get pods
#第一种方式
kubectl edit deployment/nginx-deployment
#第二种方式
kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1
kubectl rollout status deployment/nginx-deployment
kubectl describe pod/nginx-deployment-79fbcd54b4-j9n62
kubectl describe deployment/nginx-deployment
kubectl get rs
总结:Deployment实际上是一个两层控制器。首先,它通过 ReplicaSet 来控制应用的版本;然后,它再通过 ReplicaSet 的属性,来保证 Pod 的副本数量。
在Deployment定义中,可以通过spec.strategy指定Pod的更新策略,目前支持两种策略:
maxUnavailable: 用于指定Deployment在更新过程中不可用状态Pod的上限,可以是百分比也可以是绝对值;
maxSurge: 用于指定在Deployment更新过程中Pod总数量超过期望副本的最大值,可以是百分比也可以是绝对值;从Kubernetes1.6版本开始,以上两个值的默认为25%;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。