本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

手動部署Trident運算子(離線模式)

貢獻者

您可以手動部署Trident運算子來安裝Astra Trident。此程序適用於將Astra Trident所需的容器映像儲存在私有登錄中的安裝。如果您沒有私有映像登錄、請使用 "標準部署程序"

Astra Trident 23.04 的重要資訊

您必須閱讀下列有關Astra Trident的重要資訊。

關於Astra Trid-功能 的資訊</strong> <strong>
  • Kubernetes 1.27 現在支援 Trident 。升級Kubernetes之前先升級Trident。

  • Astra Trident在SAN環境中嚴格執行多重路徑組態的使用、建議的值為 find_multipaths: no 在多重路徑.conf檔案中。

    使用非多重路徑組態或使用 find_multipaths: yesfind_multipaths: smart 多重路徑.conf檔案中的值會導致掛載失敗。Trident建議使用 find_multipaths: no 自21.07版本以來。

手動部署Trident運算子並安裝Trident

檢閱 "安裝總覽" 為了確保您符合安裝先決條件、並為您的環境選擇正確的安裝選項。

開始之前

登入Linux主機、驗證其是否正在管理正常運作的和 "支援的Kubernetes叢集" 而且您擁有必要的權限。

附註 使用OpenShift時、請在所有範例中使用「oc"而非「kubecll」、然後先執行「ocLogin -u system:admin」或「occ login-u kube-admin」、以*系統:admin*登入。
Details
  1. 驗證Kubernetes版本:

    kubectl version
  2. 驗證叢集管理員權限:

    kubectl auth can-i '*' '*' --all-namespaces
  3. 確認您可以啟動使用Docker Hub映像的Pod、並透過Pod網路連線至儲存系統:

    kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \
      ping <management IP>

步驟1:下載Trident安裝程式套件

Astra Trident安裝程式套件包含部署Trident操作員及安裝Astra Trident所需的一切。從下載並擷取Trident安裝程式的最新版本 "GitHub的_Assets區段"

wget https://github.com/NetApp/trident/releases/download/v23.04.0/trident-installer-23.04.0.tar.gz
tar -xf trident-installer-23.04.0.tar.gz
cd trident-installer

步驟2:建立 TridentOrchestrator 客戶需求日

建立 TridentOrchestrator 自訂資源定義(CRD)。您將建立 TridentOrchestrator 稍後再自訂資源。請使用中適當的CRD Y反 洗錢版本 deploy/crds 以建立 TridentOrchestrator 客戶需求日:

kubectl create -f deploy/crds/<VERSION>.yaml

步驟3:更新操作員中的登錄位置

在中 /deploy/operator.yaml、更新 image: docker.io/netapp/trident-operator:23.04.0 以反映映像登錄的位置。您的 "Trident和csi影像" 可以位於一個登錄或不同的登錄中、但所有的SCSI映像都必須位於同一個登錄中。例如:

  • image: <your-registry>/trident-operator:23.04.0 如果您的映像都位於單一登錄中。

  • image: <your-registry>/netapp/trident-operator:23.04.0 如果Trident映像與您的csi映像位於不同的登錄中。

步驟4:部署Trident運算子

Trident安裝程式會在中部署操作員 trident 命名空間。如果是 trident 命名空間不存在、請使用 kubectl apply -f deploy/namespace.yaml 以建立。

可在非的命名空間中部署運算子 trident 命名空間、更新 serviceaccount.yamlclusterrolebinding.yamloperator.yaml 部署營運者之前。

  1. 建立資源並部署營運者:

    kubectl kustomize deploy/ > deploy/<BUNDLE>.yaml
    附註

    Astra Trident安裝程式提供一個套件檔案、可用來安裝運算子及建立相關的物件。套裝組合檔案是使用預設組態部署操作員及安裝Astra Trident的簡易方法。

    • 對於執行Kubernetes 1.24或更低層級的叢集、請使用 bundle_pre_1_25.yaml

    • 對於執行Kubernetes 1.25或更新版本的叢集、請使用 bundle_post_1_25.yaml

  2. 驗證是否已部署操作員。

    kubectl get deployment -n <operator-namespace>
    
    NAME               READY   UP-TO-DATE   AVAILABLE   AGE
    trident-operator   1/1     1            1           3m
重要 Kubernetes叢集中只應有*一個運算子執行個體*。請勿建立Trident營運者的多個部署。

步驟5:更新中的映像登錄位置 TridentOrchestrator

您的 "Trident和csi影像" 可以位於一個登錄或不同的登錄中、但所有的SCSI映像都必須位於同一個登錄中。更新 deploy/crds/tridentorchestrator_cr.yaml 根據登錄組態新增額外的位置規格。

一個登錄中的映像
imageRegistry: "<your-registry>"
autosupportImage: "<your-registry>/trident-autosupport:23.04"
tridentImage: "<your-registry>/trident:23.04.0"
不同登錄中的映像

您必須附加 sig-storageimageRegistry 使用不同的登錄位置。

imageRegistry: "<your-registry>/sig-storage"
autosupportImage: "<your-registry>/netapp/trident-autosupport:23.04"
tridentImage: "<your-registry>/netapp/trident:23.04.0"

步驟6:建立 TridentOrchestrator 並安裝Trident

您現在可以建立 TridentOrchestrator 並安裝Astra Trident。您也可以選擇進一步 "自訂您的Trident安裝" 使用中的屬性 TridentOrchestrator 規格下列範例顯示Trident與csi映像位於不同登錄中的安裝。

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:
  Autosupport Image:  <your-registry>/netapp/trident-autosupport:23.04
  Debug:              true
  Image Registry:     <your-registry>/sig-storage
  Namespace:          trident
  Trident Image:      <your-registry>/netapp/trident:23.04.0
Status:
  Current Installation Params:
    IPv6:                       false
    Autosupport Hostname:
    Autosupport Image:          <your-registry>/netapp/trident-autosupport:23.04
    Autosupport Proxy:
    Autosupport Serial Number:
    Debug:                      true
    Http Request Timeout:       90s
    Image Pull Secrets:
    Image Registry:       <your-registry>/sig-storage
    k8sTimeout:           30
    Kubelet Dir:          /var/lib/kubelet
    Log Format:           text
    Probe Port:           17546
    Silence Autosupport:  false
    Trident Image:        <your-registry>/netapp/trident:23.04.0
  Message:                Trident installed
  Namespace:              trident
  Status:                 Installed
  Version:                v23.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

驗證安裝

驗證安裝的方法有多種。

使用 TridentOrchestrator 狀態

狀態 TridentOrchestrator 指出安裝是否成功、並顯示安裝的Trident版本。安裝期間的狀態 TridentOrchestrator 變更來源 InstallingInstalled。如果您觀察到 Failed 狀態、而且營運者無法自行恢復、 "檢查記錄"

狀態 說明

安裝

營運者使用此「TridentOrchestrator」CR來安裝Astra Trident。

已安裝

Astra Trident已成功安裝。

正在解除安裝

操作員正在解除安裝Astra Trident、因為是「shpec.uninstall=true」。

已解除安裝

Astra Trident已解除安裝。

失敗

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

正在更新

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

錯誤

不使用「TridentOrchestrator」。另一個已經存在。

使用Pod建立狀態

您可以檢閱建立的Pod狀態、確認是否已完成Astra Trident安裝:

kubectl get pods -n trident

NAME                                       READY   STATUS    RESTARTS   AGE
trident-controller-7d466bf5c7-v4cpw        6/6     Running   0           1m
trident-node-linux-mr6zc                   2/2     Running   0           1m
trident-node-linux-xrp7w                   2/2     Running   0           1m
trident-node-linux-zh2jt                   2/2     Running   0           1m
trident-operator-766f7b8658-ldzsv          1/1     Running   0           3m

使用 tridentctl

您可以使用 tridentctl 檢查安裝的Astra Trident版本。

./tridentctl -n trident version

+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 23.04.0        | 23.04.0      |
+----------------+----------------+