手動部署Trident操作員(標準模式)
您可以手動部署Trident操作員來安裝Trident。此程序適用於Trident所需的容器鏡像未儲存在私人鏡像倉庫中的安裝情況。如果您確實擁有私有鏡像倉庫,請使用"離線部署流程"。
關於Trident25.06的關鍵訊息
*您必須閱讀以下關於Trident的重要資訊。 *
關於Trident的關鍵訊息
-
Trident現已支援 Kubernetes 1.34。在升級 Kubernetes 之前先升級Trident 。
-
Trident嚴格強制要求在 SAN 環境中使用多路徑配置,建議值為 `find_multipaths: no`在 multipath.conf 檔案中。
使用非多路徑配置或使用 `find_multipaths: yes`或者 `find_multipaths: smart`multipath.conf 檔案中的值會導致掛載失敗。 Trident建議使用 `find_multipaths: no`自 21.07 版本發布以來。
手動部署Trident操作員並安裝Trident
審查"安裝概述"確保您已滿足安裝先決條件並為您的環境選擇了正確的安裝選項。
在開始安裝之前,請登入 Linux 主機並驗證它是否正在管理一個正常運作的伺服器。"支援的 Kubernetes 集群"並且您擁有必要的權限。
|
|
使用 OpenShift 時,請 oc`而不是 `kubectl`在以下所有範例中,請先以 system:admin 身分登錄,方法是執行下列命令。 `oc login -u system:admin`或者 `oc login -u kube-admin。
|
Details
-
請驗證您的 Kubernetes 版本:
kubectl version
-
驗證叢集管理員權限:
kubectl auth can-i '*' '*' --all-namespaces
-
驗證您是否可以啟動使用 Docker Hub 映像的 pod,並透過 pod 網路存取您的儲存系統:
kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \ ping <management IP>
步驟 1:下載Trident安裝包
Trident安裝套件包含部署Trident操作員和安裝Trident所需的一切。從下列位置下載並解壓縮最新版本的Trident安裝程序"GitHub 上的 Assets 部分"。
wget https://github.com/NetApp/trident/releases/download/v25.06.0/trident-installer-25.06.0.tar.gz tar -xf trident-installer-25.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操作員
Trident安裝程式提供了一個捆綁文件,可用於安裝操作符並建立關聯物件。該捆綁檔案提供了一種簡單的方法來部署操作員並使用預設配置安裝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`命名空間,更新 `serviceaccount.yaml,clusterrolebinding.yaml`和 `operator.yaml`並使用以下命令生成您的捆綁文件 `kustomization.yaml。-
創建 `kustomization.yaml`使用以下命令,其中 <bundle.yaml> 為 `bundle_pre_1_25.yaml`或者 `bundle_post_1_25.yaml`根據您的 Kubernetes 版本。
cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
-
使用以下指令編譯捆綁包,其中 <bundle.yaml> 為 `bundle_pre_1_25.yaml`或者 `bundle_post_1_25.yaml`根據您的 Kubernetes 版本。
kubectl kustomize deploy/ > deploy/<bundle.yaml>
-
-
建立資源並部署操作員:
kubectl create -f deploy/<bundle.yaml>
-
確認操作員、部署和副本集已建立。
kubectl get all -n <operator-namespace>
|
|
Kubernetes 叢集中應該只有*一個*操作員實例。不要建立多個Trident操作員部署。 |
步驟 4:創建 `TridentOrchestrator`並安裝Trident
現在您可以創建 `TridentOrchestrator`並安裝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
nodePrep:
- iscsi
Status:
Current Installation Params:
IPv6: false
Autosupport Hostname:
Autosupport Image: netapp/trident-autosupport:25.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:25.06.0
Message: Trident installed Namespace: trident
Status: Installed
Version: v25.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版本。安裝過程中,狀態 `TridentOrchestrator`變化來自 `Installing`到 `Installed。如果你觀察 `Failed`狀態異常且操作員無法自行恢復,"查看日誌" 。
| 地位 | 描述 |
|---|---|
安裝 |
操作員正在使用此方法安裝Trident 。 |
已安裝 |
Trident已成功安裝。 |
解除安裝 |
操作員正在卸載Trident,因為 |
已解除安裝 |
Trident已卸載。 |
失敗的 |
操作員無法安裝、修補、更新或解除安裝Trident;操作員將自動嘗試從此狀態復原。如果這種情況持續存在,則需要進行故障排除。 |
正在更新 |
操作員正在更新現有設備。 |
錯誤 |
這 `TridentOrchestrator`未使用。已經存在了另一個。 |
使用 pod 建立狀態
您可以透過查看已建立的 pod 的狀態來確認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`檢查已安裝的Trident版本。
./tridentctl -n trident version +----------------+----------------+ | SERVER VERSION | CLIENT VERSION | +----------------+----------------+ | 25.06.0 | 25.06.0 | +----------------+----------------+