8.15. 注册 overcloud 的操作系统

在 director Operator 在节点上配置 overcloud 软件前,您必须将所有节点的操作系统注册到红帽客户门户网站或 Red Hat Satellite Server,并为节点启用软件仓库。

作为 OpenStackControlPlane 资源的一部分,director Operator 会创建一个 OpenStackClient pod,您可以通过远程 shell 访问并运行 Red Hat OpenStack Platform (RHOSP)命令。此 pod 还包含一个名为 /home/cloud-admin/ctlplane-ansible-inventory 的 ansible 清单脚本。

要注册节点,您可以使用 redhat_subscription Ansible 模块及来自 OpentackClient pod 的清单脚本。

前提条件

  • 确保 OpenShift Container Platform 集群正常运行,并且已正确安装了 director Operator。
  • 确保已在工作站上安装了 oc 命令行工具。
  • 使用 OpenStackControlPlane 资源来创建 control plane。
  • 使用 OpenStackBareMetalSet 资源来创建裸机 Compute 节点。

流程

  1. 访问 openstackclient 的远程 shell:

    $ oc rsh -n openstack openstackclient
  2. 进入 cloud-admin 主目录:

    $ cd /home/cloud-admin
  3. 创建一个 playbook,它使用 redhat_subscription 模块注册您的节点。例如,以下 playbook 注册 Controller 节点:

    ---
    - name: Register Controller nodes
      hosts: Controller
      become: yes
      vars:
        repos:
          - rhel-8-for-x86_64-baseos-eus-rpms
          - rhel-8-for-x86_64-appstream-eus-rpms
          - rhel-8-for-x86_64-highavailability-eus-rpms
          - ansible-2.9-for-rhel-8-x86_64-rpms
          - openstack-16.2-for-rhel-8-x86_64-rpms
          - fast-datapath-for-rhel-8-x86_64-rpms
      tasks:
        - name: Register system
          redhat_subscription:
            username: myusername
            password: p@55w0rd!
            org_id: 1234567
            release: 8.4
            pool_ids: 1a85f9223e3d5e43013e3d6e8ff506fd
        - name: Disable all repos
          command: "subscription-manager repos --disable *"
        - name: Enable Controller node repos
          command: "subscription-manager repos --enable {{ item }}"
          with_items: "{{ repos }}"

    此 play 包含以下三个任务:

    • 注册节点。
    • 禁用任何启用的软件仓库。
    • 仅启用与 Controller 节点关联的存储库。存储库使用 repos 变量列出。
  4. 将 overcloud 节点注册到所需的存储库:

    ansible-playbook -i /home/cloud-admin/ctlplane-ansible-inventory ./rhsm.yaml