部署總覽
您可以使用Trident運算子或Tridentctl來部署Astra Trident。
選擇部署方法
若要判斷要使用哪種部署方法、請考慮下列事項:
為什麼我應該使用Trident運算子?
。 "Trident運算子" 是動態管理Astra Trident資源及自動化設定階段的絕佳方法。必須滿足一些先決條件。請參閱 "需求"。
Trident營運者提供以下幾項優點:
自我修復功能
您可以監控Astra Trident安裝、並主動採取措施來處理問題、例如刪除部署或意外修改部署。當操作員設定為部署時、會建立一個「Trident - oper-<generated -id>' pod」。此Pod可將「TridentOrchestrator」的CR與Astra Trident安裝建立關聯、確保只有一個作用中的「TridentOrchestrator」。換句話說、操作人員可確保叢集中只有一個Astra Trident執行個體、並控制其設定、確保安裝具有冪等特性。當對安裝進行變更(例如刪除部署或節點取消設定)時、操作員會分別識別並修正這些變更。
輕鬆更新現有安裝
您可以輕鬆地與營運者一起更新現有的部署。您只需要編輯「TridentOrchestrator」、就能更新安裝內容。例如、假設您需要啟用Astra Trident來產生偵錯記錄的案例。
若要這麼做、請修補您的「TridentOrchestrator」、將「pec.debug`」設為「true」:
kubectl patch torc <trident-orchestrator-name> -n trident --type=merge -p '{"spec":{"debug":true}}'
更新「TridentOrchestrator」之後、營運者會處理更新並修補現有安裝。這可能會觸發建立新的Pod、以據此修改安裝。
自動處理Kubernetes升級
當叢集的Kubernetes版本升級至支援的版本時、營運者會自動更新現有的Astra Trident安裝、並加以變更、以確保其符合Kubernetes版本的要求。
如果叢集升級至不受支援的版本、則操作員將無法安裝Astra Trident。如果操作員已安裝Astra Trident、則會顯示警告、指出Astra Trident安裝在不受支援的Kubernetes版本上。 |
為什麼要使用Helm?
如果您有其他使用Helm管理的應用程式、從Astra Trident 21.01開始、您也可以使用Helm來管理部署。
我應該何時使用 tridenctl
?
如果您現有的部署必須升級至、或是想要高度自訂部署、請參閱使用 "試用"。這是部署Astra Trident的傳統方法。
在部署方法之間移動的考量
不難想像需要在部署方法之間移動的情況。在嘗試從「tridentctl」部署移至以營運者為基礎的部署之前、您應該考慮下列事項:
-
請務必使用相同的方法來解除安裝Astra Trident。如果您已使用「tridentctl」部署、您應該使用適當版本的「tridentctl」二進位來解除安裝Astra Trident。同樣地、如果您是與營運者一起部署、您也應該編輯「TridentOrchestrator」、並設定「shpec.uninstall=true」來解除安裝Astra Trident。
-
如果您想要移除並使用「tridentctl」來部署Astra Trident、請先編輯「TridentOrchestrator」、然後設定「shipec.uninstall=true」來解除安裝Astra Trident。然後刪除「TridentOrchestrator」和營運者部署。然後您可以使用「tridentctl」安裝。
-
如果您有手動的操作員型部署、而且想要使用以Helm為基礎的Trident操作員部署、您應該先手動解除安裝操作員、然後再執行Helm安裝。如此一來、Helm就能部署具有所需標籤和註釋的Trident運算子。如果您不這麼做、則Helm型Trident營運者部署將會失敗、並顯示標籤驗證錯誤和註釋驗證錯誤。如果您的部署是「tridentctl」型部署、則可以使用Helm型部署、而不會發生問題。
瞭解部署模式
有三種方法可以部署Astra Trident。
標準部署
在Kubernetes叢集上部署Trident會導致Astra Trident安裝程式執行兩項作業:
-
透過網際網路擷取Container映像
-
建立部署和/或節點取消設定、在Kubernetes叢集中的所有合格節點上執行Astra Trident Pod。
這類的標準部署可透過兩種不同方式執行:
-
使用「tridentctl install」
-
使用Trident運算子。您可以手動或使用Helm來部署Trident運算子。
這種安裝模式是安裝Astra Trident的最簡單方法、適用於大多數不受網路限制的環境。
離線部署
若要執行無線部署、您可以在叫用「tridentctl install」時、使用「-image-registry」旗標來指向私有映像登錄。如果使用Trident運算子進行部署、您也可以在「TridentOrchestrator」中指定「s.pec.imageRegistry」。此登錄應包含 "Trident影像"、 "Trident AutoSupport 的圖片"以及Kubernetes版本所需的csi sidecar映像。
若要自訂部署、您可以使用「tridentctl」來產生Trident資源的資訊清單。這包括部署、取消程式集、服務帳戶、以及Astra Trident在安裝過程中所建立的叢集角色。
如需自訂部署的詳細資訊、請參閱下列連結:
如果您使用的是私有映像儲存庫、則應在私有登錄URL結尾加上Kubernetes 1.17之前的版本「/k8scsi」或Kubernetes 1.17之後的版本「/sig-storage」。在使用私有註冊表進行「tridentctl」部署時、您應該搭配「-trident映像」和「-autocomple-image」來搭配「-image登錄」。如果您使用Trident運算子來部署Astra Trident、請確定Orchestrator CR在安裝參數中包含「tridentImage」和「autosupportImage」。 |
遠端部署
以下是遠端部署程序的高階概觀:
-
在遠端機器上部署適當版本的「kubecll」、以便部署Astra Trident。
-
從Kubernetes叢集複製組態檔、然後在遠端機器上設定「KUBECCONFIG」環境變數。
-
啟動「kubectl Get nodes」命令、確認您可以連線至所需的Kubernetes叢集。
-
使用標準安裝步驟、從遠端機器完成部署。