针对 GKE 的 Terraform 支持


Terraform 是一种基础架构即代码 (IaC) 工具,可用于为多种 Google Cloud 服务(包括 Google Kubernetes Engine (GKE))预配资源和权限。

Terraform 具有面向配置的声明性语法,您可以使用它来描述要在 GKE 项目中预配的基础架构。在一个或多个 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,请参阅创建 GKE 集群并使用 Terraform 部署工作负载

GKE 的可用 Terraform 资源

Terraform 资源表示基础架构对象。下表列出了 GKE 可用的一些 Terraform 资源:

GKE 产品或服务 Terraform 资源
Google Kubernetes Engine (GKE) 标准版 google_container_cluster
google_container_node_pool
Google Kubernetes Engine (GKE) 企业版 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

后续步骤