在 Satellite 位置上设置虚拟化
您可以将 Bare Metal Servers 设置为在 Satellite 位置中使用 Red Hat OpenShift 虚拟化。 通过使用虚拟化,可以在受管 Red Hat OpenShift 空间中的 Bare Metal Servers 上供应 Windows 或其他虚拟机。
- 受支持的主机操作系统
- Red Hat CoreOS (RHCOS)
先决条件
- 创建支持 RHCOS 的位置。 要检查您所在的位置是否启用了 RHCOS,请参阅 Is my location enabled for Red Hat CoreOS?。 如果未启用您的位置,请 使用 RHCOS 创建新位置。
- 将主机连接到位置并设置 位置控制平面。
- 查找并记录裸机主机名。
- 查找裸机服务器网络信息。 记录系统的公共接口和专用接口的 CIDR 和网关信息。
- 如果要使用 IBM Cloud Object Storage 来存储点火文件,请创建或标识存储区。
- 在运行受支持操作系统的 Satellite 位置中创建或标识集群; 例如,本教程使用运行 4.11的 Red Hat OpenShift 集群。
- 如果要使用 OpenShift Data Foundation 作为存储解决方案,请在供应 2 存储磁盘时将其添加到每个 Bare Metal Servers。
Bare Metal Server Satellite
要设置虚拟化,Bare Metal Server 必须满足以下需求。
- 必须支持虚拟化技术。
- 对于 Intel CPU,虚拟化支持称为
Intel VT
或VT-x
。 - 对于 AMD CPU,虚拟化支持称为
AMD Virtualization
或AMD-V
。
- 对于 Intel CPU,虚拟化支持称为
- 必须至少具有 8 个核心和 32 GB RAM,以及您的 vCPU 开销所需的任何其他核心。 有关更多信息,请参阅 Red Hat OpenShift 文档中的 CPU 开销。
- 必须包含足够的内存以满足您的工作负载需求。 例如:
360 MiB + (1.002 * requested memory) + 146 MiB + 8 MiB * (number of vCPUs) + 16 MiB * (number of graphics devices)
。 有关更多信息,请参阅 Red Hat OpenShift 文档中的 内存开销。 - 未安装操作系统。 稍后将在此过程中安装 Red Hat CoreOS 操作系统。
- 如果要使用 OpenShift Data Foundation 作为存储解决方案,请在供应 2 存储磁盘时将其添加到每个 Bare Metal Servers。
如果您的服务器不满足这些需求,那么可以 创建 Bare Metal Server。 有关裸机选项的列表,请参阅 裸机服务器的可用选项。
将裸机服务器连接到您的位置
遵循以下常规步骤将裸机服务器连接到您的位置。 根据您的特定硬件,这些步骤可能有所不同。 有关完整教程,请参阅 连接 IBM Cloud Bare Metal Servers for Classic 主机。
-
下载 Red Hat CoreOS ISO。 查找与要使用的 Red Hat OpenShift 版本匹配的相应 ISO 版本。 例如,如果要使用 V 4.11,请 下载 4.11的 RHCOS 版本,例如
rhcos-4.11.9-x86_64-live.x86_64.iso
。 -
登录到裸机服务器。
-
在 BIOS 设置中,确保已启用虚拟化。
-
设置引导顺序以引导您在步骤 1 中下载的 Red Hat CoreOS ISO 文件。
-
引导系统以安装 ISO。
-
在将 Red Hat CoreOS 引导到内存中之后,设置网络连接,以便您可以提供位置点火文件并将服务器连接到您的位置。
-
下载 Satellite 位置的点火脚本。
ibmcloud sat host attach --location <location_name> --operating-system RHCOS
-
编辑点火文件以包含裸机主机名和网络信息。 有关添加这些详细信息的更多信息,请参阅 配置点火文件。 请注意,必须编辑要附加到位置的每个裸机服务器的点火文件。
-
将点火文件放在裸机服务器可到达的位置。 例如,可以将其上载到 IBM Cloud Object Storage 存储区。
-
将点火脚本下载到裸机服务器。
curl <ignition_file_location > ignition.ign
- 运行以下
install
命令以启动点火文件。 将<diskName>
替换为要安装 Red Hat CoreOS 的磁盘位置的完整路径,并将<filename>
替换为点火文件的路径。
sudo coreos-installer install <diskName> --ignition-file <filename>
安装过程可能需要一两个小时才能完成。
- 安装完成后,拔下 RHCOS ISO 文件并从硬盘重新引导。
- 检查 Satellite 位置以确认已连接裸机服务器。
- 对要连接到位置的每个裸机主机重复这些步骤。
将 Bare Metal Server 主机分配给 Red Hat OpenShift 集群
将 Bare Metal Server 附加到位置后,可以将其分配给 Red Hat OpenShift 集群工作程序池。
-
查找要添加到 Red Hat OpenShift 集群工作程序池的主机。
ibmcloud sat hosts --location <locationID>
-
将 Bare Metal Server 分配给 Red Hat OpenShift 集群工作程序池。
ibmcloud sat host assign --location <locationID> --cluster <clusterID> --host <hostID> --worker-pool default --zone <zone>
重复这些步骤以将更多 Bare Metal Servers 分配给集群。
现在,Bare Metal Server 已分配给工作程序池,您可以设置 Red Hat OpenShift 虚拟化。
为集群设置存储器
在此示例场景中,通过自动发现 Bare Metal Servers上的可用存储磁盘,可在集群中的 3 节点上部署 OpenShift Data Foundation。
将至少 3 Bare Metal Servers 连接到您的位置并将其分配为集群中的工作程序节点后,您可以使用 odf-local
Satellite 存储模板来部署 OpenShift Data Foundation。
- 从 Satellite 位置控制台,单击您的位置,然后单击 存储> 创建存储配置。
- 为配置命名。
- 选择 OpenShift Data Foundation for local devices,然后选择 V 4.10。
- 对于此示例,保留其余缺省设置,然后单击 下一步。
- 等待 ODF 部署。 然后,通过列出
openshift-storage
名称空间中的 pod 来验证这些 pod 是否已就绪。
示例输出oc get pods -n openshift-storage
NAME READY STATUS RESTARTS AGE ocs-metrics-exporter-5b85d48d66-lwzfn 1/1 Running 0 2d1h ocs-operator-86498bf74c-qcgvh 1/1 Running 0 2d1h odf-console-68bcd54c7c-5fvkq 1/1 Running 0 2d1h rook-ceph-mgr-a-758845d77c-xjqkg 2/2 Running 0 2d1h rook-ceph-mon-a-85d65d9f66-crrhb 2/2 Running 0 2d1h rook-ceph-mon-b-74fd78856d-s2pdf 2/2 Running 0 2d1h rook-ceph-mon-c-76f9b8b5f9-gqcm4 2/2 Running 0 2d1h rook-ceph-operator-5d659cb494-ctkx6 1/1 Running 0 2d1h rook-ceph-osd-0-846cf86f79-z97mc 2/2 Running 0 2d1h rook-ceph-osd-1-7f79ccf77d-8g4cn 2/2 Running 0 2d1h rook-ceph-osd-2-549cc486b4-7wf5k 2/2 Running 0 2d1h rook-ceph-osd-prepare-ocs-deviceset-0-data-0z6pn9-6fwqr 0/1 Completed 0 10d rook-ceph-osd-prepare-ocs-deviceset-1-data-0kkxrw-cppk9 0/1 Completed 0 10d rook-ceph-osd-prepare-ocs-deviceset-2-data-0pxktc-xm2rc 0/1 Completed 0 10d rook-ceph-rgw-ocs-storagecluster-cephobjectstore-a-54c58859nc8j 2/2 Running 0 2d1h ... ...
安装虚拟化操作程序
执行以下步骤以 使用 CLI 安装 Red Hat OpenShift 虚拟化。
设置 virtctl
CLI
遵循 下载并安装 virtctl
CLI 工具的步骤。
为虚拟机创建数据卷
部署 OpenShift Data Foundation 后,可以使用 sat-ocs-ceprbd-gold
存储类来创建数据卷以将存储器用于虚拟机。
- 复制以下示例数据卷并将其保存到名为
datavol.yaml
的文件。apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: fedora-1 namespace: default spec: source: registry: pullMethod: node url: docker://quay.io/containerdisks/fedora@sha256:29b80ef738f9b09c19efc245aac3921deab9acd542c886cf5295c94ab847dfb5 pvc: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeMode: Block storageClassName: sat-ocs-cephrbd-gold
- 创建数据卷。
oc apply -f datavol.yaml
- 验证是否已创建数据卷和相应的 PVC。
示例输出。oc get dv,pvc -n default
NAME PHASE PROGRESS RESTARTS AGE datavolume.cdi.kubevirt.io/fedora-1 Succeeded 100.0% 16h NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/fedora-1 Bound pvc-fd8b1a5b-cc32-42bd-95d0-4ccf2e40bca7 10Gi RWX sat-ocs-cephrbd-gold 16h
创建虚拟机
-
复制以下
VirtualMachine
配置并将其保存到名为vm.yaml
的文件中。 请注意,您还可以通过 OpenShift Web 控制台创建虚拟机。apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: labels: app: fedora-1 name: fedora-1 namespace: default spec: running: false template: metadata: labels: kubevirt.io/domain: fedora-1 spec: domain: cpu: cores: 1 sockets: 2 threads: 1 devices: disks: - disk: bus: virtio name: rootdisk - disk: bus: virtio name: cloudinitdisk interfaces: - masquerade: {} name: default rng: {} features: smm: enabled: true firmware: bootloader: efi: {} resources: requests: memory: 8Gi evictionStrategy: LiveMigrate networks: - name: default pod: {} volumes: - dataVolume: name: fedora-1 name: rootdisk - cloudInitNoCloud: userData: |- #cloud-config user: cloud-user password: 'fedora-1-password' chpasswd: { expire: False } name: cloudinitdisk
-
在集群中创建虚拟机。
oc apply -f vm.yaml
-
启动虚拟机。
virtctl start fedora-1 -n default
-
验证虚拟机是否正在运行。
oc get vm -n default
示例输出。
NAME AGE STATUS READY virtualmachine.kubevirt.io/fedora-1 16h Running True
-
在 OpenShift Web 控制台中,使用您在 VirtualMachine 配置中指定的用户名和密码登录到 VM。 例如,
user: cloud-user
和password: 'fedora-1-password'
。
祝贺您! 您刚刚在 Satellite 集群上部署了 Fedora 虚拟机。
您可以在 OpenShift Virtualization Hands-on Lab中找到有关下一步操作的更多信息。