写点什么

HashiCorp 发布 Terraform 操作符管理 Kubernetes 基础设施

  • 2020-04-27
  • 本文字数:1177 字

    阅读完需:约 4 分钟

HashiCorp 发布 Terraform 操作符管理Kubernetes基础设施

HashiCorp发布了用于 Kubernetes 的 Terraform 操作符(Alpha 版本),用于将基础设施作为代码予以管理。安装该操作符之后,用户可以使用 Kubernetes 清单同步 Terraform 工作空间。然后,运行于 Kubernetes 中的应用程序就可以使用 ConfigMaps 引用 Terraform 输出了。目前,该操作符只适用于 Terraform Cloud。


因为开发人员希望使用 Kubernetes 接口在 AWS SQS 中像队列一样提供基础设施,该 Terraform 操作符正是出于实现这一需求。首先,用户需要在他们的 Terraform Cloud 组织中创建一个令牌(免费和付费版均可),并将其作为密钥保存在 Kubernetes 中。然后,用 Helm 安装这个操作符。一旦它运行起来,用户就可以开始使用 Kubernetes 清单创建 Terraform 工作空间了。该操作符可以创建、更新和检索源自于 Terraform 工作空间的值,在 Terraform 云中执行 run,并在 Kubernetes 中更新 Terraform 工作空间状态。


为了提供基础设施,需要首先定义一个 Terraform 模块,以便 Kubernetes 只为该模块发送输入参数。开发人员既不定义 Kubernetes 清单中的 Terraform 模板,也不与之交互。这样做旨在简化设计,并减少集群中自定义资源定义(crd)的数量。开发人员创建 Terraform 工作空间清单,并为想要使用的每个 Terraform 模块输入定义值。如果基础设施资源准备就绪,开发人员可以通过 ConfigMaps(如 AWS SQS 端点)访问模块输出,之后可以引用运行在 Kubernetes 中的应用程序中的定义的值。


对于 Terraform 工作空间对象中的每一处变更,除了 AWS 密钥之类的敏感信息之外,该操作符都会提取出来,并使用 auto-approve 参数自动应用。另外,若要删除资源,用户可以通过运行 kubectl delete workspace sqs-queue 命令,使用 Kubernetes API 删除 Terraform 工作空间。


在内部,Terraform 工作空间控制器将协调 Kubernetes 工作空间 CRD 与 Terraform 云工作空间。若要执行变更,可运行 terraform apply -auto-approve 自动执行,但是用户可以在应用它们之前使用 Sentinel 进行验证。出于安全考虑,该操作符的作用域限定于命名空间。用户需要通过访问令牌才能与 Terraform Cloud 交互,只允许访问命名空间可以降低风险。


在这个 Alpha 版中,该操作符只对 Terraform Cloud 有效。HashiCorp 的开发大使 Rosemary Wang 在最近的一次虚拟办公会中说:我们将它的应用范围限定于 Terraform Cloud,因为我们想彻底了解它的表现,不想给这个操作符添加太多的逻辑。如果社区需要对其他后端(如 AWS S3)的支持,Wang 希望 Terraform 开源版本的用户在 GitHub 库中提出问题,解释其应用场景。


此外,该 Terraform 操作符可以为本地环境提供基础设施,而不只是在云或 SaaS 提供商中提供。


要了解关于 Terraform 操作符的更多信息,请访问该GitHub页面


原文链接:


Managing Infrastructure From Kubernetes with the HashiCorp Terraform Operator


2020-04-27 09:001420

评论

发布
暂无评论
发现更多内容

EMQ & 轻流:全托管物联网消息服务助力海量设备低代码智联

EMQ映云科技

物联网 mqtt

在Vue-cli中使用mock.js

CRMEB

JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载

汪子熙

JavaScript 设计模式 桥接模式 28天写作 12月日更

网络安全教程:13 信息收集

喀拉峻

黑客 网络安全 安全 信息安全

跟着源码学IM(九):基于Netty实现一套分布式IM系统

JackJiang

Netty websocket 即时通讯 IM

Gitee 如何自动部署 Pages?还是用 GitHub Actions!

冴羽

GitHub 前端 GitHub Pages gitee vuepress

如何看待制造企业的数字化转型,有哪些成功案例可以分享?

优秀

低代码 数字化转型 制造业

Python 的切片为什么不会索引越界?

Python猫

Python

电竞进入5G时代!腾讯云联合腾讯游戏CROS首秀5G电竞专网

科技热闻

开发者供不应求,传统企业如何拥抱 DevOps ?

SoFlu软件机器人

王者荣耀异地多活架构设计

Beyond Ryan

如何推动区块链与物联网深度融合,赋能数字化转型?

CECBC

如何提高用户留存?

石云升

AARRR 产品思维 28天写作 产品增长 12月日更

架构训练营 week3 作业

红莲疾风

「架构实战营」

CSS之变量

Augus

CSS 12月日更

基于区块链的去中心化身份技术有哪些应用前景?

CECBC

不要被数据蒙蔽你的眼睛

Geek_utwige

数据分析 统计学 辛普森悖论

十二张图带你了解 Redis 的数据结构和对象系统

程序员历小冰

redis 数据结构 28天写作 12月日更

如何正确的重写hashcode()

李子捌

Java 28天写作 12月日更

聊聊你每天是如何修bug的

卢卡多多

bug修复 28天写作 12月日更

复盘健康

将军-技术演讲力教练

基于HTML5/CSS/JS响应式圣诞老人过悬崖小游戏

海拥(haiyong.site)

28天写作 12月日更

SIGCOMM 首篇 Multi-path QUIC 论文:阿里自研多路径传输技术XLINK

阿里巴巴终端技术

网络协议 传输协议 移动端 客户端 QUIC

vue3.2组件库-element plus 自动按需引入

Mr.Cactus

typescript Vue3 Element Plus Vite2

🏆【CI/CD技术专题】「Docker实战系列」(1)本地进行生成镜像以及标签Tag推送到DockerHub

洛神灬殇

Docker 容器镜像 12月日更 Dockerhub

☕【Java深层系列】「技术盲区」让我们一起完全吃透针对于时间和日期相关的API指南

洛神灬殇

Java 工具 日期处理 12月日更

GrowingIO Reactor速成指南

GrowingIO技术专栏

响应式编程 reactor

动手做个 AI 机器人,帮我回消息!

程序员鱼皮

JavaScript AI 前端 nlp Node

优酷播放黑科技 | 基于WebRTC实现的直播“云多视角“技术解析

阿里巴巴终端技术

WebRTC 移动开发 直播技术 客户端

怎样的活动才算是成功?(20/28)

赵新龙

28天写作

NFT改变潮流,也在解放人类创造力的约束

CECBC

HashiCorp 发布 Terraform 操作符管理Kubernetes基础设施_软件工程_Christian Melendez_InfoQ精选文章