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 リソースの一部を示します。
Terraform の詳細
- Terraform とは何か
- Terraform 言語のドキュメント
- Google Cloud の Terraform 関連ドキュメント
- Google Cloud Platform プロバイダのドキュメント
次のステップ
- Terraform GKE モジュールの GitHub リポジトリで独自の構成サンプルを確認する。