OpenTofu 是什么?

OpenTofu 是一个开源的基础设施即代码(IaC)框架,被提出作为 Terraform 的替代方案,并由 Linux 基金会管理。OpenTofu 的问世为应对 HashiCorp 将 Terraform 的许可证从 Mozilla Public License v2.0(MPLv2)更改为 Business Source License v1.1 而开发的。OpenTofu 的目标是提供可靠且公正的基础设施即代码管理选项,确保其在稳定的许可证下保持真正的开源。

在 Linux 基金会的指导下,OpenTofu 可以无缝地替代 Terraform v1.6.x,同时确保与 Terraform v1.5.x 及其之前的版本完全向后兼容。

自 OpenTofu 创建以来,该项目引起了极大的关注。截至本文撰写时,OpenTofu 项目在 GitHub 上拥有超过16,800个星标,而 OpenTofu Manifesto 项目则有超过36,200个星标。

在 Walrus 中集成 OpenTofu

默认情况下,Walrus 使用 Terraform 作为其部署引擎。由于 OpenTofu 是 Terraform 的直接代替,您可以在 Walrus 系统中无需任何代码更改地轻松设置 OpenTofu。

按照快速入门指南(https://seal-io.github.io/docs/zh/quickstart) 部署 Walrus 服务器,并在 Kubernetes 集群中设置容器服务。

首先,检查服务的部署日志。

可以看到这里使用 Terraform 执行部署。

接下来,通过以下步骤切换到 OpenTofu:

  • 在左侧导航菜单中点击 系统设置
  • 点击 部署管理
  • 点击 基础设置 旁边的 编辑 按钮。
  • 将运行 镜像 更改为 sealio/opentoufu-deployer:v1.6.0-beta5-1
  • 点击 保存

接下来,Walrus 将使用 OpenTofu 作为部署引擎。让我们通过以下步骤创建另一个服务:

  • 在左侧导航菜单中点击 应用管理
  • 点击进入 dev 环境详细页面。
  • 点击 新建 并选择 服务
  • 输入名称为 myapp-tofu
  • 选择容器服务模板。
  • Image 字段中填入 nginx
  • 点击保存并部署。

部署完成后,让我们再次查看部署日志。

日志中显示了 OpenTofu 的版本和调用信息,说明这一次 Walrus 使用了 OpenTofu 执行部署。细心的读者会发现在 CLI 参数中还有 terraform 的字样,这是因为在该镜像中,我们给 tofu 设置了 terraform 的别名。

未来展望

通过上述教程,我们可以体验到 Walrus 的灵活性,此外它还可以集成到任意 CI/CD 流水线中,帮助您简化应用部署和应用交付。

在 HashiCorp 宣布修改 Terraform 的开源许可证之后,OpenTofu 一直被业界视为 Terraform 的最佳开源替代项目。OpenTofu 在其官方博客(https://opentofu.org/blog/opentofu-release-candidate-is-out) 中宣布将于本月发布首个稳定版本。

对于用户来说,从 Terraform 切换到 OpenTofu 自然不是为了一时新鲜,而是期望借助一个稳定的开源项目实现 IaC。我们会持续关注 OpenTofu 的项目进展,期待借助 OpenTofu 所带来的创新方案为用户解决当前面临的问题与挑战。

在 Walrus 上轻松集成 OpenTofu的更多相关文章

  1. React Native 轻松集成分享功能(iOS 篇)

    产品一直催我在 RN 项目中添加分享功能,一直没找到合适的库,今天让我看到了一个插件分享给大家. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台 ...

  2. React Native 轻松集成统计功能(Android 篇)

    关于推送的集成请参考这篇文章,本篇文章将引导你集成统计功能,只需要简单的三个步骤就可以集成统计功能. 第一步 安装 在你的项目路径下执行命令: npm install janalytics-react ...

  3. React Native 轻松集成分享功能(Android 篇)

    关于推送的集成请参考这篇文章,关于统计的集成请参考这篇文章,本篇文章将引导你集成分享功能. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台如下: ...

  4. 程序员必备的编程助手!SmartCoder助你轻松集成HMS Core

    当开发者在集成HMS Core遇到一些疑问时,需要翻阅官网文档,反复查看集成说明或者API调用说明,或者研究GitHub上的开源示例代码,花费较多的时间,在IDE环境和网页浏览器之间反复切换也会耗费很 ...

  5. 在KCloud上轻松“玩转”Docker

    继CoreOS和Atomic镜像上线之后,刻通云紧跟Docker技术发展脚步,近期又推出了Ubuntu Core镜像,成为国内首家支持Ubuntu Core镜像的基础云服务商,同时也是国内唯一一家同时 ...

  6. React Native 轻松集成统计功能(iOS 篇)

    最近产品让我加上数据统计功能,刚好极光官方支持数据统计 支持了 React Native 版本 第一步 安装: 在你的项目路径下执行命令: npm install janalytics-react-n ...

  7. Linux平台上轻松安装与配置Domino

    Linux平台上轻松安装与配置Domino Domino Server的编译安装过程中需要用到libstdc++-2.9和glibc-2.1.1(或者其更高的版本)两个编译模块,它们是Linux开发编 ...

  8. 读懂 PetaLinux:让 Linux 在 Zynq 上轻松起“跑”(转)

    对于Zynq这样一个“ARM+可编程逻辑”异构处理系统我们已经不陌生,其创新性大家也有目共睹.不过想要让更多的应用享受到这一“创新”带来的红利,让其真正“落地”则需要大量系统性的工作,去营造一个完善的 ...

  9. 从Github上轻松安装R包—githubinstall包--转载

    1.综述 越来越多的R包正在由世界上不同的人所创建,其中一部分原因是devtools包使得开发R包1变得更加简单.devtools包不仅让开发R包变得简单,而且用于分发R包. 当开发者发布一个R包的时 ...

  10. 微软Azure配置中心 App Configuration (一):轻松集成到Asp.Net Core

    写在前面 在日常开发中,我这边比较熟悉的配置中心有,携程Apollo,阿里Nacos(配置中心,服务治理一体) 之前文章: Asp.Net Core与携程阿波罗(Apollo)的第一次亲密接触 总体来 ...

随机推荐

  1. Azure Data Factory(九)基础知识回顾

    一,引言 在本文中,我们将继续了解什么是 Azure Data Factory,Azure Data Factory 的工作原理,Azure Data Factory 数据工程中的数据管道,并了解继承 ...

  2. Llama2-Chinese项目:4-量化模型

    一.量化模型调用方式   下面是一个调用FlagAlpha/Llama2-Chinese-13b-Chat[1]的4bit压缩版本FlagAlpha/Llama2-Chinese-13b-Chat-4 ...

  3. bash解释器特性、目录结构、命令种类及优先级、常用命令

    bash解释器的交互式环境特性 命令和文件自动补全 注意:Tab只能补全命令和文件及其文件路径 [root@localhost ~]# ls /etc/sysconfig/network-script ...

  4. 【ZT】关于字符集

    utf8 全包容了gbk ,并不是说超集和子集:8i 的数据库 的 utf8 是  4位定长的字符编码:9i 和以上数据库的utf8   有4位定长AL32UTF8和  不定长的  UTF8  ,都是 ...

  5. the solution of Mining Your Own Business

    the description of problem (我看的是 PDF 里面的原题所以这里描述会和题目不一样,但是大意一致) 给定一个未必连通的无向图,问最少在几个点设置出口,可以保证任意一个点坍塌 ...

  6. UVA10054 The Necklace 题解

    好可恶一道题,怎么没人告诉我输出之间有空行( 思路是先抽象成图,然后跑一边dfs记录边的前后顺序. 对于不能成环的情况,只需要再开个数组记录度数判断奇点即可. 若存在奇点则break掉,剩下的跑dfs ...

  7. IL编制器 --- Fody

    介绍 这个项目的名称"Fody"来源于属于织巢鸟科(Ploceidae)的小鸟(Fody),本身意义为编织. 核心Fody引擎的代码库地址 :https://github.com/ ...

  8. HttpWebResponse获取DOM数据注意之ContentEncoding

    public string GetKaiJ(string type = "ssq") { /*1.通过WebBrowser控件&HttpWebRequest获得网站信息*/ ...

  9. AGC044C Strange Dance 题解

    在2020年A卷省选day2t2有类似建立trie的技巧. 题目链接 显然是建一棵三叉trie树,代表0/1/2 对这棵trie树,我们需要支持子树交换和全局加1 考虑第一个操作怎么做?直接打个懒标记 ...

  10. SSL证书链及使用

    什么是证书链 证书链简单来说是域名钥证书.CA公钥.根证书形成的一个颁发链条,属于公钥的一部分. 更白话一点,就是证书链文件包含一系列CA机构公钥的证书. 证书链格式 一般证书链格式是.chain,证 ...