第 1 章 在 RHV 上安装


1.1. 在 RHV 中创建自定义虚拟机模板

在 Red Hat Virtualization (RHV) 环境上安装 OpenShift Container Platform 集群前,您需要创建一个自定义虚拟机模板并配置您的环境,以便安装程序使用该模板。

重要

为 RHV 创建自定义虚拟机模板是为了解决已知问题(BZ#1818577)。如果没有创建自定义虚拟机,则安装 OpenShift Container Platform 集群将失败。

先决条件

1.1.1. 将特定 RHCOS 镜像下载到 RHV Manager 机器

将特定的 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像下载到 Red Hat Virtualization (RHV) Manager 机器。

重要

不要将这些指令中指定的 RHCOS 镜像替换为其他镜像。

流程

  1. 打开一个 RHV Manager 机器的终端会话。例如,如果您作为自承载引擎运行 Manager:

    1. 进入 RHV 管理门户,然后进入 Compute Virtual Machines 页面。
    2. 选择 HostedEngine 虚拟机并点击 Console
  2. 在 Manager 的命令行中,创建一个工作目录并进行修改。

    $ mkdir rhcos
    $ cd rhcos
  3. 在一个浏览器中,访问 https://github.com/openshift/installer/blob/release-4.4/data/data/rhcos.json
  4. rhcos.json中,找到 baseURI 并复制它的值。
  5. 在 Manager 中,启动一个 wget 命令并粘贴baseURI 的值,但不要按Enter。例如:

    $ wget https://releases-art-rhcos.svc.ci.openshift.org/art/storage/releases/rhcos-4.4/44.81.202003062006-0/x86_64/
  6. rhcos.json 文档中,找到 openstack 并复制 path 值。
  7. 在 Manager 中粘贴 path 值。例如:

    $ wget https://releases-art-rhcos.svc.ci.openshift.org/art/storage/releases/rhcos-4.4/44.81.202003062006-0/x86_64/rhcos-44.81.202003062006-0-openstack.x86_64.qcow2.gz
  8. Enter 并等待 wget 完成下载 RHCOS 镜像。
  9. 解压 RHCOS 镜像。例如:

    $ gunzip rhcos*

1.1.2. 使用 Ansible playbook 将 RHCOS 镜像上传到数据存储域

使用 Ansible playbook 将 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像上传到数据存储域。

流程

  1. 在 Red Hat Virtualization (RHV) Manager 上创建 Ansible playbook 文件 upload_rhcos_disk.yaml。例如:

    $ vi upload_rhcos_disk.yaml
  2. 访问红帽客户门户网站中的这个文件
  3. 将它的内容粘贴到您的 playbook 中。
  4. 在 playbook 中,更新带有 callouts 的参数值。

    - hosts: localhost
      gather_facts: no
      tasks:
        - name: Authenticate with engine
          ovirt_auth:
            url: https://<virtlab.example.com>/ovirt-engine/api 1
            username: <username@profile> 2
            password: <password> 3
            insecure: yes
    
        - name: Upload RHCOS image
          ovirt_disk:
            auth: "{{ ovirt_auth }}"
            name: <rhcos_44-81_img-diskname> 4
            size: 120GiB 5
            interface: virtio_scsi
            storage_domain: <SSD_RAID_10> 6
            bootable: yes
            timeout: 3600 7
            upload_image_path: </custom/rhcos-44.81.202003110027-0-openstack.x86_64.qcow2> 8
            wait: yes
    1
    对于 <virtlab.example.com>,请指定 RHV Manager 的完全限定域名(FQDN)。
    2
    对于 <username@profile>,请指定 admin 用户名和档案。
    3
    对于 <password>,请指定管理员密码。
    4
    对于 <rhcos_44-81_img-diskname>,请指定一个磁盘名称。
    5
    对于生产环境,指定 120GiB 或更多。对于有资源限制或非生产环境,请指定 32GiB 或更多。
    6
    对于 <SSD_RAID_10>,请指定数据存储域名。
    7
    以秒为单位指定超时时间,以使您的 RHV 环境有足够的时间将 2.4 GB 镜像上传到存储中。默认值为 3600 秒(一小时)。
    8
    对于 </custom/rhcos-44.81.202003110027-0-openstack.x86_64.qcow2>,请指定镜像路径和文件名。
  5. 在 Manager 上,运行 Ansible playbook。例如:

    $ ansible-playbook rhcos_image.yaml -vvv
  6. 在管理门户中,进入 Storage Disks 页面,找到您在 playbook 中指定的磁盘名称。例如: rhcos_44-81_img-diskname
  7. 当磁盘状态是 OK时,代表 playbook 已完成将 RHCOS 镜像上传到存储域的操作。

1.1.3. 确定用于自定义虚拟机模板的资源

如果您计划 使用默认配置选项在 RHV 上快速安装集群,请跳至下一任务 ,将带有 RHCOS 镜像的虚拟磁盘附加到虚拟机

或者,如果您计划使用自定义配置在 RHV 上安装集群,请参考以下信息。

您可以自定义安装程序用来在 OpenShift Container Platform 集群中创建 control 和 compute 机器的虚拟机模板。您可以自定义模板,以便包括除默认虚拟 CPU、内存和存储资源以外的配置。您的自定义配置会同时用于 control 和 compute 机器,它们不能以不同的方式进行自定义。

过度分配资源可能会导致集群安装或操作失败。要避免资源过量分配,您必须确定每个虚拟机有多少资源可用: 请检查 Red Hat Virtualization (RHV) 集群中的资源并根据虚拟机的数量来划分这些资源。结果是您可以为每个资源分配的最大值。

流程

  1. 检查 RHV 集群中的可用资源。

    1. 访问 验证 RHV 环境的要求
    2. 记录存储的 Free SpaceLogical CPU CoresMax free Memory for scheduling new VMs 的值。
  2. 记录在 OpenShift Container Platform 集群中的虚拟机数量。

    • 默认情况下,集群包含七台机器。
    • 您还可以自定义机器数量,如 RHV 的安装配置参数中所述。为了考虑 bootstrap 机器,需要把配置文件中的机器数量加一。
  3. 根据虚拟机数量来划分每个资源。
  4. 记录这些值以便稍后使用。

1.1.4. 将虚拟磁盘与 RHCOS 镜像附加到虚拟机

将虚拟磁盘与 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像附加到虚拟机。

流程

  1. 进入 Compute Virtual Machines 页面,然后点击 New
  2. 在打开的 New Virtual Machine General 窗口中,使用 Cluster 选择要创建 OpenShift Container Platform 集群的 RHV 集群。
  3. 不要更改 Template,选择 Blank
  4. Operating System 设置为 Red Hat Enterprise Linux CoreOS
  5. 不要修改 Optimized for,选择 Desktop
  6. Name 中指定虚拟机的名称。例如,vmname
  7. 对于 Instance Images,点 Attach
  8. 在打开的 Attach Virtual Disks 窗口中,找到您在 playbook 中指定的磁盘。例如: rhcos_44-81_img-diskname
  9. 点击这个磁盘的单选按钮。
  10. 为这个磁盘选择 OS。使这个磁盘可引导。
  11. OK 保存并关闭 Attach Virtual Disks 窗口。

1.1.5. 配置并创建虚拟机

继续配置虚拟机,然后创建它。

流程

  1. New Virtual Machine General 窗口中,为 Instantiate VM network interfaces by picking a vNIC profile 下的每个 NIC 选择一个 vNIC 配置集。
  2. 进入 New Virtual Machine System 窗口。
  3. Memory Size 设置为16384 MB 或更大的值。这个默认值等于 16 GiB。您可以根据计算机器上预期的工作负载和可用的内存资源量来调整这个值。
  4. 因为一个已知问题 (bz#1821215),把 Physical Memory Guaranteed 设置为 8192 MB。这个值相当于 8 GiB。
  5. Total Virtual CPUs 设置为 4 或更大值。您可以根据计算机器上预期的工作负载以及可用的资源来调整这个值。
  6. 展开 Advanced Parameters
  7. Cores per Virtual Socket 的值设为 4 或一个更大的值,以使它和 Total Virtual CPUs 设置匹配。
  8. OK 保存并关闭 New Virtual Machine

    新的虚拟机会出现在 Compute Virtual Machines 窗口中。因为虚拟机没有启动,因此它会很快出现。

1.1.6. 创建虚拟机模板

创建虚拟机模板。

流程

  1. 选择新虚拟机。
  2. 在管理门户窗口右上角,点击 More actions 菜单,然后选择 Make Template
  3. 新建模板 窗口中,为 Name指定值。例如: vm-tmpltname
  4. 验证 Target 和其他参数值是否正确,并反映了您之前的选择。
  5. 确认 Seal Template (Linux only)没有被选择
  6. 点击 OK
  7. 前往 Compute Templates 页面并等待模板的创建。

1.1.7. 导出一些环境变量

重要

使用这些环境变量来自定义安装是临时解决已知问题(BZ#1818577)的方法。以后的发行版本中可能会删除这部分内容。

  1. 决定在虚拟机设置中的 MemoryTotal Virtual CPUs 的值。
  2. 在安装机器的命令行中运行以下环境变量。
$ export OPENSHIFT_INSTALL_OS_IMAGE_OVERRIDE=<vm-tmpltname> 1
$ export TF_VAR_ovirt_template_mem=<mem-value> 2
$ export TF_VAR_ovirt_template_cpu=<cpu-value> 3
$ export TF_VAR_ovirt_master_mem=<mem-value> 4
$ export TF_VAR_ovirt_master_cpu=<cpu-value> 5
1
对于 <vm-tmpltname>,请指定您创建的模板的名称。
2 4
对于 <mem-value>,请指定虚拟机的内存值(单位为 MB)。例如,16384
3 5
对于 <cpu-value>,请指定虚拟机中 总计虚拟 CPU 的值。例如,4

例如:

$ export OPENSHIFT_INSTALL_OS_IMAGE_OVERRIDE=vm-tmpltname
$ export TF_VAR_ovirt_template_mem=16384
$ export TF_VAR_ovirt_template_cpu=4
$ export TF_VAR_ovirt_master_mem=16384
$ export TF_VAR_ovirt_master_cpu=4
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.