23.7. 在使用 rhc RHEL 系统角色注册主机时使用代理服务器

如果您的安全限制只允许通过代理服务器访问互联网,您可以在使用 rhc RHEL 系统角色注册系统时在 playbook 中指定代理设置。

先决条件

步骤

  1. 将您的敏感变量存储在加密文件中:

    1. 创建密码库:

      $ ansible-vault create vault.yml
      New Vault password: <password>
      Confirm New Vault password: <vault_password>
    2. ansible-vault create 命令打开编辑器后,以 < key> : < value> 格式输入 敏感数据:

      username: <username>
      password: <password>
      proxy_username: <proxyusernme>
      proxy_password: <proxypassword>
    3. 保存更改,并关闭编辑器。Ansible 加密 vault 中的数据。
  2. 创建包含以下内容的 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
  3. 验证 playbook 语法:

    $ ansible-playbook --syntax-check --ask-vault-pass ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  4. 运行 playbook:

    $ ansible-playbook --ask-vault-pass ~/playbook.yml

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.rhc/README.md file
  • /usr/share/doc/rhel-system-roles/rhc/ directory
  • Ansible Vault