云原生

25-Deployment

2022-01-21  本文已影响0人  紫荆秋雪_文

一、Deployment

一个Deployment 为 Pods 和 ReplicaSets 提供声明式的更新能力

二、Deployment、ReplicaSet、Pods之间的关系

Deployment、ReplicaSet、Pods之间的关系.png

三、创建Deployment

1、创建一个ReplicaSet

apiVersion: apps/v1
kind: Deployment
metadata:
  name:  deployment-nginx-raven
  namespace: raven
  labels:
    app:  deployment-nginx-raven
spec:
  selector:
    matchLabels:
      app: raven-nginx-1
  replicas: 1
  template: # 定义 Pod
    metadata:
      labels:
        app:  raven-nginx
    spec:
      containers:
      - name:  raven-nginx-container
        image:  nginx
The Deployment "deployment-nginx-raven" is invalid: 
spec.template.metadata.labels: Invalid value: 
map[string]string{"app":"raven-nginx"}: `selector` does 
not match template `labels`
Deployment的选择器.png

小结

kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml --dry-run=client -oyaml
kubectl apply -f depolyments.yaml --record

四、更新 Deployment

仅当 Deployment Pod 模板(.spec.template)发生改变时,例如模板的标签容器镜像被更新,才会触发 Deployment 上线。其他更新(如:对 Deployment 执行扩展容的操作)不会触发上线动作

1、更新 镜像

apiVersion: apps/v1
kind: Deployment
metadata:
  name:  deployment-nginx-raven
  namespace: raven
  labels:
    app:  deployment-nginx-raven
spec:
  selector:
    matchLabels:
      appt: raven-nginx
  replicas: 1
  template: # 定义 Pod
    metadata:
      labels:
        appt:  raven-nginx
    spec:
      containers:
      - name:  raven-nginx-container
        image:  nginx:1.16.1
kubectl set image deployment/deployment-nginx-raven raven-nginx-container=nginx:1.14.2 --record -n raven
kubectl set image deployment/deployment-nginx-raven raven-nginx-container=nginx:1.16.1 --record -n raven
kubectl get rs -n raven

五、查看 Deployment 上线历史

kubectl rollout history deployment/deployment-nginx-raven -n raven

六、回滚到之前版本

kubectl rollout history deployment/deployment-nginx-raven --revision=5 -n raven
kubectl rollout undo deployment/deployment-nginx-raven --to-revision=6 -n raven

七、缩放 Deployment

kubectl scale deployment/deployment-nginx-raven --replicas=3 -n raven
上一篇 下一篇

猜你喜欢

热点阅读