ユーザー クラスタは、Management Center のコンソールまたは kubectl
を使用して作成できます。
いずれの場合も、クラスタがブートストラップされて準備ができるまで最長で 10 分かかります。この間に、次のコマンドを使用してユーザー クラスタのステータスを確認できます。
kubectl get Cluster -n USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
USER_CLUSTER_NAME は、作成したクラスタの名前に置き換えます。
クラスタのステータスが ready
の場合、ユーザー クラスタは正常に作成されていて、管理クラスタに登録されています。ユーザー クラスタを作成したら、Management Center から kubeconfig ファイルをダウンロードできます。
Management Center
Anthos プライベート モード Management Center の [クラスタ] セクションで、[作成] ボタンをクリックして新しい Anthos ユーザー クラスタを作成します。
[クラスタの構成] ページで新しいユーザー クラスタを構成します。
クラスタが作成されると、作成されたクラスタが自動的に Anthos プライベート モード Management Center に登録され、直ちにクラスタ ダッシュボードに表示されます。
kubectl
次のコマンドを使用して、管理クラスタに登録する Cluster リソースと NodePool リソースを作成します。
kubectl apply -f USER_CLUSTER_YAML --kubeconfig=ADMIN_KUBECONFIG
以下を置き換えます。
- USER_CLUSTER_YAML: ユーザー クラスタとノードプールの YAML マニフェスト。ユーザー クラスタと NodePool のサンプル構成ファイルをご覧ください。
- ADMIN_KUBECONFIG: 管理クラスタの kubeconfig ファイル。
管理クラスタ構成ファイルをユーザー クラスタ構成のベースとして使用する場合は、ユーザー クラスタ構成ファイルで次のフィールドを変更します。
- 最上位の
sshPrivateKeyPath
、privateRegistry
、privateRegistryConfigPath
、privateRegistryTLSCertPath
フィールドは削除します。 - 構成ファイル全体で
<cluster-name>
が統一されていることを確認します。 - Cluster.spec.type は user にする必要があります。これは管理クラスタのクラスタタイプとは異なります。
- Cluster.metadata.namespace は
cluster-<cluster-name>
にする必要があります。ここで、<cluster-name>
は、作成するユーザー クラスタの名前です。 Cluster.spec.loadBalancer.vips.controlPlaneVIP
、Cluster.spec.loadBalancer.vips.ingressVIP
、Cluster.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 内のクラスタ名と一致しています。