Ansible 自动化运维实战系列(七):Galaxy详解
- 📚 系列导航
- 一:概述
-
- 1)它是什么?
- 2)里面有什么?
- 3)能做什么?
- 二:使用
-
- 1)`ansible-galaxy install`
- 2)`ansible-galaxy role install`
- 3)`ansible-galaxy collection install`
- 总结
📚 系列导航
👉 第一篇:概述、部署与命令 👉 第二篇:主机清单详解 👉 第三篇:常用模块详解 👉 第四篇:Playbook详解 👉 第五篇:Roles详解 👉 第六篇:Valut详解 👉 第七篇:Galaxy详解
一:概述
它是 Ansible 官方提供的角色(roles)和集合(collections)共享平台,有点像“Ansible 的应用商店”。
1)它是什么?
想象一下你在用 Ansible 做自动化,比如要装 Nginx、配置 MySQL、部署 K8s…… 你有两种选择:
- 自己一步步写 playbook(很麻烦)
- 直接用别人写好的、成熟的 脚本包
这些现成的脚本包,就在 Ansible Galaxy 上面,它就像 “剧本超市”。
2)里面有什么?
- 别人写好的 角色(Role):已经帮你分好任务、模板、变量。
- 集合(Collection):比角色更大,可能包含多个角色、插件、模块。
- 都是开源的,你可以直接下载、改成适合自己的用法。
3)能做什么?
搜索:去 Galaxy 网站搜关键词,比如 nginx。
下载:用 ansible-galaxy install 下载到本地。
用:在自己的 playbook 里直接调用这些角色,而不是从零写。
二:使用
1)ansible-galaxy install
旧版本 Ansible 里这个命令默认是安装角色(Role),从 2.9 开始 有了集合(Collection)之后,这个命令不推荐直接装 Collection,而是用专门的子命令。
在 Ansible 2.9 之前,Galaxy 里只有 Role,没有 Collection。
# 默认保存到 ~/.ansible/roles,可以通过 -p 指定存放路径
ansible-galaxy install geerlingguy.nginx
2)ansible-galaxy role install
明确告诉 Ansible:我要装角色(Role),等价于旧的 ansible-galaxy install,只是语义更清晰。
# 默认保存到 ~/.ansible/roles,可以通过 -p 指定存放路径
ansible-galaxy role install geerlingguy.nginx
3)ansible-galaxy collection install
明确告诉 Ansible:我要装集合(Collection)。
集合是 Ansible 2.9 引入的新打包形式,里面可以包含:
- 多个角色(roles)
- 模块(modules)
- 插件(plugins)
- 文档
# 默认保存到 bash,可以通过 -p 指定存放路径
ansible-galaxy collection install community.mysql
总结
📜功能:官方共享平台,提供现成的Roles(角色)和Collections(扩展包)。
🔒 常用命令:
install 安装Role/Collection
role install 明确安装Role
collection install 安装功能扩展包
📜用途:快速复用自动化脚本,提升部署效率。
⚠️注意:检查兼容性,生产环境建议指定版本。
评论前必须登录!
注册