Skip to main content
Kubernetes clusters
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

Google Cloud 中的 Kubernetes 集群的要求

贡献者

您可以使用BlueXP在Google中添加和管理受管Google Kubernetes Engine (GKEE)集群和自管Kubernetes集群。在将集群添加到BlueXP之前、请确保满足以下要求。

备注 本主题使用 Kubernetes cluster ,其中 GKE- 和自管理 Kubernetes 集群的配置相同。在配置不同的位置指定集群类型。

要求

Astra Trident

需要使用四个最新版本的 Astra Trident 之一。您可以直接从BlueXP安装或升级Astra Trident。您应该 "查看前提条件" 安装 Astra Trident 之前

Cloud Volumes ONTAP

Cloud Volumes ONTAP 必须与Kubernetes集群位于同一租户帐户、工作空间和连接器下的BlueXP中。 "有关配置步骤,请转至 Astra Trident 文档"

BlueXP连接器

必须使用所需权限在 Google 中运行 Connector 。 在下方了解更多信息

网络连接

Kubernetes 集群和 Connector 之间以及 Kubernetes 集群和 Cloud Volumes ONTAP 之间需要网络连接。 在下方了解更多信息

RBAC 授权

无论是否使用Active Directory、BlueXP都支持启用了RBAC的集群。必须在每个GKE集群上授权BlueXP Connector角色。 在下方了解更多信息

准备连接器

要发现和管理Kubernetes集群、需要使用Google中的BlueXP Connector。您需要创建新的 Connector 或使用具有所需权限的现有 Connector 。

创建新的 Connector

按照以下链接之一中的步骤进行操作。

将所需权限添加到现有 Connector (以发现受管 GKEE 集群)

如果要发现受管 GKEE 集群,您可能需要修改 Connector 的自定义角色以提供权限。

步骤
  1. 在中 "云控制台"下,转到 * 角色 * 页面。

  2. 使用页面顶部的下拉列表,选择包含要编辑的角色的项目或组织。

  3. 单击一个自定义角色。

  4. 单击 * 编辑角色 * 以更新角色的权限。

  5. 单击 * 添加权限 * 向角色添加以下新权限。

    container.clusters.get
    container.clusters.list
  6. 单击 * 更新 * 以保存已编辑的角色。

查看网络连接要求

您需要在 Kubernetes 集群和 Connector 之间以及 Kubernetes 集群与为集群提供后端存储的 Cloud Volumes ONTAP 系统之间提供网络连接。

  • 每个 Kubernetes 集群都必须与 Connector 建立入站连接

  • 此连接器必须通过端口 443 与每个 Kubernetes 集群建立出站连接

提供此连接的最简单方法是,将连接器和 Cloud Volumes ONTAP 部署在与 Kubernetes 集群相同的 VPC 中。否则,您需要在不同的 VPC 之间设置对等连接。

以下示例显示了同一 VPC 中的每个组件。

AKS Kubernetes 集群及其与同一 VPC 中的连接和 Cloud Volumes ONTAP 的架构图。

设置 RBAC 授权

RBAC 验证仅在启用了 Active Directory ( AD )的 Kubernetes 集群上进行。不带 AD 的 Kubernetes 集群将自动通过验证。

您需要在每个 Kubernetes 集群上授权 Connector 角色,以便 Connector 可以发现和管理集群。

备份和还原

备份和还原只需要基本授权。

添加存储类

要使用BlueXP添加存储类并监控集群中的后端更改、需要扩展授权。

安装 Astra Trident

要安装Astra Trident、您需要为BlueXP提供完全授权。

备注 安装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>
  • 在上的服务帐户详细信息中 "云控制台"

    Cloud Console 中服务帐户详细信息的屏幕截图。

步骤

创建集群角色和角色绑定。

  1. 您可以根据需要自定义授权。

    备份 / 还原

    添加基本授权,以便为 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
    安装{\f270通过}{\f151。}

    使用命令行提供完全授权并启用BlueXP以安装Astra Trident。

    kubectl create clusterrolebinding test --clusterrole cluster-admin --user <Unique ID>
  2. 将配置应用于集群。

    kubectl apply -f <file-name>