このページでは、Distributed Cloud CLI の概要と、GDC Sandbox で使用するためにダウンロードして構成する手順について説明します。
gdcloud CLI の概要
gdcloud CLI は、Google Distributed Cloud(GDC)のエアギャップ リソースの作成と管理を行うための一連のツールです。Linux でのみ使用できます。これらのツールを使用すると、コマンドラインから、またはスクリプトや自動化を通じて、一般的なタスクを実行できます。gdcloud CLI を使用して、インフラストラクチャのブートストラップ、認証の管理、ローカル構成のカスタマイズを行うことができます。これは、Google Cloudの管理に使用される gcloud CLI とは異なります。
このページでは、GDC Sandbox に固有の簡略化された手順について説明します。構成、アップグレード、予測入力、アクセシビリティなど、gcloud CLI の一般的な詳細については、GDC エアギャップ gdcloud のドキュメントをご覧ください。
gdcloud CLI をダウンロードする
sshuttle を使用して GDC Sandbox に接続する場合は、次の手順に沿って操作します。リモート デスクトップ経由でインスタンスのゲートウェイに接続する場合は、gdcloud がゲートウェイ マシンに /usr/share/gdcloud パスでプリインストールされているため、ツールをダウンロードする必要はありません。
- GDC コンソールから gdcloud CLI バンドルをダウンロードします。
- インスタンスに接続するの説明に従って、GDC コンソールに移動します。
- [Connect with CLI] セクションに移動します。
- [Download CLI Bundle] をクリックします。
ターミナル ウィンドウで、CLI バンドルを抽出します。
cd ~/Downloads tar -xf gdcloud_cli.tar.gzgdcloudCLI を PATH に追加します。これにより、コマンドごとにロケーションを指定する必要がなくなります。次のコマンドは、CLI バンドルがダウンロードされ、ユーザーのDownloadsディレクトリに抽出され、ユーザーのシェル プロファイルが~/.bashrcに存在することを前提としています。echo 'export PATH=$PATH:~/Downloads/google-distributed-cloud-hosted-cli/bin' >> ~/.bashrc source ~/.bashrc新しいターミナルを開き、
gdcloud versionを実行してコマンドが機能したことを確認します。authプラグインをインストールします。このプラグインは、CLI で生成された kubeconfig を使用する場合に必要です。gdcloud components install gdcloud-k8s-auth-plugin
gdcloud を構成する
組織の URL を GDC コンソールの URL に設定して、CLI を構成します。
gdcloud config set core/organization_console_url https://console.org-1.zone1.google.gdch.test
証明書をダウンロードする
gdcloud でコマンドを実行するには、認証が必要です。GDC Sandbox で使用するには、まず GDC Sandbox インスタンスから証明書をダウンロードします。
ログインを承認するための証明書を取得します。次のコマンドは、証明書を
/tmpフォルダにダウンロードします。ダウンロード先は任意で選択できます。echo -n | \ openssl s_client -showcerts -connect console.org-1.zone1.google.gdch.test:443 | \ sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/org-1-web-tls-ca.cert
gdcloud で認証する
ダウンロードした証明書を使用して、gdcloud CLI にログインします。次の例では、証明書が
/tmpフォルダにダウンロードされていることを前提としています。gdcloud auth login --login-config-cert=/tmp/org-1-web-tls-ca.certこのコマンドを実行すると、ブラウザ ウィンドウで OIDC ポータルが開きます。[fake OIDC Provider] と [Platform Admin] を再度選択します(または、開発に使用するユーザーを選択します。ロールに適切なアクセス権が付与されていることを確認してください)。
セッションがタイムアウトした場合は、必要に応じてこの認証手順を繰り返します。