24.7. 在使用 rhc RHEL 系统角色注册主机时使用代理服务器
如果您的安全限制只允许通过代理服务器访问互联网,您可以在使用 rhc
RHEL 系统角色注册系统时在 playbook 中指定代理设置。
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。
流程
将您的敏感变量存储在一个加密文件中:
创建 vault :
$ ansible-vault create vault.yml New Vault password: <password> Confirm New Vault password: <vault_password>
在
ansible-vault create
命令打开编辑器后,以<key>: <value>
格式输入敏感数据:username: <username> password: <password> proxy_username: <proxyusernme> proxy_password: <proxypassword>
- 保存更改,并关闭编辑器。Ansible 加密 vault 中的数据。
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:要使用代理注册到红帽客户门户网站:
--- - name: Register using proxy hosts: managed-node-01.example.com vars_files: - vault.yml roles: - role: rhel-system-roles.rhc vars: rhc_auth: login: username: "{{ username }}" password: "{{ password }}" rhc_proxy: hostname: proxy.example.com port: 3128 username: "{{ proxy_username }}" password: "{{ proxy_password }}"
要从 Red Hat Subscription Manager 服务的配置中删除代理服务器:
--- - name: To stop using proxy server for registration hosts: managed-node-01.example.com vars_files: - vault.yml vars: rhc_auth: login: username: "{{ username }}" password: "{{ password }}" rhc_proxy: {"state":"absent"} roles: - role: rhel-system-roles.rhc
验证 playbook 语法:
$ ansible-playbook --syntax-check --ask-vault-pass ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook --ask-vault-pass ~/playbook.yml
其他资源
-
/usr/share/ansible/roles/rhel-system-roles.rhc/README.md
文件 -
/usr/share/doc/rhel-system-roles/rhc/
目录 - Ansible Vault