このトピックでは、GKE On-Prem の使用中に呼び出されるコマンドの概要を説明します。GKE On-Prem のドキュメントを補足して、便宜を図るためのものです。
角かっこ内のフラグは省略可能です。Placeholder variables は変更可能です。
kubectl
コマンド
kubectl
クイック リファレンスもご覧ください。
デフォルトの kubeconfig ファイルを設定する
export KUBECONFIG=[KUBECONFIG_PATH]
デフォルトの kubeconfig からクラスタを一覧表示する
kubectl get clusters
デフォルト以外の kubeconfig でクラスタを表示するには、--kubeconfig [KUBECONFIG_PATH]
を渡します。
クラスタ内のノードをデフォルトの kubeconfig から一覧表示する
kubectl get nodes
デフォルト以外の kubeconfig でクラスタを表示するには、--kubeconfig [KUBECONFIG_PATH]
を渡します。
すべての名前空間のコンテナをすべて一覧表示する
kubectl get pods --all-namespaces -o jsonpath="{..image}" |\ tr -s '[[:space:]]' '\n' |\ sort |\ uniq -c
gkectl
コマンド
gkectl
リファレンスもご覧ください。
gkectl
を使用してクラスタの問題を診断する
クラスタの問題を特定し、クラスタの情報を Google と共有するために、gkectl diagnose
コマンドを使用します。クラスタの問題を診断するをご覧ください。
gkectl
コマンドを冗長モードで実行する
-v5
stderr
に対する gkectl
エラーのロギング
--alsologtostderr
GKE On-Prem 構成ファイルを生成する
gkectl create-config [--config [PATH]]
構成ファイルを検証する
gkectl check-config --config [PATH]
GKE On-Prem イメージを Docker レジストリに push し、ノードの OS イメージを初期化する
gkectl prepare --config [CONFIG_FILE] [--validate-attestations]
クラスタを作成する
gkectl create cluster --config [CONFIG_FILE]
Google Cloud サービス アカウント
サービス アカウントを作成する
gcloud iam service-accounts create [SERVICE_ACCOUNT_NAME] --project [PROJECT_ID]
サービス アカウントに IAM ロールを付与する
gcloud projects add-iam-policy-binding \ [PROJECT_ID] \ --member="serviceAccount:[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com" \ --role="[ROLE_NAME]"
サービス アカウントの秘密鍵を作成する
gcloud iam service-accounts keys create [KEY_FILE_NAME] \ --iam-account [SERVICE_ACCOUNT_NAME]@[PROJECT-ID].iam.gserviceaccount.com \ --project [PROJECT_ID]
サービス アカウントを有効にし、gcloud
と gsutil
コマンドをそのアカウントとして実行する
gcloud auth activate-service-account --key-file=[SERVICE_ACCOUNT_KEY_FILE]
管理ワークステーション
管理ワークステーションに SSH 接続する
Terraform 構成ファイルが含まれているディレクトリから、次のコマンドを実行します。
ssh -i ~/.ssh/vsphere_workstation ubuntu@$(terraform output ip_address)
アドレスを使用する場合は、次のようにします。
ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
管理ワークステーションにファイルをコピーする
scp -i ~./ssh/vsphere_workstation [SOURCE_PATH] ubuntu@$(terraform output ip_address)
管理ワークステーションで gkectl
ログを見つける
デバッグフラグを渡さない場合でも、次の管理ワークステーション ディレクトリで gkectl
ログを表示できます。
/home/ubuntu/.config/gke-on-prem/logs
管理クラスタで Cluster API ログを見つける
管理コントロール プレーンの起動後に VM が起動しない場合は、管理クラスタの Cluster API コントローラのログを調べてデバッグを試すことができます。
kube-system
Namespace で Cluster API コントローラ Pod の名前を確認します。ここで、[ADMIN_CLUSTER_KUBECONFIG] は管理クラスタの kubeconfig ファイルのパスです。kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
Pod のログを開きます。ここで、[POD_NAME] は Pod の名前です。必要に応じて、
grep
または同様のツールを使用してエラーを検索します。kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager
クラスタ
管理クラスタのノードの IP アドレスを取得する
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get nodes --output wide
ユーザー クラスタのノードの IP アドレスを取得する
kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get nodes --output wide
クラスタノードに SSH 接続する
SSH を使用したクラスタノードへの接続をご覧ください。