Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Google Cloud の Kubernetes クラスタの要件

共同作成者

管理対象のGoogle Kubernetes Engine(GKE)クラスタと、BlueXPを使用してGoogleで自己管理型Kubernetesクラスタを追加および管理できます。BlueXPにクラスタを追加する前に'次の要件が満たされていることを確認します

メモ このトピックでは、 _Kubernetes cluster_where 構成は、 GKE クラスタと自己管理型 Kubernetes クラスタで同じです。クラスタタイプは設定が異なる場所で指定します。

要件

Astra Trident

最新バージョンの 4 つの Astra Trident が必要です。Astra Tridentは、BlueXPから直接インストールまたはアップグレードできます。お勧めします "前提条件を確認します" Astra Trident をインストールする前に

Cloud Volumes ONTAP

Cloud Volumes ONTAP は、Kubernetesクラスタと同じテナンシーアカウント、ワークスペース、コネクタを使用してBlueXPに配置する必要があります。 "設定手順については、 Astra Trident のドキュメントを参照してください"

BlueXPコネクタ

必要な権限を持つ Connector が Google で実行されている必要があります。 詳細は以下をご覧ください

ネットワーク接続

Kubernetes クラスタとコネクタの間、および Kubernetes クラスタと Cloud Volumes ONTAP の間にはネットワーク接続が必要です。 詳細は以下をご覧ください

RBAC 許可

BlueXPは、Active Directoryを使用するかどうかに関係なく、RBAC対応のクラスタをサポートしています。BlueXPコネクタの役割は、各GKEクラスタで許可されている必要があります。 詳細は以下をご覧ください

コネクタを準備します

Kubernetesクラスタを検出および管理するには、GoogleのBlueXPコネクタが必要です。新しいコネクターを作成するか、必要な権限を持つ既存のコネクターを使用する必要があります。

新しいコネクターを作成します

次のリンクのいずれかの手順に従います。

既存のコネクタに必要な権限を追加する(管理対象の GKE クラスタを検出するため)

管理対象 GKE クラスタを検出する場合は、コネクタのカスタムロールを変更して権限を付与する必要があります。

手順
  1. インチ "Cloud Console の略"をクリックし、 * Roles * ページに移動します。

  2. ページ上部のドロップダウンリストを使用して、編集するロールを含むプロジェクトまたは組織を選択します。

  3. カスタムロールをクリックします。

  4. 役割の権限を更新するには、 * 役割の編集 * をクリックします。

  5. [ 権限の追加 *] をクリックして、次の新しい権限を役割に追加します。

    container.clusters.get
    container.clusters.list
  6. [ 更新( Update ) ] をクリックして、編集したロールを保存する。

ネットワーク要件を確認します

Kubernetes クラスタとコネクタの間、および Kubernetes クラスタとクラスタにバックエンドストレージを提供する Cloud Volumes ONTAP システムとの間にネットワーク接続を提供する必要があります。

  • 各 Kubernetes クラスタがコネクタからインバウンド接続を確立している必要があります

  • コネクタには、ポート 443 経由で各 Kubernetes クラスタへのアウトバウンド接続が必要です

この接続を確立する最も簡単な方法は、 Kubernetes クラスタと同じ VPC にコネクタと Cloud Volumes ONTAP を導入することです。それ以外の場合は、異なる VPC 間にピア接続を設定する必要があります。

以下は、同じ VPC 内の各コンポーネントの例です。

AKS の Kubernetes クラスタのアーキテクチャ図と、同じ VPC 内のコネクタと Cloud Volumes ONTAP への接続。

RBAC 許可をセットアップします

RBAC の検証は、 Active Directory ( AD )が有効になっている Kubernetes クラスタでのみ実行されます。AD を使用しない Kubernetes クラスタは、検証に自動的に合格します。

コネクタがクラスタを検出して管理できるように、各 Kubernetes クラスタで Connector ロールを承認する必要があります。

バックアップとリストア

バックアップとリストアに必要なのは、基本的な許可だけです。

ストレージクラスを追加する

BlueXPを使用してストレージクラスを追加し、バックエンドへの変更がないかクラスタを監視するには、拡張された許可が必要です。

Astra Trident をインストールします

BlueXPがAstra Tridentをインストールするためには、完全な権限を付与する必要があります。

メモ Astra Tridentをインストールすると、BlueXPはAstra Tridentバックエンドと、Astra Tridentのクレデンシャルを含むKubernetesシークレットをインストールして、ストレージクラスタと通信する必要があります。
作業を開始する前に

を設定します subjects: name: YAMLファイルで、BlueXPの一意のIDを知っている必要があります。

一意の ID は、次の 2 つの方法のいずれかで確認できます。

  • コマンドを使用します。

    gcloud iam service-accounts list
    gcloud iam service-accounts describe <service-account-email>
  • のサービスアカウントの詳細で確認します "Cloud Console の略"

    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
    Tridentのインストール

    コマンドラインを使用して完全な認証を行い、BlueXPでAstra Tridentをインストールできるようにします。

    kubectl create clusterrolebinding test --clusterrole cluster-admin --user <Unique ID>
  2. クラスタに構成を適用します。

    kubectl apply -f <file-name>