クラスタから構成ファイルを生成する

このドキュメントでは、既存のクラスタから一連の構成ファイルを生成する方法について説明します。

クラスタを作成する 1 つの方法は、gkectl コマンドライン ツールを使用することです。まず、クラスタの一連の構成ファイルを作成します。次に、次のいずれかのコマンドを実行します。

  • gkectl create admin: 管理クラスタを作成します
  • gkectl create cluster: ユーザー クラスタを作成します

時間の経過とともに、元の構成ファイルがクラスタの実際の状態と同期しなくなる可能性があります。たとえば、カスタム リソースを編集してクラスタを更新する場合、元の構成ファイルがクラスタの正確な表現にならない可能性があります。

クラスタを作成するもう 1 つの方法は、Google Cloud コンソールを使用することです。この場合、クラスタ構成ファイルがありません。後で、クラスタを更新するためにクラスタ構成ファイルが必要になる場合があります。

元の構成ファイルがクラスタと同期されていない可能性がある場合、または構成ファイルがない場合は、gkectl get-config コマンドを使用して、クラスタの現在の状態を正確に表す、新しい構成ファイルのセットを生成できます。

gkectl get-config は以下で使用できます。

  • ユーザー クラスタ
  • 管理クラスタ

設定ファイルを生成

ユーザー クラスタの新しい構成ファイル群を生成するには:

gkectl get-config cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --cluster-name USER_CLUSTER_NAME

次のように置き換えます。

  • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス。

  • USER_CLUSTER_NAME: ユーザー クラスタの名前。

管理クラスタの新しい構成ファイル群を生成するには:

gkectl get-config admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --bundle-path BUNDLE

次のように置き換えます。

  • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイル。

  • BUNDLE: GKE on VMware バンドル ファイルのパス。バンドル ファイルは管理ワークステーション(通常は /var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz)にあります。バンドル ファイルをまだ持っていない場合は、ここからダウンロードできます。

デフォルトでは、生成された構成ファイルは現在のディレクトリのサブディレクトリに書き込まれます。ユーザー クラスタの場合、出力ディレクトリの名前は user-cluster-config-output になります。管理クラスタの場合、出力ディレクトリの名前は admin-cluster-config-output になります。

生成されたファイルを別のディレクトリに置く場合は、--output-dir パラメータを使用して出力ディレクトリのパスを指定できます。例:

gkectl get-config cluster --kubeconfig my-kubeconfig \
    --cluster-name my-cluster \
    --output-dir /home/me/configuration/generated-files

デフォルトの出力ディレクトリまたは指定した出力ディレクトリにファイルがすでに存在する場合は、--force フラグを使用して、新しく生成されたファイルが既存のファイルと置換されますようにする必要があります。それ以外の場合、コマンドは失敗します。例:

gkectl get-config cluster --kubeconfig my-kubeconfig \
    --cluster-name my-cluster \
    --output-dir /home/me/configuration/generated-files
    --force

管理クラスタ用に生成されたファイル

ファイル名説明
admin-cluster.yaml 管理クラスタの構成ファイル
常に生成されます
admin-cluster-creds.yaml クラスタ認証情報ファイル
常に生成されます
component-access-key.json コンポーネント アクセス サービス アカウントの JSON キーファイル
常に生成されます
vcenter-ca-cert.pem vCenter Server のルート証明書
常に生成されます
admin-cluster-ipblock.yaml クラスタノードの IP ブロック ファイル
クラスタノードが静的 IP アドレスを使用している場合に生成されます
admin-seesaw-ipblock.yaml Seesaw VM の IP ブロック ファイル
クラスタが Seesaw ロードバランサを使用している場合に生成されます
connect-register-key.json 接続登録サービス アカウントの JSON キーファイル
常に生成されます
private-registry-ca.crt 非公開レジストリ サーバーのルート証明書
クラスタが非公開レジストリを使用している場合に生成されます
stackdriver-key.json JSON キーファイルLogging モニタリング サービス アカウント
クラスタがログと指標を Cloud LoggingCloud Monitoring をエクスポートするように構成されている場合に生成されます。(クラスタ構成ファイル内の stackdriver セクション)
audit-logging-key.json 監査ログサービス アカウントの JSON キーファイル
クラスタが Cloud Audit Logs を使用している場合に生成されます

ユーザー クラスタ用に生成されたファイル

ファイル名説明
user-cluster.yaml ユーザー クラスタの構成ファイル
常に生成されます
user-cluster-creds.yaml クラスタ認証情報ファイル
クラスタが準備済みの認証情報を使用していない場合に生成されます
vcenter-ca-cert.pem vCenter Server のルート証明書
常に生成されます
user-cluster-ipblock.yaml クラスタノードの IP ブロック ファイル
クラスタノードが静的 IP アドレスを使用している場合に生成されます
user-seesaw-ipblock.yaml Seesaw VM の IP ブロック ファイル
クラスタが Seesaw ロードバランサを使用している場合に生成されます
private-registry-ca.crt 非公開レジストリ サーバーのルート証明書
クラスタが非公開レジストリを使用している場合に生成されます
component-access-key.json コンポーネント アクセス サービス アカウントの JSON キーファイル
クラスタが非公開レジストリを使用していない場合に生成されます
connect-register-key.json 接続登録サービス アカウントの JSON キーファイル
常に生成されます
stackdriver-key.json JSON キーファイルLogging モニタリング サービス アカウント
クラスタがログと指標を Cloud LoggingCloud Monitoring をエクスポートするように構成されている場合に生成されます。(クラスタ構成ファイル内の stackdriver セクション)
audit-logging-key.json 監査ログサービス アカウントの JSON キーファイル
クラスタが Cloud Audit Logs を使用している場合に生成されます
usage-metering-key.json 使用状況測定サービス アカウントの JSON キーファイル
クラスタが BigQuery データセットに使用状況データを保存した場合に生成されます
secrets.yaml Secret 構成ファイル
クラスタが準備された認証情報を使用している場合に生成されます
このファイルを生成するにはそのため、gkectl get-config cluster コマンドに --export-secrets-config フラグを含める必要があります
sni-cert.pem Kubernetes API サーバーの追加のサービス証明書
クラスタが Server Name Indication(SNI)を使用するように構成されている場合に生成されます
sni-key.json 追加のサービス証明書の秘密鍵ファイル
クラスタが SNI を使用するように構成されている場合に生成されます