Ansible 自动化运维实战系列(七):Galaxy详解

发布于:2025-08-17 ⋅ 阅读:(17) ⋅ 点赞:(0)

📚 系列导航

👉 第一篇:概述、部署与命令
👉 第二篇:主机清单详解
👉 第三篇:常用模块详解
👉 第四篇: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 安装功能扩展包

📜用途:快速复用自动化脚本,提升部署效率。

⚠️注意:检查兼容性,生产环境建议指定版本。


网站公告

今日签到

点亮在社区的每一天
去签到