Ansible 支持用 Python 编写的自定义模块。对于非本地的执行类型(本地意思是connection: local& hosts: localhost),ansiblessh的 python 包到远程节点,每次播放。ansible 是否支持在 Go 中编写模块?如果是,这些模块可以是远程执行类型吗?因为 Go 工件是二进制工件。
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
任务是使用模块实现的。大多数模块都是用 Python 编写的,但如果您愿意,也可以使用其他语言。
从Building A Simple Module指南中,它指出:
我们将在这里使用 Python,但任何语言都是可能的。只需要文件 I/O 和输出到标准输出。所以,bash、C++、clojure、Python、Ruby,任何你想要的都可以。
BIG阳
TA贡献1859条经验 获得超6个赞
是的,您可以在 Go 中编写 Ansible 模块并在远程主机上运行二进制文件。让自己与 Ansible 一起前进:
从 Ansible 运行 Go 程序至少有四种不同的方式。您可以:
安装 Go 并使用 Ansible 中的 go run 命令运行您的 Go 代码。
在执行之前为不同平台交叉编译你的 Go 代码。然后根据您从主机收集的事实,从 Ansible 调用正确的二进制文件。
从具有 containers.podman 集合的容器运行您的 Go 代码或编译的二进制文件。
使用 NFPM 之类的东西创建 Go 代码的 RPM 包,并将其安装在目标主机的系统中。然后,您可以使用 Ansible 模块 shell 或命令调用它。
- 2 回答
- 0 关注
- 397 浏览
添加回答
举报
0/150
提交
取消