このドキュメントでは、既存のクラスタから一連の構成ファイルを生成する方法について説明します。
クラスタを作成する 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: Google Distributed Cloud バンドル ファイルのパス。バンドル ファイルは管理ワークステーション(通常は - /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 アドレスを使用している場合に生成されます | 
| connect-register-key.json | 接続登録サービス アカウントの JSON キーファイル 常に生成されます | 
| private-registry-ca.crt  | 非公開レジストリ サーバーのルート証明書 クラスタが非公開レジストリを使用している場合に生成されます | 
| stackdriver-key.json | JSON キーファイルLogging モニタリング サービス アカウント クラスタがログと指標を Cloud Logging と Cloud 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 アドレスを使用している場合に生成されます | 
| private-registry-ca.crt  | 非公開レジストリ サーバーのルート証明書 クラスタが非公開レジストリを使用している場合に生成されます | 
| component-access-key.json | コンポーネント アクセス サービス アカウントの JSON キーファイル クラスタが非公開レジストリを使用していない場合に生成されます | 
| connect-register-key.json | 接続登録サービス アカウントの JSON キーファイル 常に生成されます | 
| stackdriver-key.json | JSON キーファイルLogging モニタリング サービス アカウント クラスタがログと指標を Cloud Logging と Cloud 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 を使用するように構成されている場合に生成されます |