ベアメタル版 Anthos クラスタは、クラスタを作成またはアップグレードするときに、Docker の Kubernetes(kind)クラスタをデプロイして、クラスタの作成またはアップグレードに必要な Kubernetes コントローラを一時的にホストします。この一時的なクラスタは、ブートストラップ クラスタと呼ばれます。インストール時、デプロイに kind クラスタがすでに存在する場合、ベアメタル版 Anthos クラスタは既存の kind クラスタを削除します。削除は、インストールまたはアップグレードが成功した場合にのみ行われます。成功後も既存の kind クラスタを保持するには、bmctl
の --keep-bootstrap-cluster
フラグを使用します。
ベアメタル版 Anthos クラスタでは、ブートストラップ クラスタの構成ファイルが WORKSPACE_DIR/.kindkubeconfig
の下に作成されます。ブートストラップ クラスタへの接続は、クラスタの作成とアップグレード中のみ可能です。
ブートストラップ クラスタは、イメージを pull するために Docker リポジトリにアクセスする必要があります。非公開レジストリを使用しない場合は、レジストリがデフォルトで Container Registry に設定されます。クラスタの作成中、bmctl
が次のファイルを作成します。
bmctl-workspace/config.json
: レジストリ アクセス用の Google Cloud サービス アカウントの認証情報が含まれます。この認証情報は、クラスタ構成ファイルのgcrKeyPath
フィールドから取得されます。bmctl-workspace/config.toml
: kind クラスタ内の containerd 構成が含まれます。
ブートストラップ クラスタのデバッグ
ブートストラップ クラスタをデバッグするには、次の手順に沿って行います。
- クラスタの作成やアップグレード中に、ブートストラップ クラスタに接続します。
- ブートストラップ クラスタのログを取得します。
bmctl
の実行に使用するマシンのログは、次のフォルダにあります。
bmctl-workspace/CLUSTER_NAME/log/create-cluster-TIMESTAMP/bootstrap-cluster/
bmctl-workspace/CLUSTER_NAME/log/upgrade-cluster-TIMESTAMP/bootstrap-cluster/
CLUSTER_NAME
と TIMESTAMP
は、クラスタの名前と対応するシステムの時刻に置き換えます。
ブートストラップ クラスタから直接ログを取得するには、クラスタの作成やアップグレード中に次のコマンドを実行します。
docker exec -it bmctl-control-plane bash
このコマンドにより、ブートストラップ クラスタで実行される bmctl コントロール プレーン コンテナ内のターミナルが開かれます。
kubelet
ログと containerd
ログを検査するには、次のコマンドを使用して、出力でエラーや警告を探します。
journalctl -u kubelet
journalctl -u containerd