コンテナ ワークロードのデプロイを可能にするユーザー クラスタを作成します。
始める前に
ユーザー クラスタの作成に必要な権限を取得するには、組織の IAM 管理者にユーザー クラスタ管理者ロール(user-cluster-admin ロール)を付与するよう依頼してください。
ユーザー クラスタを作成する
ユーザー クラスタの作成に必要な権限を取得するには、IAM 管理者にユーザー クラスタ管理者ロール(user-cluster-admin ロール)の付与を依頼してください。
次の手順を完了して、ユーザー クラスタを作成します。
コンソール
ナビゲーション メニューで [クラスタ] を選択します。
[クラスタを作成] をクリックします。
[名前] フィールドに、ユーザー クラスタの名前を指定します。
GDC クラスタのバージョンを選択します。各バージョンは、個別の Kubernetes バージョンにマッピングされます。
[次へ] をクリックします。
クラスタのネットワーク設定を構成します。クラスタの作成後にこれらのネットワーク設定を変更することはできません。ユーザー クラスタでサポートされているデフォルトのインターネット プロトコルは、インターネット プロトコル バージョン 4(IPv4)のみです。
専用のロードバランサ ノードを作成する場合は、作成するノードの数を入力します。デフォルトでは、ノードはゼロになり、ロードバランサ トラフィックはコントロール ノードを通過します。
使用するサービス CIDR(クラスレス ドメイン間ルーティング)を選択します。ロードバランサなどのデプロイされたサービスには、この範囲から IP アドレスが割り当てられます。
使用する Pod CIDR を選択します。クラスタは、この範囲から Pod と VM に IP アドレスを割り当てます。
[次へ] をクリックします。
ユーザー クラスタ用に自動生成されたデフォルトのノードプールの詳細を確認します。edit [編集] をクリックして、デフォルトのノードプールを変更します。
追加のノードプールを作成するには、[ノードプールを追加] を選択します。デフォルトのノードプールを編集するときや、新しいノードプールを追加するときに、次のオプションを使用してカスタマイズします。
- ノードプールに名前を割り当てます。ノードプールの作成後に名前を変更することはできません。
- ノードプール内に作成するワーカーノードの数を指定します。
ワークロードの要件に最も適したマシンクラスを選択します。次の設定のリストを表示します。
- マシンタイプ
- CPU
- メモリ
[保存] をクリックします。
[作成] をクリックして、ユーザー クラスタを作成します。
API
API を直接使用して新しいユーザー クラスタを作成するには、カスタム リソースを GDC インスタンスに適用します。
Clusterカスタム リソースを作成し、cluster.yamlなどの YAML ファイルとして保存します。apiVersion: cluster.gdc.goog/v1 kind: Cluster metadata: name: CLUSTER_NAME namespace: platform spec: clusterNetwork: podCIDRSize: POD_CIDR serviceCIDRSize: SERVICE_CIDR initialVersion: kubernetesVersion: KUBERNETES_VERSION loadBalancer: ingressServiceIPSize: LOAD_BALANCER_POOL_SIZE nodePools: - machineTypeName: MACHINE_TYPE name: NODE_POOL_NAME nodeCount: NUMBER_OF_WORKER_NODES taints: TAINTS labels: LABELS releaseChannel: channel: UNSPECIFIED次のように置き換えます。
CLUSTER_NAME: クラスタの名前。クラスタ名の末尾を-systemにすることはできません。-system接尾辞は、GDC によって作成されたクラスタ用に予約されています。POD_CIDR: Pod の仮想 IP アドレスが割り当てられるネットワーク範囲のサイズ。未設定の場合、デフォルト値の21が使用されます。SERVICE_CIDR: サービス仮想 IP アドレスが割り振られるネットワーク範囲のサイズ。未設定の場合、デフォルト値の23が使用されます。KUBERNETES_VERSION: クラスタの Kubernetes バージョン(1.26.5-gke.2100など)。構成可能な Kubernetes バージョンを一覧表示するには、クラスタで使用可能な Kubernetes バージョンを一覧表示するをご覧ください。LOAD_BALANCER_POOL_SIZE: ロードバランサ サービスで使用される重複しない IP アドレスプールのサイズ。設定されていない場合は、デフォルト値の20が使用されます。MACHINE_TYPE: ノードプールのワーカーノードのマシンタイプ。構成可能な内容については、使用可能なマシンタイプをご覧ください。NODE_POOL_NAME: ノードプールの名前。NUMBER_OF_WORKER_NODES: ノードプールにプロビジョニングするワーカーノードの数。TAINTS: このノードプールのノードに適用する taint。このフィールドは省略できます。LABELS: このノードプールのノードに適用するラベル。Key-Value ペアのリストが含まれています。このフィールドは省略可能です。
カスタム リソースを GDC インスタンスに適用します。
kubectl apply -f cluster.yaml --kubeconfig ADMIN_CLUSTER_KUBECONFIGADMIN_CLUSTER_KUBECONFIGは、組織管理クラスタの kubeconfig ファイルのパスに置き換えます。
クラスタで使用可能な Kubernetes バージョンを一覧表示する
kubectl CLI を使用して、GDC インスタンスで使用可能な Kubernetes バージョンを一覧表示できます。
kubectl get userclustermetadata.upgrade.private.gdc.goog \
-o=custom-columns=K8S-VERSION:.spec.kubernetesVersion \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG
ADMIN_CLUSTER_KUBECONFIG は、管理クラスタの kubeconfig ファイルのパスに置き換えます。
出力は次のようになります。
K8S-VERSION
1.25.10-gke.2100
1.26.5-gke.2100
1.27.4-gke.500
ユーザー クラスタで GPU リソースをサポートする
GDC は、ユーザー クラスタに NVIDIA グラフィック プロセッシング ユニット(GPU)のサポートを提供し、GPU デバイスをユーザー ワークロードとして実行します。GPU マシンがプロビジョニングされているクラスタでは、GPU サポートがデフォルトで有効になっています。Deep Learning Containers を活用する前に、ユーザー クラスタが GPU デバイスをサポートしていることを確認します。たとえば、Deep Learning Containers を実行する場合は、少なくとも 1 つの GPU ノードを含むユーザー クラスタを作成してください。
ユーザー クラスタは、GDC コンソールまたは API を直接使用して作成できます。関連付けられたコンテナで GPU ワークロードをサポートするように、ユーザー クラスタに GPU マシンをプロビジョニングします。詳細については、ユーザー クラスタを作成するをご覧ください。
サポートされている NVIDIA GPU カード
GDC クラスタは A100 PCIe 80 GB NVIDIA GPU をサポートしています。このサポートを有効にするには、ユーザー クラスタに a2-ultragpu-1g-gdc マシンタイプをプロビジョニングします。