このページでは、スクリプトで使用可能な引数について説明し、スクリプトがプロジェクトと GKE クラスタに加える変更について詳しく説明します。
オプション
-p|--project_id CLUSTER_PROJECT_ID
- クラスタが作成されたプロジェクト ID。
-n|--cluster_name CLUSTER_NAME
- クラスタの名前。
-l|--cluster_location CLUSTER_LOCATION
- クラスタが作成されたゾーン(シングルゾーン クラスタの場合)またはリージョン(リージョン クラスタの場合)のいずれか。
-m|--mode {install|migrate|upgrade}
- Anthos Service Mesh を新規にインストールする場合は、「
install
」と入力します。Istio から移行する場合は「migrate
」と入力します。既存の Anthos Service Mesh インストールを新しいバージョンにアップグレードするには「upgrade
」と入力します -c|--ca {mesh_ca|citadel}
- 新しいインストールに、Mesh CA を使用したい場合は、スクリプトのデフォルトが Mesh CA のため、このオプションを含める必要はありません。アップグレードの場合、スクリプトにより CA の変更が許されないため、このオプションを含める必要はありません。移行の場合は、
citadel
かmesh_ca
を指定します。移行のダウンタイムをスケジューリングできる場合は、mesh_ca
を使用することをおすすめします。使用する CA についての詳細は、認証局の選択をご覧ください。Citadel の使用時に指定する必要がある他のオプションについては、Citadel カスタム証明書のオプションをご覧ください。 --co|--custom_overlay YAML_FILE
IstioOperator
カスタム リソース(CR)YAML ファイルの名前。デフォルトで有効になっていない機能を有効にします。スクリプトが YAML ファイルの場所を特定できる必要があるため、スクリプトと同じディレクトリにファイルを置くか、相対パスを指定します。複数のファイルを追加するには、--co|--custom_overlay
とファイル名を指定します。例:--co overlay_file1.yaml --co overlay_file2.yaml --co overlay_file3.yaml
-o|--option OPTION_FILE
- オプション機能を有効にする
IstioOperator
CR を含むanthos-service-mesh
パッケージの YAML ファイル名。こうしたファイルのいずれかを含める場合は、最初にanthos-service-mesh
パッケージをダウンロードする必要はありません。また、.yaml
拡張子は指定しないでください。いずれかのファイルを変更する必要がある場合は、anthos-service-mesh
パッケージをダウンロードして変更を加え、--custom_overlay
オプションを使用します。複数のファイルを追加するには、-o|--option
とファイル名を指定します。例:-o option_file1 -o option_file2 -o option_file3
-s|--service_account ACCOUNT
- Anthos Service Mesh のインストールに使用されるサービス アカウントの名前。指定しない場合は、現在の
gcloud
構成にある有効なユーザー アカウントが使用されます。有効なユーザー アカウントを変更する必要がある場合は、gcloud auth login を実行します。 -k|--key_file FILE_PATH
- サービス アカウントの鍵ファイル。サービス アカウントを使用していない場合は、このオプションを省略します。
-D|--output_dir DIR_PATH
- 指定されていない場合、このスクリプトは、Anthos Service Mesh のインストールに必要なファイルや構成をダウンロードする一時ディレクトリを作成します。代わりに、
--output-dir
フラグを指定して、既存のディレクトリの指定に使用します。完了すると、指定したディレクトリにはasm
サブディレクトリとistio-1.8.6-asm.8
サブディレクトリが含まれます。asm
ディレクトリには、インストールの構成が含まれます。istio-1.8.6-asm.8
ディレクトリには、istioctl
、サンプル、マニフェストが含まれるインストール ファイルの抽出コンテンツが含まれます。
Citadel カスタム証明書のオプション
citadel
を指定してカスタム CA を使用する場合は、次のオプションを指定します。
--ca_cert FILE_PATH
: 中間証明書--ca_key FILE_PATH
: 中間証明書の鍵--root_cert FILE_PATH
: ルート証明書--cert_chain FILE_PATH
: 証明書チェーン
詳細については、既存の CA 証明書への接続をご覧ください。
イネーブルメント フラグ
--enable
で始まるフラグによって、スクリプトは必要な Google API を有効にし、必要な Identity and Access Management(IAM)権限を設定して、クラスタを更新します。必要に応じて、スクリプトを実行する前に、プロジェクトとクラスタを自分で更新することもできます。詳細については、マルチ プロジェクト インストール ガイドのプロジェクトの設定とクラスタの設定セクションをご覧ください。これらのフラグはすべて --only_validate
と互換性がなく、この場合はスクリプトでエラーが発生して終了します。
-e|--enable_all
- 以下で説明する個々の有効化の操作をすべてスクリプトで実行できるようにします。
--enable_cluster_roles
- スクリプトを実行している GCP ユーザーまたはサービス アカウントをクラスタの
cluster-admin
ロールにバインドできるようにします。このスクリプトは、gcloud config get-value core/account
コマンドからユーザー アカウントを特定します。ユーザー アカウントを使用してスクリプトをローカルで実行する場合は、必ずgcloud auth login
コマンドを呼び出してからスクリプトを実行してください。ユーザー アカウントを変更する必要がある場合は、gcloud config set core/account GCP_EMAIL_ADDRESS
コマンドを実行します。ここで、GCP_EMAIL_ADDRESS は、Google Cloud へのログインに使用するアカウントです。 --enable_cluster_labels
- スクリプトで、必要なクラスタラベルを設定できるようにします。
--enable_gcp_components
スクリプトで、次の必要な Google Cloud マネージド サービスとコンポーネントを有効にできるようにします。
Workload Identity。GKE アプリケーションが Google Cloud サービスに安全にアクセスできるようになります。
--enable_gcp_apis
スクリプトで、すべての必要な Google API を有効にできるようにします。
--enable_gcp_iam_roles
スクリプトで、必要な IAM 権限を設定できるようにします。
--enable-registration
スクリプトでクラスタが所属するプロジェクトにそのクラスタを登録できるようにします。このフラグを指定しない場合は、クラスタの登録の手順に沿ってクラスタを手動で登録してください。なお、他のイネーブルメント フラグとは異なり、
--enable-registration
は--enable_all
には含まれません。これらのフラグは別々に指定します。
その他のフラグ
-v|--verbose
- 実行前および実行後にコマンドを出力します。
--dry_run
- コマンドを出力しますが、実行しません。
--only_validate
- 検証を実行しますが、プロジェクトやクラスタは更新しません。また、Anthos Service Mesh はインストールしません。このフラグはイネーブルメント フラグと互換性がありません。任意のイネーブルメント フラグとともに
--only_validate
を指定すると、スクリプトはエラーで終了します。 --print_config
- Anthos Service Mesh をインストールする代わりに、コンパイル済みのすべての YAML を標準出力(stdout)に出力します。通常は stdout に出力される場合でも、他のすべての出力が標準エラー(stderr)に書き込まれます。このフラグを指定すると、すべての検証と設定がスキップされます。
--disable_canonical_service
- デフォルトでは、このスクリプトは Canonical Service コントローラをクラスタにデプロイします。スクリプトでコントローラをデプロイしない場合は、
--disable_canonical_service
を指定します。詳細については、Canonical Service コントローラの有効化と無効化をご覧ください。 -h|--help
- オプション、フラグ、終了を説明するヘルプ メッセージを表示します。
--version
install_asm
のバージョンを出力して終了します。このコマンドでバージョンが出力されない場合は、install_asm_1.8
の最新バージョンをダウンロードします。
スクリプトについて
スクリプトは、安全な Cloud Source Repositories のロケーションからダウンロードしますが、GitHub からも入手できます。ダウンロードする前にソースコードを見ておくと、スクリプトの処理内容を確認できます。このスクリプトは、プロジェクトとクラスタが Anthos Service Mesh 要件を満たしていることを検証し、プロジェクトとクラスタの構成に手動で行うすべての手順を自動化します。その後、istioctl install
コマンドを使用して Anthos Service Mesh をインストールします。
Anthos Service Mesh 1.8.6 では、release-1.8-asm
ブランチで install_asm
スクリプトのバージョンを使用します。バージョニングとリリースのプロセスについては、バージョニング / リリースをご覧ください。
検証
validate_args
関数と validate_dependencies
関数:
- 必要なツールがすべてインストールされていることを確認します。
- パラメータ値として入力したプロジェクト ID、クラスタ名、クラスタのロケーションが有効であることを確認します。
- クラスタがマシンタイプとノード数の最小要件を満たしていることを確認します。
プロジェクトの設定
--enable_all
または --enable_apis
フラグを含めると、スクリプトにより必要な API が有効になります。
--enable_all
フラグまたは --enable_gcp_iam_roles
フラグを含めると、スクリプトにより必要な IAM 権限が設定されます。
クラスタの設定
--enable_all
フラグ、またはよりきめ細かい下のイネーブルメント フラグのいずれかが含まれると、スクリプトによりクラスタで次の更新が行われます。
クラスタの更新 | フラグ |
---|---|
Workload Identity を有効にすると、GKE アプリケーションが Google Cloud サービスに安全にアクセスできるようになります。 | --enable_gcp_components |
GKE で Cloud Monitoring と Cloud Logging を有効にします。 | --enable_gcp_components |
クラスタで mesh_id ラベルを設定します。これは、Google Cloud コンソールの Anthos Service Mesh ページに指標を表示するために必要です。 |
--enable_cluster_labels |
asmv=asm-186-8 のようなラベルを設定し、スクリプトによってクラスタが変更されていることを示します。 |
--enable_cluster_labels |
スクリプトを実行している GCP ユーザーまたはサービス アカウントを、クラスタの cluster-admin ロールにバインドします。 | --enable_cluster_roles |