4.5. 更新集群中的RHEL compute 系统

在对集群进行更新后,必须更新集群中的Red Hat Enterprise Linux(RHEL)compute 系统。

先决条件

  • 已更新了集群

    重要

    由于RHEL系统需要集群生成的资产才能完成更新过程,因此必须在更新其中的RHEL compute 系统前更新集群。

  • 您可以访问用于添加RHEL compute 系统集群的计算机。您必须有权访问定义了 RHEL 系统及 upgrade playbook 的hosts Ansible 清单文件。

流程

  1. 停止并禁用主机上的防火墙:

    # systemctl disable --now firewalld.service
    注意

    请不要在以后启用防火墙。如果这样做,则无法访问 worker 上的 OpenShift Container Platform 日志。

  2. 启用 OpenShift Container Platform 4.2 所需的存储库:

    1. 在运行 Ansible playbook 的机器上,更新所需的存储库:

      # subscription-manager repos --disable=rhel-7-server-ansible-2.7-rpms  \
                                   --disable=rhel-7-server-ose-4.1-rpms \
                                   --enable=rhel-7-server-ansible-2.8-rpms \
                                   --enable=rhel-7-server-ose-4.2-rpms
    2. 在运行 Ansible playbook 的机器上,更新所需的软件包,包括 openshift-ansible

      # yum update openshift-ansible openshift-clients
    3. 在每个 RHEL 计算节点上,更新所需的软件仓库:

      # subscription-manager repos --disable=rhel-7-server-ose-4.1-rpms \
                                   --enable=rhel-7-server-ose-4.2-rpms
  3. 检查/<path>/inventory/hostsAnsible清单文件,确定所有 compute 或 worker 都列在[workers]部分中,如以下示例所示:

    [all:vars]
    ansible_user=root
    #ansible_become=True
    
    openshift_kubeconfig_path="~/.kube/config"
    
    [workers]
    mycluster-worker-0.example.com
    mycluster-worker-1.example.com
    mycluster-worker-2.example.com
    mycluster-worker-3.example.com

    如果[workers]部分中未列出所有RHEL compute 系统,则需要将它们移到该部分。

  4. 切换到openshift-ansible目录并运行升级 playbook:

    $ cd /usr/share/ansible/openshift-ansible
    $ ansible-playbook -i /<path>/inventory/hosts playbooks/upgrade.yml 1
    1
    对于<path> ,指定您创建的Ansible库存文件的路径。