降級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版本上執行的所有作業。
何時不降級
您不應降級至使用「etcd」來維持狀態的Trident版本(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"。除非您想要完全移除現有的安裝、否則請勿使用CRD。
-
刪除叢集範圍的運算子。為達成此目的、您將需要用於部署營運者的資訊清單。您可以從取得 "Trident GitHub repo"。請務必切換至所需的分公司。
-
安裝所需版本的Astra Trident、以繼續降級。請遵循所需版本的說明文件。
降級至命名空間範圍的運算子
本節摘要說明降級至Astra Trident版本所需的步驟、範圍介於20.07到20.10之間、此版本將使用命名空間範圍的運算子來安裝。
-
"解除安裝Astra Trident"。*除非您想要完全移除現有的安裝、否則請勿刪掉CRD。*請確定刪除了「三線管協調器」。
#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 GitHub repo"。請務必切換至所需的分公司。
-
刪除「TridentOrchestrator」CRD。
#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復原」命令。請參閱下列範例:
$ helm rollback trident [revision #]
使用安裝Astra Trident時的降級程序 tridentctl
如果您使用「tridentctl」來安裝Astra Trident、降級程序會涉及下列步驟。此順序將引導您完成從Astra Trident 21.007移至20.07的降級程序。
在開始降級之前、您應該擷取Kubernetes叢集的「etcd」快照。這可讓您備份Astra Trident客戶需求日的目前狀態。 |
-
請確定使用「tridentctl」安裝Trident。如果您不確定Astra Trident的安裝方式、請執行以下簡單測試:
-
列出Trident命名空間中的Pod。
-
識別叢集中執行的Astra Trident版本。您可以使用「tridentctl」或查看Trident Pod中使用的影像。
-
如果您*沒有看到*「tridentOrchestrator」、(或)「trident置 備程式」、(或)名為「trident - oper-xxxxx-xxxxX」的Pod、則Astra Trident 會安裝「tridentctl」。
-
-
使用現有的「tridentctl」二進位檔來解除安裝Astra Trident。在這種情況下、您將會以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.
降級程序已完成。