写点什么

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:001410

评论

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

TypeScript | 第五章:高级类型

梁龙先森

typescript 大前端 七日更

生产环境全链路压测建设历程 20:某快递 A 股上市公司的生产压测案例之彩蛋

数列科技杨德华

全链路压测 七日更

你不得不知道的反射(非常重要)

安琪拉的博客

Java 反射 java反射

到底什么是 CDN

转山转水

CDN

Hystrix-技术专题-基础运作原理

洛神灬殇

“关灯”看这出戏,依旧是百年至美

脑极体

skynet源码分析之网络层—Lua层

赖猫

c++ lua skynet

架构师训练营大作业1

邓昀垚

领域驱动落地实现

星际行者

DDD 领域驱动

python3参考秘籍-附PDF下载

程序那些事

Python 程序那些事 Python秘籍 Python数据分析

架构师训练营 1 期 - 第十三周 - 数据应用 2

三板斧

极客大学架构师训练营

一个HashMap能跟面试官扯上半个小时

安琪拉的博客

Java HashMap底层原理

ModelArts黑科技揭秘|模型智能评估、诊断,让模型来个“体检

华为云开发者联盟

AI 模型 华为云 modelarts 智能诊断

垃圾回收你懂,Java垃圾回收你懂吗?

华为云开发者联盟

Java 虚拟机 存储 对象 垃圾回收

架构师系列11 微服务架构的思考

桃花原记

多线程之信号量(By C++)

赖猫

c++ 多线程

架构师训练营第十周作业

丁乐洪

Multi-Architecture镜像制作指南已到,请查收!

华为云开发者联盟

Docker Kubernetes 容器 镜像 Multi-Architecture

刨根问底,kafka到底会不会丢消息

爱笑的架构师

kafka 消息队列 Kafka知识点 消息中间件 七日更

如何解决MySQL主从数据库没有同步的问题?

冰河

MySQL 高可用 主从复制

第十三周 数据应用2 总结

三板斧

极客大学架构师训练营

思考-国际化系统表结构设计

BerryMew

回溯和动态规划解决每次移动一步最终回到原地算法、富兰克林成功要素和狗熊掰棒子、swift多线程编程入门operation John 易筋 ARTS 打卡 Week 31

John(易筋)

ARTS 打卡计划 富兰克林成功要素 狗熊掰棒子 动态规划解决移动回到原地 swift operation

今天,我们为什么应该读懂华为人工智能?

脑极体

刘华:戏说Docker和K8s,一文让你成为懂王

刘华Kenneth

Docker 云计算 Kubernetes DevOps k8s

笔记|怎样成为高效学习的人

熊斌

学习 个人成长 成长笔记 七日更

工具之书:《账簿与权力》与 GNUCash

lidaobing

GNUCash 28天写作

GitHub标星78.9K的算法宝典,让你分分钟刷爆LeetCode,更有“左神”精讲视频加持,金三银四offer手到擒来

程序员 面试 算法 架构师

微服务:服务本身的设计、维护以及治理

积极&丧

加快你ROS安装的一篇文章

良知犹存

ROS

Thread 线程,状态转换、方法使用、原理分析

小傅哥

线程 小傅哥 Thread 七日更 状态流转

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