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 クラスタを検出する場合は、コネクタのカスタムロールを変更して権限を付与する必要があります。
-
インチ "Cloud Console の略"をクリックし、 * Roles * ページに移動します。
-
ページ上部のドロップダウンリストを使用して、編集するロールを含むプロジェクトまたは組織を選択します。
-
カスタムロールをクリックします。
-
役割の権限を更新するには、 * 役割の編集 * をクリックします。
-
[ 権限の追加 *] をクリックして、次の新しい権限を役割に追加します。
container.clusters.get container.clusters.list
-
[ 更新( Update ) ] をクリックして、編集したロールを保存する。
ネットワーク要件を確認します
Kubernetes クラスタとコネクタの間、および Kubernetes クラスタとクラスタにバックエンドストレージを提供する Cloud Volumes ONTAP システムとの間にネットワーク接続を提供する必要があります。
-
各 Kubernetes クラスタがコネクタからインバウンド接続を確立している必要があります
-
コネクタには、ポート 443 経由で各 Kubernetes クラスタへのアウトバウンド接続が必要です
この接続を確立する最も簡単な方法は、 Kubernetes クラスタと同じ VPC にコネクタと Cloud Volumes ONTAP を導入することです。それ以外の場合は、異なる VPC 間にピア接続を設定する必要があります。
以下は、同じ VPC 内の各コンポーネントの例です。
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 の略"。
クラスタロールとロールバインドを作成します。
-
要件に基づいて承認をカスタマイズできます。
バックアップ / リストア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>