Google Distributed Cloud(GDC)エアギャップを使用すると、GDC 上の GKE を使用して、Kubernetes クラスタを作成した後に管理できます。このサービスを使用すると、次のワークフローでコンテナ ワークロードの要件の変化に対応し、既存のクラスタノードを維持できます。
共有クラスタをプロジェクトに接続して切断する: クラスタの作成後に共有クラスタを複数のプロジェクトに接続して切断し、共有クラスタのワークロードのスコープを変更します。
組織内のクラスタを表示する: 組織内のクラスタを一覧表示して、コンテナ ワークロードで使用可能なものを追跡します。
Kubernetes バージョンを一覧表示する: クラスタの Kubernetes バージョンを表示して、最新の Kubernetes リリースに対応するクラスタの機能を確認します。
更新可能なクラスタ プロパティを表示する:
Clusterカスタム リソース定義内で変更可能なプロパティを表示します。
このドキュメントは、複数のプロジェクトにまたがるクラスタでホストされているコンテナ ワークロードを管理するプラットフォーム管理者グループ内の IT 管理者と、単一のプロジェクト内でアプリケーション ワークロードの作成を担当するアプリケーション オペレーター グループ内のデベロッパーを対象としています。詳細については、GDC のエアギャップ環境のユーザー グループのドキュメントをご覧ください。
始める前に
このドキュメントのタスクを完了するには、次のリソースとロールが必要です。
共有 Kubernetes クラスタでノードプールを表示して管理するには、組織の IAM 管理者に次のロールの付与を依頼してください。
- ユーザー クラスタ管理者(
user-cluster-admin) - ユーザー クラスタ ノード閲覧者(
user-cluster-node-viewer)
これらのロールはプロジェクト Namespace にバインドされていません。
- ユーザー クラスタ管理者(
標準 Kubernetes クラスタでノードプールを表示して管理するには、組織の IAM 管理者に Standard Cluster 管理者(
standard-cluster-admin)ロールの付与を依頼してください。このロールはプロジェクトの Namespace にバインドされます。Kubernetes クラスタに対してコマンドを実行するには、次のリソースがあることを確認してください。
Kubernetes クラスタ名を確認するか、プラットフォーム管理者グループのメンバーにクラスタ名を確認します。
まだ Kubernetes クラスタの kubeconfig ファイルがない場合は、ログインして生成します。
Kubernetes クラスタの kubeconfig パスを使用して、これらの手順の
KUBERNETES_CLUSTER_KUBECONFIGを置き換えます。
プロジェクト階層内のクラスタを移動する
プロジェクトは、サービス インスタンスの論理グループ化を提供します。共有 Kubernetes クラスタを GDC プロジェクト階層に追加または削除して、サービスを適切にグループ化できます。標準クラスタは単一のプロジェクトにのみスコープ設定されているため、プロジェクト階層内で移動することはできません。
プロジェクトを共有クラスタに接続する
GDC コンソールから共有クラスタを作成する場合は、コンテナ ワークロードを正常にデプロイする前に、少なくとも 1 つのプロジェクトを関連付ける必要があります。既存のクラスタにプロジェクトを追加する必要がある場合は、次の手順を行います。
- ナビゲーション メニューで、[Kubernetes Engine] > [クラスタ] を選択します。
- クラスタのリストでクラスタをクリックして、[クラスタの詳細] ページを開きます。
- [プロジェクトを接続] を選択します。
- プロジェクト リストから追加する利用可能なプロジェクトを選択します。[保存] をクリックします。
共有クラスタからプロジェクトを切り離す
既存の共有クラスタからプロジェクトを切り離すには、次の操作を行います。
- ナビゲーション メニューで、[Kubernetes Engine] > [クラスタ] を選択します。
- クラスタのリストでクラスタをクリックして、[クラスタの詳細] ページを開きます。
クラスタから切り離すプロジェクトの delete [切り離し] をクリックします。
組織内のすべてのクラスタを表示する
組織で使用可能なすべての Kubernetes クラスタ(ステータス、Kubernetes バージョン、その他の詳細を含む)を表示できます。
Kubernetes クラスタはゾーンリソースであるため、ゾーンごとにクラスタを一覧表示することしかできません。
コンソール
ナビゲーション メニューで、[Kubernetes Engine] > [クラスタ] を選択します。
組織内の利用可能なすべての共有クラスタとそのステータスなどの情報が表示されます。

gdcloud
組織内のゾーンで使用可能な共有クラスタを一覧表示します。
gdcloud clusters list出力は次のようになります。
CLUSTERREF.NAME READINESS.STATE TYPE CURRENTVERSION.USERCLUSTERVERSION CURRENTVERSION.SUPPORT.STATUS user-vm-1 Ready user 1.15.0-gdch.394225-1.28.15-gke.1200 In Support user-vm-2 Ready user 1.15.0-gdch.394225-1.29.12-gke.800 In Support
API
組織内のゾーンで使用可能な Kubernetes クラスタを一覧表示します。
kubectl get clusters.cluster.gdc.goog -n KUBERNETES_CLUSTER_NAMESPACE \ --kubeconfig MANAGEMENT_API_SERVER次のように置き換えます。
MANAGEMENT_API_SERVER: ゾーン API サーバーの kubeconfig パス。ターゲット ゾーンの API サーバーの kubeconfig ファイルをまだ生成していない場合は、ログインで詳細を確認してください。KUBERNETES_CLUSTER_NAMESPACE: クラスタの Namespace。共有クラスタの場合は、platformNamespace を使用します。標準クラスタの場合は、クラスタのプロジェクト Namespace を使用します。
出力は次のようになります。
NAME STATE K8S VERSION user-vm-1 Running 1.25.10-gke.2100 user-test Running 1.26.5-gke.2100
クラスタで使用可能な Kubernetes バージョンを一覧表示する
GDC ゾーンで使用可能な Kubernetes バージョンを一覧表示して、クラスタでアクセスできる Kubernetes 機能を検証できます。
ゾーンで使用可能な Kubernetes バージョンを一覧表示します。
kubectl get userclustermetadata.upgrade.private.gdc.goog \ -o=custom-columns=K8S-VERSION:.spec.kubernetesVersion \ --kubeconfig MANAGEMENT_API_SERVERMANAGEMENT_API_SERVERは、クラスタのゾーン API サーバーの kubeconfig ファイルに置き換えます。出力は次のようになります。
K8S-VERSION 1.25.10-gke.2100 1.26.5-gke.2100 1.27.4-gke.500
更新可能なプロパティを表示する
Kubernetes クラスタごとに、作成後に変更できるプロパティのセットがあります。変更できるのは、Cluster カスタム リソースの spec にある変更可能なプロパティのみです。spec のすべてのプロパティが、クラスタのプロビジョニング後に更新できるわけではありません。更新可能なプロパティを表示するには、次の操作を行います。
コンソール
ナビゲーション メニューで、[Kubernetes Engine] > [クラスタ] を選択します。
Kubernetes クラスタのリストで、クラスタ名をクリックしてプロパティを表示します。
編集可能なプロパティには、edit [編集] アイコンが表示されます。
kubectl
Cluster仕様のプロパティのリストと、各プロパティに対応する有効な値を表示します。kubectl explain clusters.cluster.gdc.goog.spec \ --kubeconfig MANAGEMENT_API_SERVERMANAGEMENT_API_SERVERは、ゾーン API サーバーの kubeconfig パスに置き換えます。ターゲット ゾーンの API サーバーの kubeconfig ファイルをまだ生成していない場合は、ログインで詳細を確認してください。出力は次のようになります。
KIND: Cluster VERSION: cluster.gdc.goog/v1 RESOURCE: spec <Object> DESCRIPTION: <empty> FIELDS: clusterNetwork <Object> The cluster network configuration. If unset, the default configurations with pod and service CIDR sizes are used. Optional. Mutable. initialVersion <Object> The GDC air-gapped version information of the user cluster during cluster creation. Optional. Default to use the latest applicable version. Immutable. loadBalancer <Object> The load balancer configuration. If unset, the default configuration with the ingress service IP address size is used. Optional. Mutable. nodePools <[]Object> The list of node pools for the cluster worker nodes. Optional. Mutable. releaseChannel <Object> The release channel a cluster is subscribed to. When a cluster is subscribed to a release channel, GDC maintains the cluster versions for users. Optional. Mutable.これらの設定を更新するには、GDC コンソールまたは kubectl CLI を使用します。たとえば、ノードプールのサイズを変更できます。