部署總覽
您可以使用Trident運算子或搭配部署Astra Trident tridentctl
。
選擇部署方法
若要判斷要使用哪種部署方法、請考慮下列事項:
為什麼我應該使用Trident運算子?
。 "Trident運算子" 是動態管理Astra Trident資源及自動化設定階段的絕佳方法。必須滿足一些先決條件。請參閱 "需求"。
Trident營運者提供以下幾項優點:
自我修復功能
您可以監控Astra Trident安裝、並主動採取措施來處理問題、例如刪除部署或意外修改部署。當操作員設定為部署時 trident-operator-<generated-id>
Pod已建立。此Pod會建立關聯 TridentOrchestrator
含Astra Trident安裝的CR可確保只有一個作用中 TridentOrchestrator
。換句話說、操作人員可確保叢集中只有一個Astra Trident執行個體、並控制其設定、確保安裝具有冪等特性。當對安裝進行變更(例如刪除部署或節點取消設定)時、操作員會分別識別並修正這些變更。
輕鬆更新現有安裝
您可以輕鬆地與營運者一起更新現有的部署。您只需要編輯 TridentOrchestrator
以更新安裝。例如、假設您需要啟用Astra Trident來產生偵錯記錄的案例。
若要這麼做、請修補您的 TridentOrchestrator
以設定 spec.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
並設定spec.uninstall=true
解除安裝Astra Trident。 -
如果您想要移除及使用以營運者為基礎的部署
tridentctl
若要部署Astra Trident、您應該先編輯TridentOrchestrator
並設定spec.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的最簡單方法、適用於大多數不受網路限制的環境。
離線部署
若要執行無線部署、您可以使用 --image-registry
叫用時顯示旗標 tridentctl install
指向私有映像登錄。如果使用Trident運算子進行部署、您也可以指定 spec.imageRegistry
在您的中 TridentOrchestrator
。此登錄應包含 "Trident影像"、 "Trident AutoSupport 的圖片"以及Kubernetes版本所需的csi sidecar映像。
若要自訂部署、您可以使用 tridentctl
產生Trident資源的資訊清單。這包括部署、取消程式集、服務帳戶、以及Astra Trident在安裝過程中所建立的叢集角色。
如需自訂部署的詳細資訊、請參閱下列連結:
|
如果您使用的是私有映像儲存庫、則應該新增 /k8scsi 適用於1.17或之前的Kubernetes版本 /sig-storage 若為1.17之後的Kubernetes版本、則會移至私有登錄URL結尾。使用的私有登錄時 tridentctl 部署、您應該使用 --trident-image 和 --autosupport-image 與搭配使用 --image-registry 。如果您使用Trident運算子來部署Astra Trident、請確定Orchestrator CR包含在內 tridentImage 和 autosupportImage 安裝參數。
|
遠端部署
以下是遠端部署程序的高階概觀:
-
部署適當版本的
kubectl
在您要部署Astra Trident的遠端機器上。 -
從Kubernetes叢集複製組態檔案、然後設定
KUBECONFIG
遠端機器上的環境變數。 -
啟動
kubectl get nodes
命令來驗證您是否可以連線至所需的Kubernetes叢集。 -
使用標準安裝步驟、從遠端機器完成部署。