RC、RS與Deployment的創建


 RC主要作用就是用來確保容器應用副本始終保持在用戶定義的數量,如果有容器異常退出,會自動創建新的 Pod來代理,異常多出來的容器會被系統回收  RS本質與RC沒有什么不同,可以認為RS是RC的升級版,並且支持集合式的selector

RS實例

apiVersion: extensions/v1beta1 kind: ReplicaSet metadata: name: frontend spec: replicas: 2 selector: matchLabels: tier: frontend template: metadata: labels: tier: frontend spec: containers: - name: nginx image: nginx:v1 env: - name: GET_HOSTS_FROM value: dns ports: - containerPort: 80 

RS與Deployment的關聯

  Deployment為Pod和Rs提供申明式定義方法,用來代理以前的RC來方便管理應用。 下面使用Deployment部署一個簡單的nginx應用

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest imagePullPolicy: IfNotPresent ports: - containerPort: 80 //deployment使用apply創建,也可以使用create [root@k8s-master yaml]# kubectl apply -f nginx-deploy.yaml //查看生成的pod [root@k8s-master yaml]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-deployment-698c64b949-rsldr 1/1 Running 0 20h nginx-deployment-698c64b949-s5xxk 1/1 Running 0 20h [root@k8s-master yaml]# kubectl get deployment nginx-deployment -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR nginx-deployment 2/2 2 2 20h nginx nginx:latest app=nginx 

Deployment的擴容

//是用scale命令對nignx-deployment的容器擴容 [root@k8s-master yaml]# kubectl scale deployment nginx-deployment --replicas=10 deployment.extensions/nginx-deployment scaled //查看擴容結果 [root@k8s-master yaml]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-deployment-698c64b949-7bb8c 1/1 Running 0 9s nginx-deployment-698c64b949-7mlcc 1/1 Running 0 9s nginx-deployment-698c64b949-8qn2w 1/1 Running 0 10s nginx-deployment-698c64b949-m8x7k 1/1 Running 0 10s nginx-deployment-698c64b949-mx674 1/1 Running 0 9s nginx-deployment-698c64b949-mxw84 1/1 Running 0 9s nginx-deployment-698c64b949-rsldr 1/1 Running 0 20h nginx-deployment-698c64b949-s5xxk 1/1 Running 0 20h nginx-deployment-698c64b949-t4h4l 1/1 Running 0 9s nginx-deployment-698c64b949-vx78j 1/1 Running 0 10s 

Deployment的鏡像更新

//使用set image鏡像更新,應用更新會新生成一個對應rs //格式 kubectl set iamges deployment/deployment名稱 容器名=容器版本 kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1 

Deployment的回滾

kubectl rollout undo deployment/nginx-deployment 

Deployment的回滾相關其他命令

  • kubectl rollout status 回滾狀態信息
  • kubectl rollout history 回滾歷史信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM