HashiCorp发布Terraform Cloud Operator V2:加强Kubernetes集成

2023年12月13日 由 daydream 发表 221 0

HashiCorp发布了Kubernetes的Terraform Cloud Operator的第二版本。该Operator通过单一的Kubernetes自定义资源(CR)允许对Terraform Cloud工作区进行管理。新版本增加了对多个客户资源的支持、设置特定命名空间的观察范围、改进的同步功能以及新公开的指标。


借助Kubernetes的Terraform Cloud Operator,可以直接从Kubernetes控制平面部署内部和外部基础设施。正如HashiCorp的高级软件工程师John Houston和产品经理Vishnu Ravindra所指出的:“平台团队现在可以为应用开发人员提供Kubernetes原生的工作流程,同时确保使用批准的Terraform模块。”


微信截图_20231213140642


Terraform Cloud Operator for Kubernetes的高级架构(图片来源:HashiCorp)


随着第二版本的发布,现在有多个自定义资源,每个资源都有其各自独立的控制器来管理不同的Terraform Cloud资源。现在可以修改分配给每个控制器的工作线程数量。默认情况下,每个控制器有一个工作线程,但可以增加更多工作线程以同时处理更多的自定义资源。


该Operator能够通过Kubernetes秘密管理Terraform Cloud代理池和Terraform Cloud代理令牌。它用于实施基于API的运行工作流程,并可用于管理Terraform Cloud工作区。以下示例创建了代理池,并生成了令牌:AgentPoolModuleWorkspaceagent-pool-developmenttoken-red

---
apiVersion: app.terraform.io/v1alpha2
kind: AgentPool
metadata:
name: this
spec:
organization: kubernetes-operator
token:
secretKeyRef:
name: tfc-operator
key: token
name: agent-pool-development
agentTokens:
- name: token-red
agentDeployment:
replicas: 1
autoscaling:
targetWorkspaces:
- name: us-west-development
- id: ws-NUVHA9feCXzAmPHx
- wildcardName: eu-development-*
minReplicas: 1
maxReplicas: 3

运行时,代理令牌被存储在Kubernetes秘密中。自动伸缩部分允许操作员确保至少运行一个代理pod,并且根据资源需求最多可以有3个。这是通过监控下列出的工作区的负载来完成的。token-redmy-agent-pool-token-redtargetWorkspaces


现在,操作员为每个自定义资源管理一个Terraform Cloud客户端。有了这一改进,单个Operator部署可以跨多个Terraform Cloud组织使用。


新版本还在标准的HTTPS端口上公开了遵循Prometheus格式的标准指标,每个控制器都可以在标准路径/metrics上以8443端口访问。Operator导出了controller-runtime提供的所有指标。公开指标的完整列表可以在Kubebuilder文档中找到。


新版本还增加了一个新选项,用于将Operator的观察范围聚焦到特定的命名空间。这个新的--namespace选项改进了自定义资源和Terraform Cloud之间的同步功能。--sync-period


Kubernetes的Terraform Cloud Operator适用于Terraform Cloud的用户。

文章来源:https://www.infoq.com/news/2023/12/hashicorp-terraform-kubernetes/
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消