
- Kubernetes 教程
- Kubernetes - 首頁
- Kubernetes - 概述
- Kubernetes - 架構
- Kubernetes - 設定
- Kubernetes - 映象
- Kubernetes - 作業
- Kubernetes - 標籤和選擇器
- Kubernetes - 名稱空間
- Kubernetes - 節點
- Kubernetes - 服務
- Kubernetes - Pod
- Kubernetes - 複製控制器
- Kubernetes - 副本集
- Kubernetes - 部署
- Kubernetes - 卷
- Kubernetes - 金鑰
- Kubernetes - 網路策略
- 高階 Kubernetes
- Kubernetes - API
- Kubernetes - Kubectl
- Kubernetes - Kubectl 命令
- Kubernetes - 建立應用程式
- Kubernetes - 應用部署
- Kubernetes - 自動伸縮
- Kubernetes - 儀表盤設定
- Kubernetes - 監控
- Kubernetes 有用資源
- Kubernetes - 快速指南
- Kubernetes - 有用資源
- Kubernetes - 討論
Kubernetes - 部署
部署是複製控制器的升級和更高版本。它們管理副本集的部署,副本集也是複製控制器的升級版本。它們能夠更新副本集,也能夠回滾到之前的版本。
它們提供了許多更新的匹配標籤和選擇器功能。我們在 Kubernetes 主節點中獲得了一個新的控制器,稱為部署控制器,它使這一切成為可能。它能夠中途更改部署。
更改部署
更新 - 使用者可以在部署完成之前更新正在進行的部署。在此過程中,現有部署將被結算,並將建立新的部署。
刪除 - 使用者可以在部署完成之前透過刪除來暫停/取消部署。重新建立相同的部署將恢復它。
回滾 - 我們可以回滾部署或正在進行的部署。使用者可以使用DeploymentSpec.PodTemplateSpec = oldRC.PodTemplateSpec來建立或更新部署。
部署策略
部署策略有助於定義新的 RC 如何替換現有的 RC。
重新建立 - 此功能將終止所有現有 RC,然後啟動新的 RC。這導致快速部署,但是當舊 Pod 關閉而新 Pod 尚未啟動時,會導致停機。
滾動更新 - 此功能會逐漸關閉舊 RC 並啟動新的 RC。這導致部署緩慢,但是沒有停機時間。在此過程中,始終有一些舊 Pod 和一些新 Pod 可用。
部署的配置檔案如下所示。
apiVersion: extensions/v1beta1 --------------------->1 kind: Deployment --------------------------> 2 metadata: name: Tomcat-ReplicaSet spec: replicas: 3 template: metadata: lables: app: Tomcat-ReplicaSet tier: Backend spec: containers: - name: Tomcatimage: tomcat: 8.0 ports: - containerPort: 7474
在上面的程式碼中,與副本集唯一不同的是我們將 kind 定義為 deployment。
建立部署
$ kubectl create –f Deployment.yaml -–record deployment "Deployment" created Successfully.
獲取部署
$ kubectl get deployments NAME DESIRED CURRENT UP-TO-DATE AVILABLE AGE Deployment 3 3 3 3 20s
檢查部署狀態
$ kubectl rollout status deployment/Deployment
更新部署
$ kubectl set image deployment/Deployment tomcat=tomcat:6.0
回滾到之前的部署
$ kubectl rollout undo deployment/Deployment –to-revision=2
廣告