asmcli リファレンス
このページでは、asmcli
で使用可能な引数について説明します。
オプション
クラスタの特定。クラスタを特定するには、次のオプションがあります。
GKE のみ
-p|--project_id CLUSTER_PROJECT_ID
- クラスタが作成されたプロジェクト ID。
-n|--cluster_name CLUSTER_NAME
- クラスタの名前。
-l|--cluster_location CLUSTER_LOCATION
- クラスタが作成されたゾーン(シングルゾーン クラスタの場合)またはリージョン(リージョン クラスタの場合)のいずれか。
すべてのプラットフォーム
--kubeconfig KUBECONFIG_FILE
kubeconfig ファイルのフルパス。環境変数 $PWD
はここでは機能しません。
--ctx|--context KUBE_CONTEXT
使用する kubeconfig コンテキスト。指定しない場合、asmcli
でデフォルトのコンテキストが使用されます。
-c|--ca {mesh_ca|gcp_cas|citadel}
相互 TLS 証明書の管理に使用する認証局(CA)。Cloud Service Mesh 認証局(Cloud Service Mesh 認証局)を使用するには
mesh_ca
を指定し、Certificate Authority Service を使用するにはgcp_cas
を指定し、Istio CA を使用するにはcitadel
を指定します。マネージド Cloud Service Mesh は Istio CA をサポートしていません。詳しくは以下をご覧ください。--co|--custom_overlay OVERLAY_FILE
--custom_overly
を、IstioOperator
カスタム リソースを含む YAML ファイル(オーバーレイ ファイルと呼ばれます)の名前とともに使用して、クラスタ内コントロール プレーンを構成します。オーバーレイ ファイルを指定すると、デフォルトで有効になっていない機能を有効にすることができます。マネージド Cloud Service Mesh はIstioOperator
API をサポートしていないため、--custom_overlay
を使用してマネージド コントロール プレーンを構成することはできません。asmcli
はオーバーレイ ファイルを特定できる必要があるため、asmcli
と同じディレクトリに存在するか、相対パスを指定できる必要があります。複数のファイルを追加するには、--co|--custom_overlay
とファイル名を指定します。例:--co overlay_file1.yaml --co overlay_file2.yaml --co overlay_file3.yaml
--hub-registration-extra-flags HUB_REGISTRATION_EXTRA_FLAGS
接続された Amazon EKS クラスタを使用する場合、まだ登録されていない場合は
--hub-registration-extra-flags
を使用してクラスタをフリートに登録します。-k|--key_file FILE_PATH
サービス アカウントの鍵ファイル。サービス アカウントを使用していない場合は、このオプションを省略します。
--network_id NETWORK_ID
--network_id
を使用して、istio-system
Namespace に適用されるtopology.istio.io/network
ラベルを設定します。GKE の場合、--network_id
はデフォルトでクラスタのネットワーク名になります。その他の環境では、default
が使用されます。-o|--option OVERLAY_FILE
asmcli
がanthos-service-mesh
リポジトリからダウンロードし、オプション機能を有効にするオーバーレイ ファイルの名前(.yaml
拡張子なし)。--option
を使用するには、インターネット接続が必要です。--option
オプションと--custom_overlay
オプションは似ていますが、動作がわずかに異なります。オーバーレイ ファイルの設定を変更する必要がある場合は、
--custom_overlay
を使用します。--option
を使用して、オーバーレイ ファイルを変更する必要がない機能を有効にします。たとえば、サービスの監査ポリシーを構成します。
複数のファイルを追加するには、
-o|--option
とファイル名を指定します。例:-o option_file1 -o option_file2 -o option_file3
-D|--output_dir DIR_PATH
指定されていない場合、
asmcli
は、Cloud Service Mesh のインストールに必要なファイルや構成をダウンロードする一時ディレクトリを作成します。代わりにディレクトリへの相対パスを指定するには、--output-dir
フラグを指定します。完了すると、指定したディレクトリにはasm
サブディレクトリとistio-1.19.10-asm.6
サブディレクトリが含まれます。asm
ディレクトリには、インストールの構成が含まれます。istio-1.19.10-asm.6
ディレクトリには、istioctl
、サンプル、マニフェストが含まれるインストール ファイルの抽出コンテンツが含まれます。--output-dir
を指定して、ディレクトリに必要なファイルがすでに含まれている場合、asmcli
は再度ダウンロードを行わず、これらのファイルを使用します。--platform PLATFORM {gcp|multicloud}
Kubernetes クラスタのプラットフォームまたはプロバイダ。デフォルトは
gcp
です(GKE クラスタの場合)。他のすべてのプラットフォームでは、multicloud
を使用します。-r|--revision_name REVISION NAME
リビジョン ラベルは、コントロール プレーンで設定されている Key-Value ペアです。リビジョン ラベルキーは常に
istio.io/rev
になります。デフォルトでは、asmcli
は Cloud Service Mesh のバージョンに基づいてリビジョン ラベルの値を設定します(例:asm-11910-9
)。デフォルト値をオーバーライドして独自の値を指定する場合は、このオプションを指定します。REVISION NAME
引数は、DNS-1035 ラベルである必要があります。名前は次の条件を満たす必要があります。- 最大文字数は 63 文字とする
- 小文字の英数字またはハイフン(-)のみを使用する
- 先頭が英字である
- 末尾が英数字である
検証に使用される正規表現は '[a-z]([-a-z0-9]*[a-z0-9])?'
です。
-s|--service_account ACCOUNT
- Cloud Service Mesh のインストールに使用されるサービス アカウントの名前。指定しない場合は、現在の
gcloud
構成にある有効なユーザー アカウントが使用されます。有効なユーザー アカウントを変更する必要がある場合は、gcloud auth login を実行します。
Istio CA カスタム証明書のオプション
--ca citadel
を指定してカスタム CA を使用する場合は、次のオプションを指定します。
--ca_cert FILE_PATH
: 中間証明書--ca_key FILE_PATH
: 中間証明書の鍵--root_cert FILE_PATH
: ルート証明書--cert_chain FILE_PATH
: 証明書チェーン
詳細については、既存の CA 証明書を組み込むをご覧ください。
イネーブルメント フラグ
--enable
で始まるフラグによって、asmcli
は必要な Google API を有効にし、必要な Identity and Access Management(IAM)権限を設定して、クラスタを更新します。必要に応じて、asmcli
を実行する前に、プロジェクトとクラスタを自分で更新できます。すべてのイネーブルメント フラグに asmcli validate
と互換性があるわけではありません。asmcli validate
を有効にするときにイネーブルメント フラグを指定した場合、コマンドはエラーで終了します。
-e|--enable_all
- 以下で説明する個々の有効化の操作をすべて
asmcli
で実行できるようにします。 --enable_cluster_roles
asmcli
で、asmcli
を実行している Google Cloud ユーザーまたはサービス アカウントをクラスタのcluster-admin
ロールにバインドできるようにします。asmcli
は、gcloud config get core/account
コマンドからユーザー アカウントを特定します。ユーザー アカウントを使用してasmcli
をローカルで実行する場合は、必ずgcloud auth login
コマンドを呼び出してからasmcli
を実行してください。ユーザー アカウントを変更する必要がある場合は、gcloud config set core/account GCP_EMAIL_ADDRESS
コマンドを実行します。ここで、GCP_EMAIL_ADDRESS は、Google Cloud へのログインに使用するアカウントです。--enable_cluster_labels
asmcli
で、必要なクラスタラベルを設定できるようにします。--enable_gcp_components
asmcli
で、次の必要な Google Cloud マネージド サービスとコンポーネントを有効にできるようにします。Workload Identity。GKE アプリケーションが Google Cloud サービスに安全にアクセスできるようになります。
--enable_gcp_apis
asmcli
で、すべての必要な Google API を有効にできるようにします。--enable_gcp_iam_roles
asmcli
で、必要な IAM 権限を設定できるようにします。--enable_meshconfig_init
スクリプトがユーザーに代わって meshconfig エンドポイントを初期化できるようにします。
--enable_gcp_components
と--managed
によって暗黙的に指定されます。--enable_namespace_creation
asmcli
がルートのistio-system
名前空間を作成できるようにします。--enable_registration
asmcli
でクラスタが所属するプロジェクトにそのクラスタを登録できるようにします。このフラグを指定しない場合は、クラスタの登録の手順に沿ってクラスタを手動で登録してください。他のイネーブルメント フラグとは異なり、--enable_registration
は、クラスタ登録を必要とするオプション(--option hub-meshca
など)を指定した場合に--enable_all
にのみ含まれます。こうしたオプションを指定しない場合、このフラグは個別に指定する必要があります。
その他のフラグ
--dry_run
- コマンドを出力しますが、実行しません。
--fleet_id
- フリートのホスト プロジェクト ID を使用して、フリートにクラスタを登録します。Google Cloud 以外のクラスタでは、このフラグは必須です。Google Cloud クラスタの場合、指定がないとデフォルトでクラスタのプロジェクト ID が設定されます。インストール前に
--fleet_id
とともにasmcli install
を実行することも、--enable-registration
フラグと--fleet-id
フラグを渡してインストールの一環として実行することもできます。この設定は、構成後に変更することはできません。 --managed
- クラスタ内にインストールするのではなく、リモートのマネージド コントロール プレーンをプロビジョニングします。
--offline
- 出力ディレクトリに事前にダウンロードされたパッケージを使用して、オフライン インストールを実行します。ディレクトリが指定されていない場合、または必要なファイルが含まれていない場合は、スクリプトがエラーで終了します。
--only_enable
- 指定した手順で現在のユーザーまたはクラスタを設定しますが、何もインストールされません。
--only_validate
- 検証を実行しますが、プロジェクトやクラスタは更新しません。また、Cloud Service Mesh はインストールしません。このフラグはイネーブルメント フラグと互換性がありません。任意のイネーブルメント フラグとともに
--only_validate
を指定すると、asmcli
はエラーで終了します。 --print_config
- Cloud Service Mesh をインストールする代わりに、コンパイル済みのすべての YAML を標準出力(stdout)に出力します。通常は stdout に出力される場合でも、他のすべての出力が標準エラー(stderr)に書き込まれます。このフラグを指定すると、
asmcli
ですべての検証と設定がスキップされます。 --disable_canonical_service
- デフォルトでは、
asmcli
は Canonical Service コントローラをクラスタにデプロイします。asmcli
でコントローラをデプロイしない場合は、--disable_canonical_service
を指定します。詳細については、Canonical Service コントローラの有効化と無効化をご覧ください。 -h|--help
- オプション、フラグ、終了を説明するヘルプ メッセージを表示します。
--use_managed_cni
- マネージド CNI を使用します。このフラグが渡されない場合、
asmcli
は静的 CNI マニフェストを適用します。 --use_vpcsc
- プロジェクトで VPC Service Controls を使用する際、このフラグは不要になりました。
-v|--verbose
asmcli
を実行すると、次に実行するコマンドが出力されます。--verbose
フラグを指定すると、asmcli
によって実行後にコマンドが出力されます。--version
asmcli
のバージョンを出力して終了します。最新のバージョンがない場合は、最新バージョンのasmcli_1.19
をダウンロードできます。
次のステップ
マルチクラスタ メッシュの設定について学習する。
メッシュが GKE クラスタだけで構成されている場合は、GKE でマルチクラスタ メッシュを設定するをご覧ください。
メッシュが Google Cloud 外のクラスタで構成されている場合は、Google Cloud 外のマルチクラスタ メッシュを設定するをご覧ください。