更新时间:2026-08-17 GMT+08:00

Terraform概述

Terraform是HashiCorp推出的基础设施即代码(IaC)工具(提供开源版及企业版),通过HCL(HashiCorp Configuration Language)声明式地描述基础设施目标状态,并为多云、网络、本地数据中心及SaaS环境提供统一的资源生命周期管理能力。

基本概念

Terraform的核心工作流程包含以下三个阶段。

阶段

说明

编写(Write)

编写可读的配置文件来定义所需基础设施的资源配置。Terraform采用声明式配置文件,开发者只需描述所需资源的最终状态。

计划(Plan)

Terraform会对比配置文件中所描述的目标状态与基础设施的当前实际状态,生成一个执行计划,说明如何从当前状态达到期望状态。执行计划会以基础设施清单的形式呈现。

申请(Apply)

执行计划确认后,Terraform按照正确的顺序执行建议的操作,同时考虑资源依赖关系,并按依赖顺序创建资源。

Terraform的主要组件如下表所示。

组件

说明

配置文件

开发者定义基础设施资源的核心载体,用于声明所需的Provider、资源及其配置参数。

模块

可复用的基础设施代码单元,支持将复杂架构封装为模块化模板,避免重复编写。

状态文件

记录基础设施当前实际状态的文件,包括组件、配置以及资源之间的关系。

提供商(Provider)

Terraform与外部服务和平台的API交互的插件,使Terraform能够管理环境中的资源。

Terraform CLI

Terraform 的命令行工具,用于初始化工作目录、生成执行计划、应用变更以及与各核心组件进行交互。

Terraform优势

  • 多云管理

    Terraform适用于多云方案,运维人员可以使用Terraform统一管理包括华为云在内等多个云上的资源。

  • 自动化管理基础架构

    Terraform能够创建配置文件的模板,可以无需交互自动化快速创建资源。

  • 高复用性与模块化

    将常用的架构配置编写成可复用的模块,实现快速、标准化复制。

  • 降低开发成本

    可以通过按需创建开发和部署环境来降低成本。

使用Terraform管理华为云CCE

Terraform可以通过以下资源管理CCE集群及相关资源。Terraform的资源类型:

  • Resource:资源,指新创建的资源。
  • Data Source:数据源,查询已有的资源信息并获取其属性。

资源列表

名称

用途

huaweicloud_cce_access_policy

授权CCE集群的RBAC权限

huaweicloud_cce_addon

在CCE集群内部署插件

huaweicloud_cce_chart

管理CCE集群的chart应用模板

huaweicloud_cce_cluster

创建CCE集群

huaweicloud_cce_cluster_certificate_revoke

删除授予的RBAC权限

huaweicloud_cce_cluster_log_config

管理CCE集群的日志配置

huaweicloud_cce_cluster_pod_identity_association

创建pod-identity关联

huaweicloud_cce_cluster_upgrade

升级CCE集群

huaweicloud_cce_image_cache

创建容器镜像缓存

huaweicloud_cce_namespace

在CCE集群中创建命名空间

huaweicloud_cce_node

在CCE集群中创建节点

huaweicloud_cce_node_attach

将ECS纳管到CCE集群中

huaweicloud_cce_node_pool

在CCE集群中创建节点池

huaweicloud_cce_node_pool_nodes_add

将CCE集群中的节点加入到指定节点池中

huaweicloud_cce_node_pool_scale

CCE集群节点池的扩缩容

huaweicloud_cce_node_sync

CCE节点同步云服务器信息

huaweicloud_cce_nodes_certificate_rotatecredentials

轮转用户的集群证书

huaweicloud_cce_nodes_remove

删除CCE节点

huaweicloud_cce_partition

创建CCE节点分区

huaweicloud_cce_pvc

在CCE集群中创建存储卷声明

huaweicloud_cce_release

在CCE集群中部署应用模板

数据源列表

名称

用途

huaweicloud_cce_access_policies

获取CCE集群已有的RBAC权限

huaweicloud_cce_addon_template

获取CCE集群插件配置模板

huaweicloud_cce_addons

获取CCE集群中的插件部署情况

huaweicloud_cce_chart_values

获取chart应用模板的values

huaweicloud_cce_charts

获取CCE集群中的chart应用模板列表

huaweicloud_cce_cluster

获取CCE集群的信息

huaweicloud_cce_cluster_certificate

获取CCE集群认证凭据

huaweicloud_cce_cluster_configuration_details

获取CCE集群的配置信息

huaweicloud_cce_cluster_configurations

获取CCE集群的现有配置

huaweicloud_cce_cluster_pod_identity_assume_agency

获取CCE集群中的pod-identity关联信息

huaweicloud_cce_cluster_upgrade_info

获取CCE集群的升级信息

huaweicloud_cce_clusters

获取现有的CCE集群列表

huaweicloud_cce_flavor_specifications

获取可用的CCE集群规格

huaweicloud_cce_image_caches

获取镜像缓存列表

huaweicloud_cce_node

获取CCE集群的节点信息

huaweicloud_cce_node_pool

获取CCE集群的节点池信息

huaweicloud_cce_node_pools

获取CCE集群的节点池列表

huaweicloud_cce_nodes

获取CCE集群的节点列表

huaweicloud_cce_releases

获取CCE集群中已部署的应用模板