第 14 章 可选:在 vSphere 上安装
如果在 vSphere 上安装 OpenShift Container Platform,辅助安装程序可以将 OpenShift Container Platform 集群与 vSphere 平台集成,这会将 Machine API 公开给 vSphere 并启用自动扩展。
14.1. 在 vSphere 中添加主机
您可以使用在线 vSphere 客户端或 govc vSphere CLI 工具将主机添加到 Assisted Installer 集群。以下流程演示了使用 govc CLI 工具添加主机。要使用在线 vSphere 客户端,请参阅 vSphere 的文档。
要使用 vSphere govc CLI 在 vSphere 中添加主机,请从 Assisted Installer 生成发现镜像 ISO。最小发现镜像 ISO 是默认设置。此镜像仅包含使用网络引导主机所需的内容。在引导时会下载大多数内容。ISO 镜像大小为 100MB。
完成后,您必须为 vSphere 平台创建镜像并创建 vSphere 虚拟机。
先决条件
- 您使用 vSphere 7.0.2 或更高版本。
-
已安装并配置了 vSphere
govcCLI 工具。 -
在 vSphere 中,已将
clusterSet disk.enableUUID设置为 true。 - 您已在 Assisted Installer UI 中创建了一个集群,或者
您有:
- 使用 API 创建辅助安装程序集群配置集和基础架构环境。
-
在 shell 中导出您的基础架构环境 ID 作为
$INFRA_ENV_ID。 - 完成配置。
流程
- 如果要使用 ignition 文件引导,请配置发现镜像。
从 Assisted Installer UI 生成并下载 ISO。
- 在 主机发现 中,单击 添加主机 按钮并选择安装介质。
- 选择 Minimal image file: Provision with virtual media 以下载一个较小的镜像,该镜像会获取引导所需的数据。
-
添加 SSH 公钥,以便您可以以
core用户身份连接到 vSphere 虚拟机。登录到集群主机可在安装过程中为您提供调试信息。 - 可选: 如果集群主机位于需要使用代理的防火墙后面,请选择 Configure cluster-wide proxy settings。输入代理服务器的 HTTP 和 HTTPS URL 的用户名、密码、IP 地址和端口。
- 可选: 如果集群主机位于带有重新加密 man-in-the-middle (MITM)代理的网络中,或者集群需要信任证书用于容器镜像 registry,请选择 Configure cluster-wide trusted certificate 并添加额外的证书。
- 可选:如果要使用 ignition 文件引导它,请配置发现镜像。如需了解更多详细信息 ,请参阅配置 发现镜像。
- 点 Generate Discovery ISO。
- 复制 发现 ISO URL。
下载发现 ISO:
$ wget - O vsphere-discovery-image.iso <discovery_url>
将
<discovery_url> 替换为上一步中的 URL。
在命令行中,关闭并销毁任何预先存在的虚拟机:
$ for VM in $(/usr/local/bin/govc ls /<datacenter>/vm/<folder_name>) do /usr/local/bin/govc vm.power -off $VM /usr/local/bin/govc vm.destroy $VM done
将
<datacenter> 替换为数据中心的名称。将<folder_name> 替换为虚拟机清单文件夹的名称。从数据存储中删除预先存在的 ISO 镜像(如果存在):
$ govc datastore.rm -ds <iso_datastore> <image>
将
<iso_datastore> 替换为数据存储的名称。使用 ISO镜像的名称替换 image。上传辅助安装程序发现 ISO:
$ govc datastore.upload -ds <iso_datastore> vsphere-discovery-image.iso
将
<iso_datastore> 替换为数据存储的名称。注意集群中的所有节点都必须从发现镜像引导。
引导三个 control plane (master)节点:
$ govc vm.create -net.adapter <network_adapter_type> \ -disk.controller <disk_controller_type> \ -pool=<resource_pool> \ -c=16 \ -m=32768 \ -disk=120GB \ -disk-datastore=<datastore_file> \ -net.address="<nic_mac_address>" \ -iso-datastore=<iso_datastore> \ -iso="vsphere-discovery-image.iso" \ -folder="<inventory_folder>" \ <hostname>.<cluster_name>.example.com详情请参阅 vm.create。
注意示例中演示了 control plane 节点所需的最小所需资源。
至少引导两个 worker 节点:
$ govc vm.create -net.adapter <network_adapter_type> \ -disk.controller <disk_controller_type> \ -pool=<resource_pool> \ -c=4 \ -m=8192 \ -disk=120GB \ -disk-datastore=<datastore_file> \ -net.address="<nic_mac_address>" \ -iso-datastore=<iso_datastore> \ -iso="vsphere-discovery-image.iso" \ -folder="<inventory_folder>" \ <hostname>.<cluster_name>.example.com详情请参阅 vm.create。
注意示例中演示了 worker 节点所需的最小所需资源。
确保虚拟机正在运行:
$ govc ls /<datacenter>/vm/<folder_name>
将
<datacenter> 替换为数据中心的名称。将<folder_name> 替换为虚拟机清单文件夹的名称。2 分钟后,关闭虚拟机:
$ for VM in $(govc ls /<datacenter>/vm/<folder_name>) do govc vm.power -s=true $VM done将
<datacenter> 替换为数据中心的名称。将<folder_name> 替换为虚拟机清单文件夹的名称。将
disk.enableUUID设置为TRUE:$ for VM in $(govc ls /<datacenter>/vm/<folder_name>) do govc vm.change -vm $VM -e disk.enableUUID=TRUE done将
<datacenter> 替换为数据中心的名称。将<folder_name> 替换为虚拟机清单文件夹的名称。注意您必须在所有节点上将
disk.enableUUID设置为TRUE,才能使用 vSphere 启用自动扩展。重启虚拟机:
$ for VM in $(govc ls /<datacenter>/vm/<folder_name>) do govc vm.power -on=true $VM done将
<datacenter> 替换为数据中心的名称。将<folder_name> 替换为虚拟机清单文件夹的名称。-
返回到 Assisted Installer 用户界面,并等待 Assisted Installer 发现主机,每个都处于
Ready状态。 - 移动 与虚拟化平台的集成,以启用与 vSphere 集成。
- 如果需要,选择角色。
- 在 Networking 中,取消选中通过 DHCP 服务器分配 IP。
- 设置 API VIP 地址。
- 设置 Ingress VIP 地址。
- 继续安装过程。