Ansible Galaxy

2024 年 8 月 29 日 | 阅读 2 分钟

Ansible Galaxy 是一个 galaxy 网站,用户可以在其中共享角色,它还是一个用于安装、创建管理角色的命令行工具。

Ansible Galaxy 让 Ansible 最令人兴奋的功能(例如应用程序安装或服务器配置的可重用角色)具有更高的可见性。 很多人在 Ansible Galaxy 中分享角色。

Ansible 角色由许多 playbook 组成,这是一种将多个任务分组到一个容器中的方法,以便以非常有效的方式通过干净的目录结构进行自动化。

Ansible Galaxy 命令

以下是一些有用的 Ansible Galaxy 命令,例如

  • 显示已安装角色的列表,以及版本号。
  • 删除已安装的角色。
  • 创建一个适合提交到 Ansible Galaxy 的角色模板。

使用 Ansible Galaxy 创建角色

Ansible Galaxy 本质上是一个大型的 Ansible 角色公共存储库。角色附带 README,详细说明角色的使用和变量。Ansible Galaxy 包含大量角色,这些角色不断发展和增加。

Galaxy 可以使用 Git 添加其他角色源,例如 GitHub。 您可以使用 ansible-galaxy init 初始化一个新的 galaxy 角色,或者通过执行 ansible-galaxy install <角色名称> 命令直接从 Ansible galaxy 角色存储中安装角色。

要使用 Ansible Galaxy 创建 Ansible 角色,您需要使用 ansible-galaxy 命令及其模板。 角色必须先下载才能在 playbook 中使用。 它们被放置在默认目录/etc/ansible/roles 中。

创建集合 (Collections)

Ansible Galaxy 一直是使用 Ansible 的新迭代来构建和管理角色的工具,您一定会看到更改或添加。 在 Ansible 版本 2.8 上,您获得了集合的独特功能。

集合是 Ansible 内容的分发格式。 它们可用于打包和分发角色、模块、playbook 和插件。

集合遵循以下简单结构

ansible-galaxy-collection 命令实现以下命令。 一些命令与 ansible-galaxy 使用的命令相同,例如

  • init: 它基于 Ansible 附带的默认模板或您自己的模板创建基本集合骨架。
  • build: 它创建一个可以上传到 galaxy 或您自己的存储库的集合工件。
  • publish: 它将构建的连接工件发布到 galaxy。
  • install: 它安装一个或多个连接。