Google Cloud中Kubernetes叢集的需求
您可以使用BlueXP在Google中新增及管理託管的Google Kubernetes Engine(GKE)叢集和自我管理的Kubernetes叢集。在您將叢集新增至BlueXP之前、請先確認符合下列需求。
本主題使用_Kubernetes叢集_、其中GKE和自我管理Kubernetes叢集的組態相同。叢集類型是在組態不同的地方指定。 |
需求
- Astra Trident
-
需要最新版Astra Trident的四種版本之一。您可以直接從BlueXP安裝或升級Astra Trident。您應該 "檢閱先決條件" 安裝Astra Trident之前
- Cloud Volumes ONTAP
-
在BlueXP中、必須使用與Kubernetes叢集相同的租戶帳戶、工作區和Connector。Cloud Volumes ONTAP "如需組態步驟、請前往Astra Trident文件"。
- BlueXP Connector
-
Connector必須以必要權限在Google中執行。 深入瞭解。
- 網路連線能力
-
Kubernetes叢集和Connector之間、以及Kubernetes叢集和Cloud Volumes ONTAP 整個過程之間、都需要網路連線。 深入瞭解。
- RBAC授權
-
BlueXP支援使用及不使用Active Directory的RBAC叢集。每個GKE叢集都必須授權BlueXP Connector角色。 深入瞭解。
準備連接器
需要Google的BlueXP Connector來探索及管理Kubernetes叢集。您需要建立新的Connector、或是使用具有所需權限的現有Connector。
將必要權限新增至現有的Connector(以探索託管GKE叢集)
如果您想要探索託管的GKE叢集、可能需要修改Connector的自訂角色、以提供權限。
-
在中 "雲端主控台"請移至*角色*頁面。
-
使用頁面頂端的下拉式清單、選取包含您要編輯之角色的專案或組織。
-
按一下自訂角色。
-
按一下*編輯角色*以更新角色的權限。
-
按一下「新增權限」、將下列新權限新增至角色。
container.clusters.get container.clusters.list
-
按一下「更新」以儲存編輯過的角色。
檢閱網路需求
您需要在Kubernetes叢集與Connector之間、以及Kubernetes叢集與Cloud Volumes ONTAP 為叢集提供後端儲存功能的支援系統之間、提供網路連線。
-
每個Kubernetes叢集都必須有來自Connector的傳入連線
-
連接器必須透過連接埠443連線至每個Kubernetes叢集
提供這種連線能力的最簡單方法、就是將Connector和Cloud Volumes ONTAP Sfor部署在Kubernetes叢集所在的VPC上。否則、您需要在不同VPC之間設定對等連線。
以下範例顯示同一VPC中的每個元件。
設定RBAC授權
RBAC驗證只會在啟用Active Directory(AD)的Kubernetes叢集上執行。未使用AD的Kubernetes叢集將自動通過驗證。
您需要在每個Kubernetes叢集上授權Connector角色、以便Connector探索及管理叢集。
- 備份與還原
-
備份與還原僅需基本授權。
- 新增儲存類別
-
若要使用BlueXP新增儲存類別、並監控叢集是否有變更後端、則需要擴充授權。
- 安裝Astra Trident
-
您必須提供BlueXP的完整授權、才能安裝Astra Trident。
安裝Astra Trident時、BlueXP會安裝Astra Trident後端和Kubernetes機密、其中包含Astra Trident與儲存叢集通訊所需的認證資料。
以進行設定 subjects: name:
在Yaml檔案中、您需要知道BlueXP的唯一ID。
您可以透過下列兩種方式找到唯一ID:
-
使用命令:
gcloud iam service-accounts list gcloud iam service-accounts describe <service-account-email>
-
在的「服務帳戶詳細資料」中 "雲端主控台"。
建立叢集角色和角色繫結。
-
您可以根據自己的需求自訂授權。
備份/還原新增基本授權以啟用Kubernetes叢集的備份與還原。
更換
subjects: kind:
使用您的使用者名稱和subjects: name:
具有授權服務帳戶的唯一 ID 。apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: cloudmanager-access-clusterrole rules: - apiGroups: - '' resources: - namespaces verbs: - list - watch - apiGroups: - '' resources: - persistentvolumes verbs: - list - watch - apiGroups: - '' resources: - pods - pods/exec verbs: - get - list - watch - apiGroups: - '' resources: - persistentvolumeclaims verbs: - list - create - watch - apiGroups: - storage.k8s.io resources: - storageclasses verbs: - list - apiGroups: - trident.netapp.io resources: - tridentbackends verbs: - list - watch - apiGroups: - trident.netapp.io resources: - tridentorchestrators verbs: - get - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: k8s-access-binding subjects: - kind: User name: apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: cloudmanager-access-clusterrole apiGroup: rbac.authorization.k8s.io
儲存類別新增擴充授權、以使用BlueXP新增儲存類別。
更換
subjects: kind:
使用您的使用者名稱和subjects: user:
具有授權服務帳戶的唯一 ID 。apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: cloudmanager-access-clusterrole rules: - apiGroups: - '' resources: - secrets - namespaces - persistentvolumeclaims - persistentvolumes - pods - pods/exec verbs: - get - list - watch - create - delete - watch - apiGroups: - storage.k8s.io resources: - storageclasses verbs: - get - create - list - watch - delete - patch - apiGroups: - trident.netapp.io resources: - tridentbackends - tridentorchestrators - tridentbackendconfigs verbs: - get - list - watch - create - delete - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: k8s-access-binding subjects: - kind: User name: apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: cloudmanager-access-clusterrole apiGroup: rbac.authorization.k8s.io
Trident 安裝使用命令列提供完整授權、並讓BlueXP安裝Astra Trident。
kubectl create clusterrolebinding test --clusterrole cluster-admin --user <Unique ID>
-
將組態套用至叢集。
kubectl apply -f <file-name>