Deployment(Deploy)企业常常使用
为了更好的解决服务编排的问题,kubernetes在V1.2版本开始,引入了Deployment控制器。值得一提的是,这种控制器并不直接管理pod,而是通过管理ReplicaSet来间接管理Pod,即: Deployment管理ReplicaSet,ReplicaSet管理Pod。所以DeploymenttLReplicaSet功能更加强大。
主要功能:
- 支持ReplicaSet
- 支持版本滚动更新和版本退回
- 支持发布的停、继续
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment
namespace: dev
spec:
replicas: 3
selector:
matchLabels:
app: nginx-pod
template:
metadata:
labels:
app: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.17.1
查看
kubectl get deploy deployment -n dev -o wide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
deployment 3/3 3 3 114s nginx nginx:1.17.1 app=nginx-pod
扩缩容与ReplicaSet一样
kubectl scale deploy deployment --replicas=5 -n dev
kubectl edit deploy -n dev
升级策略
滚动更新
版本回退