Ansible自动化(七) 管理主机清单凭据与作业模板
1 | 作者:李晓辉 |
要在自动化控制器中创建作业模板并测试 Playbook,必须准备好多个资源。通常,这些资源包括:
- 用于连接受管主机的计算机凭据。
- 用于下载和同步远程内容的源代码控制凭据,例如从 Git 存储库拉取和同步内容。
- 指定 Playbook 所在位置的项目。
- 至少包含一个主机的清单。
凭据资源概述
Ansible Galaxy / 自动化中⼼ API 令牌
创建凭据资源,使自动化控制器能够从 Ansible Galaxy、自动化中⼯和私有自动化中⼯下载内容集合和角色。
容器镜像仓库
需要身份验证才能从容器镜像仓库拉取镜像。
GitHub 个人访问令牌
创建 GitHub 个人访问令牌,并将其作为自动化控制器凭据来使用。
计算机凭据
此凭据指定用户名和密码,或用于 SSH 访问的私钥。
源代码控制凭据
使用此凭据从远程存储库同步项目资源。可以指定用户名和密码,或 SSH 私钥。
Vault 凭据
使用 Vault 凭据来解密通过 Ansible Vault 加密的文件。
创建凭据资源
课程中的自动化控制器的信息为:
地址:https://contoller.lab.example.com
用户名:admin
密码:redhat
创建和查看以下凭据可以在Web UI上操作:Resources > Credentials
创建这些凭据,需要提前准备资源,我这里执行lab自动完成准备
1 | lab start controller-playbooks |
创建Git凭据
来试试创建一个git仓库的凭据
在下图点击add
然后依次输入Name
、Organization
、Credential Type
,在Details中,可以选择使用用户名和密码,或者使用私钥,私钥还支持私钥的密码填充
我这里的私钥内容位于workstation
机器的 /home/student/.ssh/gitlab_rsa
创建好之后,再去创建一个项目就可以引用此凭据了
需要注意,必须将source control type
改成Git
才能用我们的凭据
创建了项目之后,项目会自动同步git仓库里的内容
创建机器凭据
Ansible 执行任务肯定要连接服务器,此时就需要用户名和密码等信息,只需要关联我们的机器凭据就行
这里把能有的参数都正确输入,比如用户名、密码、sudu的用户名密码什么的
创建清单文件
左侧的inventories
–add
–add inventory
这里只需要注意输入名称就可以保存,具体的主机和组在下一步添加或同步
这里可以手工输入主机或组,也可以从我们的git仓库中同步,我这里选择同步
这里选择从项目中获得主机和组,记得选好项目以及项目中的清单文件,另外需要注意的是,我们的项目是git,而git是会同步新内容的,所以要勾选在项目更新的时候,我们也更新一下主机组
按照下图做好保存后,会自动获取主机和组
创建作业模板
左侧的templates
–add
–add templates
选好清单、项目、执行环境
后,playbook就会出现在下拉框里,最后选择我们的计算机凭据即可保存
保存后,点击一下运行看看效果
可以看到成功的运行了,我们打开serverf看看网站是否部署好了
1 | [student@workstation ~]$ curl http://serverf.lab.example.com |
非常完美,网站已经成功运行。