Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

與Trident營運者一起部署

貢獻者

您可以使用Trident運算子來部署Astra Trident。您可以使用下列兩種方式之一來部署Trident運算子:

  • 使用Trident "掌舵表":Helm圖表可部署Trident運算子、並在單一步驟中安裝Trident。

  • 手動:Trident提供 "bunder.yaml" 可用於安裝運算子及建立關聯物件的檔案。

提示 如果您尚未熟悉 "基本概念"現在正是這麼做的好時機。
您需要的產品

若要部署Astra Trident、必須符合下列先決條件:

  • 您擁有執行Kubernetes 1.19 - 1.24之受支援Kubernetes叢集的完整權限。

  • 您可以存取支援的NetApp儲存系統。

  • 您可以從所有Kubernetes工作節點掛載磁碟區。

  • 您有一部Linux主機 kubectl (或 oc(如果您使用OpenShift)已安裝並設定為管理您要使用的Kubernetes叢集。

  • 您已設定 KUBECONFIG 指向Kubernetes叢集組態的環境變數。

  • 您已啟用 "具備Astra Trident所需的閘道"

  • 如果您使用Kubernetes搭配Docker Enterprise、 "請依照他們的步驟啟用CLI存取"

您知道嗎?太棒了!讓我們開始吧。

部署Trident操作員、並使用Helm安裝Astra Trident

使用Helm執行列出的步驟來部署Trident運算子。

您需要的產品

除了上述先決條件之外、若要使用Helm部署Trident運算子、您還需要下列項目:

  • Kubernetes 1.19 - 1.24

  • Helm版本3

步驟
  1. 新增Trident的Helm儲存庫:

    helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
  2. 使用 helm install 命令並指定部署名稱。請參閱下列範例:

    helm install <release-name> netapp-trident/trident-operator --version 22.4.0 --create-namespace <trident-namespace>
    註 如果您已經為Trident建立命名空間 --create-namespace 參數不會建立額外的命名空間。

安裝期間有兩種傳遞組態資料的方法:

  • --values (或 -f):指定具有覆寫的Yaml檔案。這可以多次指定、最右邊的檔案會優先。

  • --set:在命令行中指定覆蓋。

例如、變更的預設值 debug`請執行下列步驟 `--set 命令:

helm install <name> netapp-trident/trident-operator --version 22.7.0 --set tridentDebug=true

values.yaml 檔案是Helm圖表的一部分、提供金鑰清單及其預設值。

helm list 顯示安裝的詳細資料、例如名稱、命名空間、圖表、狀態、 應用程式版本、修訂編號等。

手動部署Trident運算子

執行所列步驟、手動部署Trident運算子。

步驟1:判斷Kubernetes叢集的資格

首先您需要登入Linux主機、然後確認它正在管理_運作_、 "支援的Kubernetes叢集" 您擁有必要的權限。

註 使用OpenShift、使用 oc 而非 kubectl 在以下所有範例中、請先執行*系統:admin*登入 oc login -u system:adminoc 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之前、您應該先執行這些步驟來設定操作員。
  1. 請從下載並擷取最新版本的Trident安裝程式套件 "GitHub的_Assets區段"

    wget https://github.com/NetApp/trident/releases/download/v22.04.0/trident-installer-22.04.0.tar.gz
    tar -xf trident-installer-22.04.0.tar.gz
    cd trident-installer
  2. 使用適當的CRD資訊清單來建立 TridentOrchestrator 客戶需求日然後建立 TridentOrchestrator 稍後再自訂資源以產生操作者的安裝。

    執行下列命令:

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. 之後 TridentOrchestrator 建立客戶需求日之後、請建立下列操作員部署所需的資源:

    • 營運者的服務帳戶

    • 叢集角色和叢集角色繫結至服務帳戶

    • 專屬的PodSecurity原則

    • 營運者本身

      Trident安裝程式包含定義這些資源的資訊清單。根據預設、操作員會部署在中 trident 命名空間。如果是 trident 命名空間不存在、請使用下列資訊清單來建立命名空間。

    kubectl apply -f deploy/namespace.yaml
  4. 可在非預設名稱空間中部署運算子 trident 命名空間、您應該更新 serviceaccount.yamlclusterrolebinding.yamloperator.yaml 提供清單並產生您的 bundle.yaml

    執行下列命令以更新Yaml清單並產生您的 bundle.yaml 使用 kustomization.yaml

    kubectl kustomize deploy/ > deploy/bundle.yaml

    執行下列命令以建立資源並部署營運者:

    kubectl create -f deploy/bundle.yaml
  5. 若要在部署後驗證操作員的狀態、請執行下列步驟:

    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:21.04
    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 TridentOrchestrator CR.

已安裝

Astra Trident已成功安裝。

正在解除安裝

因為、操作者正在解除安裝Astra Trident
spec.uninstall=true

已解除安裝

Astra Trident已解除安裝。

失敗

營運者無法安裝、修補、更新或解除安裝Astra Trident;營運者將自動嘗試從此狀態恢復。如果此狀態持續存在、您將需要疑難排解。

正在更新

營運者正在更新現有的安裝。

錯誤

TridentOrchestrator 未使用。另一個已經存在。

安裝期間的狀態 TridentOrchestrator 變更來源 InstallingInstalled。如果您觀察到 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        |
+----------------+----------------+

現在您可以繼續建立後端。請參閱 "部署後工作"

提示 如需部署期間的疑難排解問題、請參閱 "疑難排解" 區段。