为了账号安全,请及时绑定邮箱和手机立即绑定

ansible 是否支持用 Go 编写的模块?

ansible 是否支持用 Go 编写的模块?

Go
RISEBY 2022-05-18 17:02:49
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,任何你想要的都可以。


查看完整回答
反对 回复 2022-05-18
?
BIG阳

TA贡献1859条经验 获得超6个赞

是的,您可以在 Go 中编写 Ansible 模块并在远程主机上运行二进制文件。让自己与 Ansible 一起前进:

从 Ansible 运行 Go 程序至少有四种不同的方式。您可以:

  1. 安装 Go 并使用 Ansible 中的 go run 命令运行您的 Go 代码。

  2. 在执行之前为不同平台交叉编译你的 Go 代码。然后根据您从主机收集的事实,从 Ansible 调用正确的二进制文件。

  3. 从具有 containers.podman 集合的容器运行您的 Go 代码或编译的二进制文件。

  4. 使用 NFPM 之类的东西创建 Go 代码的 RPM 包,并将其安装在目标主机的系统中。然后,您可以使用 Ansible 模块 shell 或命令调用它。


查看完整回答
反对 回复 2022-05-18
  • 2 回答
  • 0 关注
  • 397 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信