降級Astra Trident
瞭解降級至舊版Astra Trident的相關步驟。
何時降級
您可能會考慮降級的原因有多種、例如:
-
應變規劃
-
立即修正升級後發現的錯誤
-
相依性問題、不成功和不完整的升級
移至使用CRD的Astra Trident版本時、您應該考慮降級。由於Astra Trident使用CRD來維護狀態、因此所建立的所有儲存實體(後端、儲存類別、PV和Volume快照)都會建立關聯的CRD物件、而非寫入的資料 trident
PV(由舊版Astra Trident使用)。新建立的PV、後端和儲存類別都會維護為CRD物件。
僅嘗試降級使用CRD(19.07及更新版本)執行的Astra Trident版本。如此可確保在降級發生後、可以看到目前Astra Trident版本上執行的作業。
何時不降級
您不應降級至使用的Trident版本 etcd
以維持狀態(19.04及更早版本)。所有以目前Astra Trident版本執行的作業、都不會在降級後反映出來。移回舊版時、無法使用新建立的PV。當您移回舊版時、Astra Trident不會看到對物件所做的變更、例如後端、PV、儲存類別和Volume快照(已建立/更新/刪除)。返回舊版不會中斷已使用舊版建立之PV的存取、除非已升級。
使用業者安裝Astra Trident時的降級程序
對於使用Trident操作員完成的安裝、降級程序會有所不同、不需要使用 tridentctl
。
對於使用Trident營運者完成的安裝、Astra Trident可降級為下列任一項:
-
使用命名空間範圍運算子安裝的版本(20.07 - 20.10)。
-
使用叢集範圍運算子(21.01及更新版本)安裝的版本。
降級至叢集範圍的運算子
若要將Astra Trident降級為使用叢集範圍運算子的版本、請遵循下列步驟。
-
"解除安裝Astra Trident"。除非您想要完全移除現有的安裝、否則請勿刪除客戶需求日。
-
您可以使用與Trident版本相關的運算子資訊清單來刪除Trident運算子。例如、
https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/bundle.yaml
其中vXX.XX
為版本編號(例如v22.10
)和bundle.yaml
為套裝組合Yaml檔案名稱。 -
安裝所需版本的Astra Trident、以繼續降級。請遵循所需版本的說明文件。
降級至命名空間範圍的運算子
本節摘要說明降級至Astra Trident版本所需的步驟、範圍介於20.07到20.10之間、此版本將使用命名空間範圍的運算子來安裝。
-
"解除安裝Astra Trident"。除非您想要完全移除現有的安裝、否則請勿使用CRD。
請確定tridentorchestrator
已刪除。#Check to see if there are any tridentorchestrators present kubectl get torc NAME AGE trident 20h #Looks like there is a tridentorchestrator that needs deleting kubectl delete torc trident tridentorchestrator.trident.netapp.io "trident" deleted
-
您可以使用與Trident版本相關的運算子資訊清單來刪除Trident運算子。例如、
https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/bundle.yaml
其中vXX.XX
為版本編號(例如v22.10
)和bundle.yaml
為套裝組合Yaml檔案名稱。 -
刪除
tridentorchestrator
客戶需求日#Check to see if ``tridentorchestrators.trident.netapp.io`` CRD is present and delete it. kubectl get crd tridentorchestrators.trident.netapp.io NAME CREATED AT tridentorchestrators.trident.netapp.io 2021-01-21T21:11:37Z kubectl delete crd tridentorchestrators.trident.netapp.io customresourcedefinition.apiextensions.k8s.io "tridentorchestrators.trident.netapp.io" deleted
Astra Trident已解除安裝。
-
安裝所需的版本、繼續降級。請遵循所需版本的說明文件。
使用Helm降級
若要降級、請使用 helm rollback
命令。請參閱下列範例:
helm rollback trident [revision #]
使用安裝Astra Trident時的降級程序 tridentctl
如果您使用安裝了Astra Trident `tridentctl`降級程序包括下列步驟。此順序將引導您完成從Astra Trident 21.007移至20.07的降級程序。
|
在開始降級之前、您應該先擷取Kubernetes叢集的快照 etcd 。這可讓您備份Astra Trident客戶需求日的目前狀態。
|
-
請確定使用安裝Trident
tridentctl
。如果您不確定Astra Trident的安裝方式、請執行以下簡單測試:-
列出Trident命名空間中的Pod。
-
識別叢集中執行的Astra Trident版本。您可以使用
tridentctl
或是查看Trident Pod中使用的影像。 -
如果*看不到* A
tridentOrchestrator
(或)tridentprovisioner
(或)名為的Podtrident-operator-xxxxxxxxxx-xxxxx
、Astra Trident 安裝tridentctl
。
-
-
使用現有的解除安裝Astra Trident
tridentctl
二進位。 在這種情況下、您將會以21.07二進位檔解除安裝。tridentctl version -n trident +----------------+----------------+ | SERVER VERSION | CLIENT VERSION | +----------------+----------------+ | 21.07.0 | 21.07.0 | +----------------+----------------+ tridentctl uninstall -n trident INFO Deleted Trident deployment. INFO Deleted Trident daemonset. INFO Deleted Trident service. INFO Deleted Trident secret. INFO Deleted cluster role binding. INFO Deleted cluster role. INFO Deleted service account. INFO Deleted pod security policy. podSecurityPolicy=tridentpods INFO The uninstaller did not delete Trident's namespace in case it is going to be reused. INFO Trident uninstallation succeeded.
-
完成後、請取得所需版本的Trident二進位檔(本範例為20.07)、並使用它來安裝Astra Trident。您可以為產生自訂YAML "自訂安裝" 如有需要。
cd 20.07/trident-installer/ ./tridentctl install -n trident-ns INFO Created installer service account. serviceaccount=trident-installer INFO Created installer cluster role. clusterrole=trident-installer INFO Created installer cluster role binding. clusterrolebinding=trident-installer INFO Created installer configmap. configmap=trident-installer ... ... INFO Deleted installer cluster role binding. INFO Deleted installer cluster role. INFO Deleted installer service account.
降級程序已完成。