第 14 章 在 vSphere 上安装
辅助安装程序将 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
govc
CLI 工具。 -
在 vSphere 中,已将
clusterSet disk.enableUUID
设置为 true。 - 您已在 Assisted Installer web 控制台中创建集群,或者
- 您已使用 API 创建了一个辅助安装程序集群配置文件和基础架构环境。
-
您已在 shell 中将您的基础架构环境 ID 导出为
$INFRA_ENV_ID
。
流程
- 如果要使用 ignition 文件引导,请配置发现镜像。
- 在 Cluster details 中,从 Integrate with external partner platforms 下拉列表中选择 vSphere。Include custom manifest 复选框是可选的。
- 在 Host discovery 中,单击 Add hosts 按钮,并选择调配类型。
添加 SSH 公钥,以便您可以以
core
用户身份连接到 vSphere 虚拟机。通过登录到集群主机,您可以在安装过程中为您提供调试信息。- 如果本地计算机上没有现有 SSH 密钥对,请按照 为集群节点 SSH 访问生成密钥对 的步骤进行操作。
-
在 SSH public key 字段中,单击 Browse 来上传包含 SSH 公钥的
id_rsa.pub
文件。或者,将文件拖放到文件管理器的字段中。要查看文件管理器中的文件,请在菜单中选择 Show hidden files。
选择所需的发现镜像 ISO。
注意Minimal image file: Provision with virtual media 下载一个将获取引导所需数据的较小的镜像。
在 Networking 中,选择 Cluster-managed networking 或 User-managed networking:
可选: 如果集群主机位于需要使用代理的防火墙后面,请选择 Configure cluster-wide proxy settings。输入代理服务器的 HTTP 和 HTTPS URL 的用户名、密码、IP 地址和端口。
注意代理用户名和密码必须采用 URL 编码。
- 可选: 如果集群主机位于带有重新加密 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>
替换为上一步中的 Discovery ISO 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 节点:
$ 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
状态。 - 如果需要,选择角色。
- 在网络 中,清除 通过 DHCP 服务器分配 IP 复选框。
- 设置 API VIP 地址。
- 设置 Ingress VIP 地址。
- 继续安装过程。
其他资源