在 Walrus 上轻松集成 OpenTofu

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 集群中设置容器服务。

 

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

 

image.png

 

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

 

image.png

 

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

 

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

 

image.png

 

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

 

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

 

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

 

image.png

 

日志中显示了 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 所带来的创新方案为用户解决当前面临的问题与挑战。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/294184.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

内网穿透的应用-使用Docker本地部署可编辑导航页结合内网穿透实现远程访问

文章目录 1. 使用Docker搜索镜像2. 下载镜像3. 查看镜像4. 启动容器5. 浏览器访问6. 远程访问6.1 内网穿透工具安装6.2 创建远程连接公网地址6.3 使用固定二级子域名地址远程访问 今天和大家分享如何使用Docker本地部署一个开源的简约风格网址导航页,支持五种搜索引…

GeoServe本地部署结合内网穿透实现远程访问Web管理界面

文章目录 前言1.安装GeoServer2. windows 安装 cpolar3. 创建公网访问地址4. 公网访问Geo Servcer服务5. 固定公网HTTP地址 前言 GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除、插入…

域名流量被劫持怎么办?如何避免域名流量劫持?

随着互联网不断发展,流量成为线上世界的巨大财富。然而一种叫做域名流量劫持的网络攻击,将会在不经授权的情况下控制或重定向一个域名的DNS记录,导致用户在访问一个网站时,被引导到另一个不相关的网站,从而劫持走原网站…

查询slurm集群各个节点的运行情况

引言 slurm系统是一个集群,它原生的使用方式可以参考之前写的《slurm初识》和《slurm快速入门》。有时候我们想知道我们能申请哪些节点,以及各个节点的使用情况。 原生的指令大概有这两个,一个是使用squeue的方式列举出当前的工作列表。 …

Windows通过注册表修改socket缓冲区大小的方法

在 Windows 通过修改注册表来更改 UDP 缓冲区的大小,按照以下步骤进行操作: 打开注册表编辑器:按下 Win R 键,然后输入 "regedit" 并点击 "确定"。 导航到以下路径:HKEY_LOCAL_MACHINE\System\C…

每日汇评:今天市场重点都转移到美国非农就业数据

周四美元走势摇摆不定; 到目前为止,欧元兑美元仍受到1.0900区域的支撑; 市场的下一个风险事件是美国就业数据的发布; 欧元兑美元在周四成功恢复了上涨动力,并短暂重返1.0970区间,在连续四个交易日的空头主导…

微服务应用可观测性解决方案介绍

目录 一、可观测性出现背景 二、什么是可观测性(Observability) 2.1 可观测性的不同解析 2.1.1 百度维基解析 2.1.2 IBM解析 2.1.3 CNCF(云原生计算机基金会)组织解析 2.1.4 我的个人理解 2.2 可观测性和监控的区别与联系 …

C++完成使用map Update数据 非二进制

1、在LXMysql.h和LXMysql.cpp分别定义和编写关于pin语句的代码 //获取更新数据的sql语句 where语句中用户要包含where 更新std::string GetUpdatesql(XDATA kv, std::string table, std::string where); std::string LXMysql::GetUpdatesql(XDATA kv, std::string table, std…

OpenHarmony内存泄漏指南 - 解决问题(综合)

本系列文章旨在提供定位与解决OpenHarmony应用与子系统内存泄露的常见手段与思路,将会分成几个部分来讲解。首先我们需要掌握发现内存泄漏问题的工具与方法,以及判断是否可能存在泄漏。接着需要掌握定位泄漏问题的工具,以及抓取trace、分析tr…

我们正迎来计算基因的巨大变革,即将到来的不仅是量子技术——

计算机是围绕逻辑构建的:利用电路执行数学运算。逻辑是围绕诸如加法器——这种将两个数字相加的基本电路,而构建的。 今天的微处理器和计算机历史初期的所有微处理器都是如此。这可以追溯到算盘,在某些基本层面上,这和你闪亮的游戏…

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt)

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt) 一、对于txt,图片类的二、对于word,xlsx,ppt类的1.a标签可以实现下载2. window.open() 一、对于txt,图片类…

软件推荐:MobaXterm

介绍 MobaXterm 是远程计算的终极工具箱,它提供了几乎所有重要的远程网络工具,SSH、RDP、FTP、VNC,只要你能想到的,都可以在MobaXterm中找到。除了海量协议外,MobaXterm 还支持安装额外的插件来扩展其功能。 软件官网…

技术查漏补缺(1)Logback

一、下定义&#xff1a;Logback是一个开源的日志组件 二、Logback的maven <!--这个依赖直接包含了 logback-core 以及 slf4j-api的依赖--> <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><v…

MySQL-数据库概述

数据库相关概念&#xff1a; 数据库(DateBase)简称DB,就是一个存储数据的仓库&#xff0c;数据有组织的进行存储。 数据库分为关系型数据库简称RDBMS和非关系型数据库 关系型数据库简称RDBMS:建立在关系模型的基础上&#xff0c;由多张相互连接的二维表组成的数据库.简单来说…

D6208双向直流马达驱动芯片 用于IPC产品,可兼容BA6208,噪声低 ,工作电源电压范围宽。

D6208 是一块单片双向马达驱动电路&#xff0c;它使用TTL电平的逻辑信号就能控制卡式录音机和其它电子设备中的双向马达。该电路由一个逻辑部分和一个功率输出部分组成。逻辑部分控制马达正、反转向及制动&#xff0c;功率输出部分根据逻辑控制能提供100mA&#xff08;典型值&a…

处理数组,将一维转二维

实现金刚区可滑动效果 由于后端返回的数据是 不符合项目需求&#xff0c;所以需要将它转为为二位数组 // 转为二维数组convertOneDimArray() {let arr [integral, kefu-ermai, coupon, gift, scan, pause-circle, wifi, email, integral,kefu-ermai, coupon, gift, scan, pau…

前端知识体系思维导图

绝大部分分类方法、专业术语&#xff0c;出自专业书籍&#xff0c;如《JavaScript 高级程序设计&#xff08;第 4 版&#xff09;》、《JavaScript 权威指南&#xff08;第 7 版&#xff09;》《CSS 权威指南&#xff08;第四版&#xff09;》、《HTML5 权威指南》、《计算机网…

Postman的七种断言方法+超时设置!

超时的设置 Settings->General->Request Timeout in ms(0 for infinity)&#xff1a;设置请求超时的时间,默认为0 1.postman断言介绍 postman在发送请求后&#xff0c;需要对返回的结果做判断&#xff0c;验证是否符合预期&#xff0c;如状态码、响应头、响应正文等信息…

关于一名资深Java程序员在移动端的进阶之路

今天呢&#xff0c;就借此机会&#xff0c;跟大家聊一聊我的个人职业经历吧&#xff01; 那年刚毕业 刚毕业时候&#xff0c;入职的第一家公司&#xff0c;进去后&#xff0c;说实话&#xff0c;没有太大成长吧&#xff01;基本就是让我做一些可有可无的边缘性的工作&#xff…

提升办公效率:掌握批量文件重命名的技巧

在日常生活和工作中&#xff0c;经常要处理大量的文件&#xff0c;如文档、图片、音频等。在这些情况下&#xff0c;会遇到要批量重命名文件的情况。如果一个一个地重命名&#xff0c;不仅耗时&#xff0c;而且效率低下。今天来讲解一些技巧通过批量重命名文件&#xff0c;从而…