GKE での Terraform のサポート


Terraform は、Google Kubernetes Engine(GKE)を含む複数の Google Cloud サービスのリソースと権限をプロビジョニングするために使用できる Infrastructure as Code(IaC)ツールです。

Terraform には宣言型で構成指向の構文があり、これを使用して、GKE プロジェクトにプロビジョニングするインフラストラクチャを記述できます。1 つまたは複数の Terraform 構成ファイルで構成を作成し、Terraform CLI を使用して、この構成を GKE リソースに適用できます。

Terraform を使用する

標準化された構成を特定の種類の複数の GKE リソースに適用するシナリオを考えてみましょう。Terraform を使用すると、次のようにプロセス全体を合理化できます。

  • 必要なインフラストラクチャを Terraform 構成ファイルに記述します。この構成をプロビジョニングする方法を説明するコードを、GKE API のオブジェクトとメソッドを使用して作成する必要はありません。
  • Terraform を使用して Terraform 構成を評価し、実行プランを生成します。この構成に基づいて、Terraform は GKE インフラストラクチャに加える予定の変更を示します。
  • Terraform を使用して実行プランの変更を適用します。Terraform は、バックグラウンドで GKE API を呼び出して、予定された変更を適用します。
    • Terraform 構成で定義されている GKE リソースまたはインフラストラクチャ オブジェクトが存在しない場合は、Terraform によって作成されます。
    • GKE リソースまたはインフラストラクチャ オブジェクトが存在していて、構成が異なる場合は、Terraform は Terraform 構成と一致するようにそれを更新します。
    • GKE リソースまたはインフラストラクチャ オブジェクトが Terraform 構成と一致している場合、Terraform が構成を変更することはありません。

GKE で Terraform を使用する方法については、Terraform で GKE クラスタを作成してワークロードをデプロイするをご覧ください。

GKE で利用可能な Terraform リソース

Terraform リソースは、インフラストラクチャ オブジェクトを表します。次の表に、GKE で使用できる Terraform リソースの一部を示します。

GKE のプロダクトまたはサービス Terraform リソース
Google Kubernetes Engine(GKE)Standard エディション google_container_cluster
google_container_node_pool
Google Kubernetes Engine(GKE)Enterprise エディション google_gke_hub_feature
google_gke_hub_feature_iam
google_gke_hub_feature_membership
google_gke_hub_fleet
google_gke_hub_membership
google_gke_hub_membership_binding
google_gke_hub_membership_iam
google_gke_hub_membership_rbac_role_binding
google_gke_hub_namespace
google_gke_hub_namespace
google_gke_hub_scope
google_gke_hub_scope_iam
google_gke_hub_scope_rbac_role_binding
Backup for GKE google_gke_backup_backup_plan
google_gke_backup_backup_plan_iam
google_gke_backup_restore_plan
google_gke_backup_restore_plan_iam

Terraform の詳細

次のステップ