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

手動部署Trident運算子(標準模式)

貢獻者

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

Astra Trident 24.06 的重要資訊

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

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

  • Astra Trident 嚴格強制在 SAN 環境中使用多重路徑組態、建議在 multipath.conf 檔案中使用值 find_multipaths: no

    在 multipath.conf 檔案中使用非多重路徑組態或使用 find_multipaths: yes`或 `find_multipaths: smart`值、將會導致掛載失敗。Trident 建議自 2007 年 21 月 1 日起使用 `find_multipaths: no

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

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

開始之前

在開始安裝之前、請先登入 Linux 主機、並確認其正在管理工作中的主機、"支援的Kubernetes叢集"以及您是否擁有必要的 Privileges 。

註 使用 OpenShift 時、請使用 oc`而非 `kubectl`後續所有範例、並先執行或 `oc login -u kube-admin`以 * 系統: admin* 的身分登入 `oc login -u system: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所需的一切。從下載並解壓縮最新版本"GitHub的_Assets區段"的Trident 安裝程式。

wget https://github.com/NetApp/trident/releases/download/v24.06.0/trident-installer-24.06.0.tar.gz
tar -xf trident-installer-24.06.0.tar.gz
cd trident-installer

步驟 2 :建立 TridentOrchestrator CRD

建立 TridentOrchestrator`自訂資源定義( CRD )。您稍後將建立 `TridentOrchestrator`自訂資源。使用中適當的 CRD YAML 版本 `deploy/crds`來建立 `TridentOrchestrator CRD 。

kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml

步驟 3 :部署 Trident 運算子

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

  • 對於運行 Kubernetes 1.24 的羣集,請使用 bundle_pre_1_25.yaml

  • 對於運行 Kubernetes 1.25 或更高版本的羣集,請使用 bundle_post_1_25.yaml

開始之前
  • 根據預設, Trident 安裝程式會在命名空間中部署運算子 trident。如果 `trident`命名空間不存在、請使用下列方式建立:

    kubectl apply -f deploy/namespace.yaml
  • 若要在命名空間以外的命名空間中部署運算子 trident,請 clusterrolebinding.yaml`使用更新 `serviceaccount.yaml`及 `operator.yaml`產生套件檔案 `kustomization.yaml

    1. 使用下列命令建立 kustomization.yaml、其中 _Kubernetes <bundle.yaml> 版本為 _ bundle_pre_1_25.yaml 或 `bundle_post_1_25.yaml`以 Kubernetes 版本為基礎。

      cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
    2. 使用以下命令編譯套件(其中 _Kubernetes <bundle.yaml> bundle_pre_1_25.yaml 版本或 `bundle_post_1_25.yaml`基於 Kubernetes 版本)。

      kubectl kustomize deploy/ > deploy/<bundle.yaml>
步驟
  1. 建立資源並部署營運者:

    kubectl create -f deploy/<bundle.yaml>
  2. 確認已建立運算子、部署和複本集。

    kubectl get all -n <operator-namespace>
重要 Kubernetes叢集中只應有*一個運算子執行個體*。請勿建立Trident營運者的多個部署。

步驟 4 :建立 `TridentOrchestrator`並安裝 Trident

您現在可以建立 TridentOrchestrator`並安裝 Astra Trident 。您也可以選擇"自訂您的Trident安裝"使用規格中的屬性 `TridentOrchestrator

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:24.06
    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:24.06.0
  Message:                  Trident installed  Namespace:                trident
  Status:                   Installed
  Version:                  v24.06.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 版本。在安裝期間,從變更 `Installing`為 `Installed`的狀態 `TridentOrchestrator。如果您觀察到 `Failed`狀態、而操作員本身無法恢復、"檢查記錄"

狀態 說明

安裝

駕駛員正在使用此 CR 安裝 Astra Trident TridentOrchestrator

已安裝

Astra Trident已成功安裝。

正在解除安裝

操作員正在解除安裝 Astra Trident 、因為
spec.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 |
+----------------+----------------+
| 24.06.0        | 24.06.0        |
+----------------+----------------+