了解 operator 升級工作流程
在使用 Trident operator 升級 Trident 之前,您應該先了解升級過程中發生的背景程序。這包括對 Trident 控制器、控制器 Pod 和節點 Pod 的變更,以及啟用滾動更新的節點 DaemonSet。
Trident 操作員升級處理
安裝和升級 Trident 的眾多"使用 Trident 運算子的好處"之一是能夠自動處理 Trident 和 Kubernetes 物件,而不會中斷現有掛載的磁碟區。這樣,Trident 可以支援零停機升級,或"滾動更新"。具體來說,Trident Operator 與 Kubernetes 叢集通訊以:
-
刪除並重新建立 Trident Controller 部署和節點 DaemonSet。
-
將 Trident Controller Pod 和 Trident Node Pod 替換為新版本。
-
如果某個節點沒有更新,並不妨礙其他節點的更新。
-
只有運行了 Trident Node Pod 的節點才能掛載磁碟區。
-
|
|
有關 Kubernetes 叢集上 Trident 架構的更多資訊,請參閱 "Trident 架構"。 |
Operator 升級工作流程
當您使用 Trident 運算子啟動升級時:
-
Trident 運算子:
-
偵測目前安裝的 Trident 版本(版本 n)。
-
更新所有 Kubernetes 物件,包括 CRD、RBAC 和 Trident SVC。
-
刪除版本 n 的 Trident Controller 部署。
-
建立版本 n+1 的 Trident Controller 部署。
-
-
Kubernetes 為 n+1 建立 Trident Controller Pod。
-
Trident 運算子:
-
刪除 n 的 Trident Node DaemonSet。該操作符不會等待 Node Pod 終止。
-
為 n+1 建立 Trident 節點守護程序集。
-
-
Kubernetes 會在未執行 Trident Node Pod n 的節點上建立 Trident Node Pod。這可確保每個節點上永遠不會存在多個 Trident Node Pod,無論版本為何。