CNE GCP Ready: ブートストラップ構成リファレンス
以下の構成では、GCP 上の Cloud Native Experience (CNE) デプロイメントにおける Google Cloud インフラストラクチャ、GitOps 同期設定、およびブートストラップ実行オプションを定義します。 必須変数は デフォルト 列にマークされています。
GKEインフラストラクチャ変数
これらの変数は、Google Cloudの中核となるネットワークとGKEクラスタ環境を定義します。
| 名前 | 種類 | デフォルト | 説明 |
|---|---|---|---|
deployment_name | 文字列 | (必須) | デプロイメントの一意の識別子(小文字、数字、ハイフン)。 |
project_id | 文字列 | (必須) | インフラストラクチャがデプロイされているGoogle CloudプロジェクトID。 |
region | 文字列 | (必須) | クラスターの GCP リージョン (例: us-central1)。 |
vpc_cidr | 文字列 | "10.0.0.0/16" | VPCネットワーク用のCIDRブロック。 サブネットはこれによって自動的に計算されます。 |
master_ipv4_cidr_block | 文字列 | "172.16.0.0/28" | GKEコントロールプレーン(VPCピアリング)用のCIDRブロック。 |
master_authorized_networks | リスト(文字列) | ["10.0.0.0/16"] | GKEマスターエンドポイントに直接アクセスすることを許可するCIDR範囲。 |
machine_type | 文字列 | "e2-standard-4" | GKEノード用のGCPインスタンスタイプ。 |
min_node_count | 整数 | 1 | ゾーンあたりの最小ノード数。 |
max_node_count | 整数 | 1 | ゾーンあたりの最大ノード数。 |
regional_cluster | ブール値 | false | もしそうであれば、そのクラスターは地域的なもの(3つのゾーンにまたがるHA)である。 |
spot_instances | ブール値 | true | もしそうであれば、ノードはコスト削減のためにGCPスポットVMを使用する。 |
gateway_namespace | 文字列 | "envoy-gateway-system" | Envoy API Gateway 用の Kubernetes 名前空間。 |
計算されたネットワーク範囲
サブネットは、一貫性を確保するために、 vpc_cidr から自動的に計算されます。
- ノードサブネット:
vpc_cidrスライス 0 - Pod 範囲:
vpc_cidrスライス 1 - サービス範囲:
vpc_cidrスライス 2
Gitリポジトリの設定
2つの変数によって、プライベートGitOpsリポジトリへの接続が制御されます。 両者とも同じオブジェクト構造を共有している。
infrastructure_git_repo_config: インフラストラクチャとプロバイダーの値を解決します。liferay_git_repo_config: Liferay アプリケーション値を解決します。
認証オプション (認証)
| プロパティ | 種類 | デフォルト | 説明 |
|---|---|---|---|
method | 文字列 | "https" | 認証方法: https、 github_app、または ssh。 |
credentials_secret_name | 文字列 | "liferay-credentials-gitops" | GCP Secret Manager のシークレットの名前。 |
internal_secret_name | 文字列 | "gitops-credentials" | Argo CDで使用されるKubernetesのシークレット名。 |
username_property | 文字列 | "git_machine_user_id" | Gitユーザー名のJSONキー(HTTPS)。 |
token_property | 文字列 | "git_access_token" | 個人アクセストークン(HTTPS)のJSONキー。 |
ssh_private_key_property | 文字列 | "git_ssh_private_key" | SSH秘密鍵(SSH)のJSONキー。 |
改訂履歴
| プロパティ | 種類 | デフォルト | 説明 |
|---|---|---|---|
revision | 文字列 | "HEAD" | 追跡するGitリビジョン(ブランチ、タグ、またはコミットSHA)。 |
ソースパス (source_paths)
| プロパティ | 種類 | デフォルト | 説明 |
|---|---|---|---|
base | 文字列 | "liferay/projects/{{path[2]}}/base" | 設定の基本パスパターン。 |
environments | 文字列 | "liferay/projects/*/environments/*" | 環境ディレクトリ用のグロブパターン。 |
values_filename | 文字列 | "infrastructure.yaml"* | 各パスにある値ファイルのファイル名。 |
liferay_git_repo_configの場合、デフォルトの values_filename は "liferay.yaml" です。
Bootstrapのオプション
Terraform の実行動作を制御するには、ルートレベルの オプション オブジェクトを config.json で定義します。
| 名前 | 種類 | デフォルト | 説明 |
|---|---|---|---|
provider | 文字列 | (必須) | インフラストラクチャプロバイダー。 有効な値: aws、 gcp。 |
version | 文字列 | (必須) | Bootstrapツールキットのバージョン。 最新のリリースを追跡するには、 latest を使用してください。 |
auto_approve | ブール値 | false | 確認を求めることなく terraform apply を実行します。 |
parallelism | 整数 | 10 | 同時実行可能なTerraformリソース操作の最大数。 APIレート制限を回避するには、この値を下げてください。 |
config.jsonの例
{
"options": {
"auto_approve": true,
"parallelism": 5,
"provider": "gcp",
"version": "latest"
},
"variables": {
"deployment_name": "liferay-gcp-production",
"project_id": "liferay-customer-12345",
"region": "us-east1",
"machine_type": "e2-standard-8"
}
}