通过本地的Ansible Galaxy来管理私有的Collection(Galaxy NG版本)

首先

我之前在本地的Ansible Galaxy写了一篇关于私有Collection管理的文章。这次我想尝试一下Galaxy NG这个另一种实现。

从前端库的描述来看,它被称为“用于Ansible Automation Hub的前端”,所以可以将其定位为Tower 3.8.0之后内置的Automation Hub的OSS版本。

※ 参考:https://tekunabe.hatenablog.jp/entry/2020/11/19/091903

请在以下网址中参考:https://tekunabe.hatenablog.jp/entry/2020/11/19/091903。

尝试过的环境

银河NG 4.2.0
CentOS Linux 发行版 7.8.2003(银河NG的安装位置。本次使用了在Oracle Cloud的免费框架上搭建的1核心CPU、1GB内存的服务器)
Ansible 2.9.13(用于安装的工具。与上述的CentOS不同,我在自己的终端上安装并使用)
AWX 15.0.1(安装后的运行环境)

安装步骤

由于存储库中存在文档,所以将按照其指示进行。

我将从已安装Ansible的终端执行以下步骤。

安装所需的收集。

$ ansible-galaxy collection install pulp.pulp_installer
$ ansible-galaxy collection install ansible.galaxy_collection

获取用于安装的Playbook等文件。

$ git clone https://gist.github.com/629ba52d68301cc9798227b87704df84.git example
$ cd example

修改enduser-install-vars.yml中的“pulp_default_admin_password”值。
这个值将成为管理员用户的登录密码。

$ vi enduser-install-vars.yml

安装pulp_installer后,需要安装必要的角色集合以使其正常运行。

$ ansible-galaxy install -r ~/.ansible/collections/ansible_collections/pulp/pulp_installer/requirements.yml

创建要安装到的服务器的inventory文件。

$ vi hosts
XXX.XXX.XXX.XXX ansible_user=opc

我使用Ansible进行安装。
文档中提到了两种方式,一种是使用Python包的方法,另一种是使用RPM包的方法。我选择了使用Python包的方法来执行。

$ ansible-playbook enduser-install.yml -i hosts --extra-vars "@enduser-install-vars.yml"
スクリーンショット 2020-11-11 0.40.04.png

上传收藏品

スクリーンショット 2020-11-20 16.45.29.png

创建命名空间后,点击“上传集合”进行上传。

スクリーンショット 2020-11-20 16.39.44.png
スクリーンショット 2020-11-20 16.58.18.png
$ ansible-galaxy collection publish <Collectionのtar.gz> --api-key <発行したトークン> --server https://<サーバーのIP>/api/galaxy/ --ignore-certs

从AWX使用

以前,Galaxy服务器的设置在”设置”中,但大约在15版本左右,似乎变成了”认证信息”。

スクリーンショット 2020-11-20 20.22.19.png
スクリーンショット 2020-11-20 20.49.59.png
スクリーンショット 2020-11-20 21.06.17.png

在以前的文章中已经提到,只要创建一个包含collections/requirements.yml文件的项目,就可以使用在Galaxy NG上上传的集合。所以以上就是设置的全部内容。

结束

安装和初始设置相较于普通的Galaxy,这个似乎更加简单。
而且,由于Private Automation Hub也发布了,我想以后可能会成为主流吧。

广告
将在 10 秒后关闭
bannerAds