問題タブ [terraform-provider-gcp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-platform - Terraform を使用して Google Cloud プロジェクトを管理する方法を明確にする必要がある
GCP での Terraform の使用に関するこの記事を読みました。
https://cloud.google.com/community/tutorials/managing-gcp-projects-with-terraform
ほとんど機能していますが、いくつかの問題に遭遇し、明確にしたいと思いました。
Terraform 管理プロジェクトを作成し、そのプロジェクトでロール/ビューアーとロール/storage.admin ロールを持つサービス アカウントを作成しました。次に、管理プロジェクトでバケットを作成し、それを Terraform バックエンド ストレージとして使用します。
次に、そのサービス アカウントを使用して別のプロジェクトを作成し、そのプロジェクトにリソースをプロビジョニングします。
次のように、terraform で作成されたプロジェクトのサービスを有効にすれば十分だと考えました。
ただし、terraform が gke クラスタを作成しようとしたときにエラーが発生しました。
私のプロジェクトではコンテナ サービスがまだ有効化されておらず、(google_project リソースで作成されたプロジェクトではなく) Terraform 管理プロジェクト ID を参照しているとのことでした。サービス アカウントがサービス アカウントによって作成されたプロジェクトでこれらのサービスにアクセスできるようにするには、terraform 管理プロジェクトでサービスを有効にする必要があるようです。
実際、terraform 管理プロジェクトで有効になっている限り、作成プロジェクトでコンテナー、サービス ネットワーキングなどのサービスを有効にすることなく、それを機能させることができます。
1 つのプロジェクトのサービスが、親プロジェクトのサービス アカウントから作成されたプロジェクトに継承されるプロジェクト間に親子関係はありますか? これは事実のようですが、これに関するドキュメントはどこにも見つかりません。
聞いてくれてありがとう!
kubernetes - Terraform を使用して、外部で作成されたロード バランサーから IP を取得する
GKE クラスタを作成するために Terraform モジュールに取り組んでいます。同じモジュールが、アプリケーションの を実行するプロビジョナーを呼び出しhelm install
ます。
Helm チャートはロード バランサーを作成します。ロード バランサーは terraform モジュールに認識されないため、割り当てられた IP アドレスをモジュールで再利用することはできません。
質問:
ロード バランサーの IP を使用して DNS エントリを作成し、証明書を取得するにはどうすればよいですか?
これは珍しいユースケースではないと思いますが、これを達成する適切な方法をまだ見つけていません。
terraform-provider-gcp - Terraform を使用した gcp マネージド インスタンスが機能しない
Terraform を使用してリージョン マネージド インスタンス グループを作成しようとしていますが、次のエラー メッセージが表示されます。
1 個のエラーが発生しました: * module.gcp-lb.google_compute_backend_service.default: 1 個のエラーが発生しました: * google_compute_backend_service.default: グループの無効な値: ゾーンを指定する必要があります
リージョン マネージド インスタンス グループの場合、リソース google_compute_backend_service がゾーンを要求する理由がわかりません。また、このリソースではゾーンがサポートされていないようです。私は次のタスクを実行しています:
- google_compute_instance_template でインスタンス テンプレートを作成する
- google_compute_region_instance_group_manager でテンプレートを使用する
- 次の構文で、instance_group を google_compute_backend_service のバックエンドに渡します: backend = ["${var.backends}"]
以下の synatx を使用して、モジュールからバックエンドを渡しています。
テラフォームのバージョン: 0.11.13 を使用しています。どんな種類のヘルプ/ポインタも大歓迎です。
ありがとう、サンジブ