ユーザー クラスタを作成する

ユーザー クラスタは、Management Center のコンソールまたは kubectl を使用して作成できます。

いずれの場合も、クラスタがブートストラップされて準備ができるまで最長で 10 分かかります。この間に、次のコマンドを使用してユーザー クラスタのステータスを確認できます。

kubectl get Cluster -n USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG

USER_CLUSTER_NAME は、作成したクラスタの名前に置き換えます。

クラスタのステータスが ready の場合、ユーザー クラスタは正常に作成されていて、管理クラスタに登録されています。ユーザー クラスタを作成したら、Management Center から kubeconfig ファイルをダウンロードできます。

Management Center

  1. Anthos プライベート モード Management Center の [クラスタ] セクションで、[作成] ボタンをクリックして新しい Anthos ユーザー クラスタを作成します。

    空のクラスタページ

  2. [クラスタの構成] ページで新しいユーザー クラスタを構成します。

    クラスタを追加する

クラスタが作成されると、作成されたクラスタが自動的に Anthos プライベート モード Management Center に登録され、直ちにクラスタ ダッシュボードに表示されます。

kubectl

次のコマンドを使用して、管理クラスタに登録する Cluster リソースと NodePool リソースを作成します。

kubectl apply -f USER_CLUSTER_YAML --kubeconfig=ADMIN_KUBECONFIG

以下を置き換えます。

  • USER_CLUSTER_YAML: ユーザー クラスタとノードプールの YAML マニフェスト。ユーザー クラスタと NodePool のサンプル構成ファイルをご覧ください。
  • ADMIN_KUBECONFIG: 管理クラスタの kubeconfig ファイル。

管理クラスタ構成ファイルをユーザー クラスタ構成のベースとして使用する場合は、ユーザー クラスタ構成ファイルで次のフィールドを変更します。

  • 最上位の sshPrivateKeyPathprivateRegistryprivateRegistryConfigPathprivateRegistryTLSCertPath フィールドは削除します。
  • 構成ファイル全体で <cluster-name> が統一されていることを確認します。
  • Cluster.spec.type は user にする必要があります。これは管理クラスタのクラスタタイプとは異なります。
  • Cluster.metadata.namespace は cluster-<cluster-name> にする必要があります。ここで、<cluster-name> は、作成するユーザー クラスタの名前です。
  • Cluster.spec.loadBalancer.vips.controlPlaneVIPCluster.spec.loadBalancer.vips.ingressVIPCluster.spec.loadBalancer.addressPools が他のクラスタの構成ファイルと重複しないようにしてください。
  • Cluster.spec.loadBalancer.addressPools は、複数のアドレスプールを受け入れることができます。異なる名前を持つ複数のアドレスプールを作成することで、後からサービスを作成して、各サービスに特定のアドレスプールを割り当てることができます。作成時、サービスのアノテーションに metallb.universe.tf/address-pool: <address-pool-name> を追加する必要があります。
  • Nodepool.metadata.name は、<cluster-name>-worker-node-pool の形式にする必要があります。
  • Nodepool.metadata.namespace は cluster-<cluster-name> とし、metadata.name は Cluster 内のクラスタ名と一致しています。