7.2. 使用 rhc 系统角色注册系统

您可以使用 rhc RHEL 系统角色将您的系统注册到红帽。默认情况下,rhc RHEL 系统角色在注册系统时,会将系统连接到 Red Hat Insights。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户对其具有 sudo 权限。
  • 要在其上运行此 playbook 的受管节点或受管节点组列在 Ansible 清单文件中。

流程

  1. 创建一个 vault 来保存敏感信息:

    $ ansible-vault create secrets.yml
    New Vault password: password
    Confirm New Vault password: password
  2. ansible-vault create 命令会创建一个加密的 vault 文件,并在编辑器中打开它。输入您要保存在密码库中的敏感数据,例如:

    activationKey: activation_key
    username: username
    password: password
  3. 保存更改,并关闭编辑器。Ansible 加密 vault 中的数据。

    之后,您可以使用 ansible-vault edit secrets.yml 命令编辑 vault 中的数据。

  4. 可选:显示 vault 内容:

    $ ansible-vault view secrets.yml
  5. 创建一个 playbook 文件,如 ~/registration.yml,并根据您要执行的操作使用以下选项之一:

    1. 要使用激活码和机构 ID (推荐)注册,请使用以下 playbook:

      ---
      - name: Registering system using activation key and organization ID
        hosts: managed-node-01.example.com
        vars_files:
          - secrets.yml
        vars:
          rhc_auth:
            activation_keys:
              keys:
                -  "{{ activationKey }}"
          rhc_organization: organizationID
        roles:
          - role: rhel-system-roles.rhc
    2. 要使用用户名和密码注册,请使用以下 playbook:

      ---
      - name: Registering system with username and password
        hosts:  managed-node-01.example.com
        vars_files:
          - secrets.yml
        vars:
          rhc_auth:
            login:
              username: "{{ username }}"
              password: "{{ password }}"
        roles:
          - role: rhel-system-roles.rhc
  6. 运行 playbook:

    # ansible-playbook ~/registration.yml --ask-vault-pass

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.rhc/README.md 文件