與Trident營運者一起部署
您可以使用Trident運算子來部署Astra Trident。
有關Astra Trident的重要資訊22.10
*在升級至Astra Trident 22.10*之前、您必須先閱讀下列重要資訊
<strong>關於Astra Trident 22.10</strong>的重要資訊
|
Trident營運者部署選項
您可以使用下列兩種方式之一來部署Trident運算子:
-
使用Trident "掌舵表":Helm圖表可部署Trident運算子、並在單一步驟中安裝Trident。
-
手動:Trident提供可用於安裝運算子及建立相關物件的檔案。
-
對於執行Kubernetes 1.24或更低層級的叢集、請使用 "bunder_pre_1_25.yaml"。
-
對於執行Kubernetes 1.25或更新版本的叢集、請使用 "bunder_POST_1_25.yaml"。
-
如果您尚未熟悉 "基本概念"現在正是這麼做的好時機。 |
驗證先決條件
若要部署Astra Trident、必須符合下列先決條件:
-
您擁有執行支援Kubernetes版本之Kubernetes叢集的完整權限。檢閱 "需求"。
-
您可以存取支援的NetApp儲存系統。
-
您可以從所有Kubernetes工作節點掛載磁碟區。
-
您有一部Linux主機
kubectl
(或oc
(如果您使用OpenShift)已安裝並設定為管理您要使用的Kubernetes叢集。 -
您已設定
KUBECONFIG
指向Kubernetes叢集組態的環境變數。 -
您已啟用 "具備Astra Trident所需的閘道"。
-
如果您使用Kubernetes搭配Docker Enterprise、 "請依照他們的步驟啟用CLI存取"。
您知道嗎?太棒了!讓我們開始吧。
部署Trident操作員、並使用Helm安裝Astra Trident
使用Helm執行列出的步驟來部署Trident運算子。
除了上述先決條件之外、若要使用Helm部署Trident運算子、您還需要下列項目:
-
Helm版本3
-
新增Trident的Helm儲存庫:
helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
-
使用
helm install
命令並指定部署名稱。請參閱下列範例:helm install <name> netapp-trident/trident-operator --version 22.10.0 --create-namespace --namespace <trident-namespace>
如果您已經為Trident建立命名空間 --create-namespace
參數不會建立額外的命名空間。
安裝期間有兩種傳遞組態資料的方法:
-
--values
(或-f
):指定具有覆寫的Yaml檔案。這可以多次指定、最右邊的檔案會優先。 -
--set
:在命令行中指定覆蓋。
例如、變更的預設值 debug`請執行下列步驟 `--set
命令:
helm install <name> netapp-trident/trident-operator --version 22.10.0 --create-namespace --namespace --set tridentDebug=true
。 values.yaml
檔案是Helm圖表的一部分、提供金鑰清單及其預設值。
helm list
顯示安裝的詳細資料、例如名稱、命名空間、圖表、狀態、 應用程式版本、修訂編號等。
手動部署Trident運算子並安裝Trident
執行所列步驟、手動部署Trident運算子。
步驟1:判斷Kubernetes叢集的資格
首先您需要登入Linux主機、然後確認它正在管理_運作_、 "支援的Kubernetes叢集" 您擁有必要的權限。
使用OpenShift、使用 oc 而非 kubectl 在以下所有範例中、請先執行*系統:admin*登入 oc login -u system:admin 或 oc login -u kube-admin 。
|
若要驗證Kubernetes版本、請執行下列命令:
kubectl version
若要查看您是否具有Kubernetes叢集管理員權限、請執行下列命令:
kubectl auth can-i '*' '*' --all-namespaces
若要驗證是否可以從Docker Hub啟動使用映像的Pod、並透過Pod網路連線至儲存系統、請執行下列命令:
kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \ ping <management IP>
步驟2:下載並設定營運者
從21.01開始、Trident運算子就是叢集範圍。若要使用Trident運算子來安裝Trident、必須建立 TridentOrchestrator 自訂資源定義(CRD)和定義其他資源。在安裝Astra Trident之前、您應該先執行這些步驟來設定操作員。
|
-
請從下載並擷取最新版本的Trident安裝程式套件 "GitHub的_Assets區段"。
wget https://github.com/NetApp/trident/releases/download/v22.10.0/trident-installer-22.10.0.tar.gz tar -xf trident-installer-22.10.0.tar.gz cd trident-installer
-
使用適當的CRD資訊清單來建立
TridentOrchestrator
客戶需求日然後建立TridentOrchestrator
稍後再自訂資源以產生操作者的安裝。執行下列命令:
kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
之後
TridentOrchestrator
建立客戶需求日之後、請建立下列操作員部署所需的資源:-
營運者的服務帳戶
-
叢集角色和叢集角色繫結至服務帳戶
-
專屬的PodSecurity原則
-
營運者本身
Trident安裝程式包含定義這些資源的資訊清單。根據預設、操作員會部署在中
trident
命名空間。如果是trident
命名空間不存在、請使用下列資訊清單來建立命名空間。
kubectl apply -f deploy/namespace.yaml
-
-
可在非預設名稱空間中部署運算子
trident
命名空間、您應該更新serviceaccount.yaml
、clusterrolebinding.yaml
和operator.yaml
提供清單並產生您的bundle.yaml
。執行下列命令以更新Yaml清單並產生您的
bundle.yaml
使用kustomization.yaml
:kubectl kustomize deploy/ > deploy/bundle.yaml
執行下列命令以建立資源並部署營運者:
kubectl create -f deploy/bundle.yaml
-
若要在部署後驗證操作員的狀態、請執行下列步驟:
kubectl get deployment -n <operator-namespace> NAME READY UP-TO-DATE AVAILABLE AGE trident-operator 1/1 1 1 3m
kubectl get pods -n <operator-namespace> NAME READY STATUS RESTARTS AGE trident-operator-54cb664d-lnjxh 1/1 Running 0 3m
營運者部署成功建立一個在叢集中其中一個工作節點上執行的Pod。
Kubernetes叢集中只應有*一個運算子執行個體*。請勿建立Trident營運者的多個部署。 |
步驟3:建立 TridentOrchestrator
並安裝Trident
您現在可以使用運算子來安裝Astra Trident!這需要建立 TridentOrchestrator
。Trident安裝程式隨附建立的範例定義 TridentOrchestrator
。這會啟動中的安裝 trident
命名空間。
kubectl create -f deploy/crds/tridentorchestrator_cr.yaml tridentorchestrator.trident.netapp.io/trident created kubectl describe torc trident Name: trident Namespace: Labels: <none> Annotations: <none> API Version: trident.netapp.io/v1 Kind: TridentOrchestrator ... Spec: Debug: true Namespace: trident Status: Current Installation Params: IPv6: false Autosupport Hostname: Autosupport Image: netapp/trident-autosupport:22.10 Autosupport Proxy: Autosupport Serial Number: Debug: true Image Pull Secrets: Image Registry: k8sTimeout: 30 Kubelet Dir: /var/lib/kubelet Log Format: text Silence Autosupport: false Trident Image: netapp/trident:21.04.0 Message: Trident installed Namespace: trident Status: Installed Version: v21.04.0 Events: Type Reason Age From Message ---- ------ ---- ---- -------Normal Installing 74s trident-operator.netapp.io Installing Trident Normal Installed 67s trident-operator.netapp.io Trident installed
Trident運算子可讓您使用中的屬性、自訂Astra Trident的安裝方式 TridentOrchestrator
規格請參閱 "自訂您的Trident部署"。
的狀態 TridentOrchestrator
指出安裝是否成功、並顯示安裝的Trident版本。
狀態 | 說明 |
---|---|
安裝 |
操作員正在使用此工具安裝Astra Trident |
已安裝 |
Astra Trident已成功安裝。 |
正在解除安裝 |
因為、操作者正在解除安裝Astra Trident |
已解除安裝 |
Astra Trident已解除安裝。 |
失敗 |
營運者無法安裝、修補、更新或解除安裝Astra Trident;營運者將自動嘗試從此狀態恢復。如果此狀態持續存在、您將需要疑難排解。 |
正在更新 |
營運者正在更新現有的安裝。 |
錯誤 |
。 |
安裝期間的狀態 TridentOrchestrator
變更來源 Installing
至 Installed
。如果您觀察到 Failed
狀態且操作員無法自行恢復、您應該檢查操作員的記錄。請參閱 "疑難排解" 區段。
您可以查看已建立的Pod、確認Astra Trident安裝是否已完成:
kubectl get pod -n trident NAME READY STATUS RESTARTS AGE trident-csi-7d466bf5c7-v4cpw 5/5 Running 0 1m trident-csi-mr6zc 2/2 Running 0 1m trident-csi-xrp7w 2/2 Running 0 1m trident-csi-zh2jt 2/2 Running 0 1m trident-operator-766f7b8658-ldzsv 1/1 Running 0 3m
您也可以使用 tridentctl
檢查安裝的Astra Trident版本。
./tridentctl -n trident version +----------------+----------------+ | SERVER VERSION | CLIENT VERSION | +----------------+----------------+ | 21.04.0 | 21.04.0 | +----------------+----------------+
現在您可以繼續建立後端。請參閱 "部署後工作"。
如需部署期間的疑難排解問題、請參閱 "疑難排解" 區段。 |