第 3 章 安装
3.1. 为 OpenShift Virtualization 准备集群 复制链接链接已复制到粘贴板!
在安装 OpenShift Virtualization 前,请查看本节以确保集群满足要求。
您可以在 Red Hat OpenShift Service on AWS 经典架构集群中运行 OpenShift Virtualization。
在设置集群前,请查看以下支持的功能和限制概述:
- 安装
您可以使用安装程序置备的基础架构安装集群,确保为 worker 节点指定裸机实例类型。例如,您可以对基于 x86_64 架构的机器使用
c5n.metal类型值。如需更多信息,请参阅有关在 AWS 上安装的 Red Hat OpenShift Service on AWS 经典架构文档。
- 访问虚拟机 (VM)
-
在使用
virtctlCLI 工具或 Red Hat OpenShift Service on AWS 经典架构 web 控制台来访问虚拟机没有改变。 您可以使用
NodePort或LoadBalancer服务公开虚拟机。注意负载均衡器是首选的,因为 Red Hat OpenShift Service on AWS 经典架构会在 AWS 中自动创建负载均衡器并管理其生命周期。另外,还会为负载均衡器创建一个安全组,您可以使用注解来附加现有的安全组。当您删除该服务时,Red Hat OpenShift Service on AWS 经典架构会删除负载均衡器及其相关资源。
- 网络
-
如果您的应用程序需要不需要出口流量的扁平第 2 层网络,请考虑使用带有
Layer2拓扑的 OVN-Kubernetes 二级覆盖网络。
- 存储
您可以使用存储厂商认证的任何存储解决方案与底层平台一起使用。
重要AWS 裸机、Red Hat OpenShift Service on AWS 和 Red Hat OpenShift Service on AWS 经典架构集群可能具有不同的存储解决方案。请确保您的存储供应商可以支持。
在 OpenShift Virtualization 中使用 Amazon Elastic File System (EFS) 或 Amazon Elastic Block Store (EBS) 可能会导致性能和功能限制,如下表所示:
Expand 表 3.1. EFS 和 EBS 性能和功能限制 功能 EBS 卷 EFS 卷 共享存储解决方案 gp2
gp3
io2
VM 实时迁移
不可用
不可用
可用
可用
可用
使用克隆快速创建虚拟机
可用
不可用
可用
使用快照进行虚拟机备份和恢复
可用
不可用
可用
考虑使用支持 ReadWriteMany (RWX)、克隆和快照的 CSI 存储来启用实时迁移、快速虚拟机创建和虚拟机快照功能。
3.1.2. ARM64 兼容性 复制链接链接已复制到粘贴板!
在 ARM64 系统上安装的 Red Hat OpenShift Service on AWS 经典架构集群中使用 OpenShift Virtualization 已正式发布(GA)。
在基于 ARM64 的系统上使用 OpenShift Virtualization 前,请考虑以下限制:
- 操作系统
- 仅支持基于 Linux 的客户机操作系统。
- RHEL 的所有虚拟化限制也适用于 OpenShift Virtualization。如需更多信息,请参阅 RHEL 文档中的 ARM64 和 Intel 64 上的虚拟化与 AMD64 和 Intel 64 的不同。
- Live migration(实时迁移)
- 基于 ARM64 的 Red Hat OpenShift Service on AWS 经典架构集群 不支持实时迁移。
- 基于 ARM64 的集群不支持热插拔,因为它依赖于实时迁移。
- 虚拟机创建
- RHEL 10 支持实例类型和首选项,但不支持模板。
- RHEL 9 支持模板、实例类型和首选项。
3.1.3. 硬件和操作系统要求 复制链接链接已复制到粘贴板!
查看 OpenShift Virtualization 的以下硬件和操作系统要求。
3.1.3.1. CPU 要求 复制链接链接已复制到粘贴板!
由 Red Hat Enterprise Linux (RHEL) 9 支持。
红帽生态系统目录包括了支持的 CPU 。
注意如果您的 worker 节点有不同的 CPU,则可能会出现实时迁移失败的情况,因为不同的 CPU 具有不同的功能。您可以通过确保 worker 节点具有适当容量的 CPU,并为虚拟机配置节点关联性规则来缓解这个问题。
详情请参阅 配置所需的节点关联性规则。
-
支持 AMD64、Intel 64 位(x86-64-v2)、IBM Z®(
s390x)或 ARM64 基于(arm64或aarch64)架构及其相应的 CPU 扩展。 -
启用 Intel VT-x、AMD-V 或 ARM 虚拟化扩展,或者启用了
s390x虚拟化支持。 - 启用 NX (无执行)标记。
-
如果您使用
s390x架构,则默认 CPU 模型 设置为gen15b。
3.1.3.2. 操作系统要求 复制链接链接已复制到粘贴板!
- 在 worker 节点上安装的 Red Hat Enterprise Linux CoreOS (RHCOS)。
3.1.3.3. 存储要求 复制链接链接已复制到粘贴板!
- 由 Red Hat OpenShift Service on AWS 经典架构支持。
-
如果存储置备程序支持快照,您必须将
VolumeSnapshotClass对象与默认存储类关联。
3.1.3.3.1. 关于虚拟机磁盘的卷和访问模式 复制链接链接已复制到粘贴板!
如果您将存储 API 与已知的存储供应商搭配使用,则会自动选择卷和访问模式。但是,如果您使用没有存储配置集的存储类,则需要配置卷和访问模式。
如需 OpenShift Virtualization 的已知存储供应商列表,请参阅 红帽生态系统目录。
要获得最佳结果,请使用 ReadWriteMany (RWX) 访问模式和 Block 卷模式。因为以下原因,这一点非常重要:
-
实时迁移需要
ReadWriteMany(RWX) 访问模式。 -
Block卷模式的性能优于Filesystem卷模式。这是因为Filesystem卷模式会使用更多存储层,包括文件系统层和磁盘镜像文件。虚拟机磁盘存储不需要这些层。
您不能使用以下配置实时迁移虚拟机:
-
具有
ReadWriteOnce(RWO) 访问模式的存储卷 - 具有透传功能,比如 GPU
对于这些虚拟机,将 evictionStrategy 字段设置为 None。None 策略会在节点重启过程中关闭虚拟机。
3.1.4. 实时迁移要求 复制链接链接已复制到粘贴板!
-
使用
ReadWriteMany(RWX)访问模式的共享存储. 足够的 RAM 和网络带宽。
注意您必须确保集群中有足够的内存请求容量来支持节点排空(这会导致实时迁移)。您可以使用以下计算来确定大约所需的备用内存:
Product of (Maximum number of nodes that can drain in parallel) and (Highest total VM memory request allocations across nodes)在集群中可以并行运行的迁移数量的默认值为 5。
- 如果虚拟机使用 host model CPU,则节点必须支持虚拟机的 host model CPU。
强烈建议使用专用的 Multus 网络进行实时迁移。专用网络可最小化迁移期间租户工作负载网络饱和的影响。
3.1.5. 物理资源开销要求 复制链接链接已复制到粘贴板!
OpenShift Virtualization 是 Red Hat OpenShift Service on AWS 经典架构的一个附加组件,它会带来额外的开销,在规划集群时必须考虑这些开销。
除了 Red Hat OpenShift Service on AWS 经典架构要求外,每个集群机器都必须满足以下开销要求。覆盖集群中的物理资源可能会影响性能。
本文档中给出的数字基于红帽的测试方法和设置。这些数字会根据您自己的设置和环境而有所不同。
3.1.5.1. 内存开销 复制链接链接已复制到粘贴板!
使用以下因素计算 OpenShift Virtualization 的内存开销值。
- 集群内存开销
Memory overhead per infrastructure node ≈ 150 MiBMemory overhead per worker node ≈ 360 MiB另外,OpenShift Virtualization 环境资源需要总计 2179 MiB 的内存,分布到所有基础架构节点。
- 虚拟机内存开销
Memory overhead per virtual machine ≈ (0.002 × requested memory) \ + 218 MiB \1 + 8 MiB × (number of vCPUs) \2 + 16 MiB × (number of graphics devices) \3 + (additional memory overhead)4
3.1.5.2. CPU 开销 复制链接链接已复制到粘贴板!
使用以下内容计算 OpenShift Virtualization 的集群处理器开销要求。每个虚拟机的 CPU 开销取决于您的具体设置。
- 集群 CPU 开销
CPU overhead for infrastructure nodes ≈ 4 coresOpenShift Virtualization 增加集群级别服务的整体使用,如日志记录、路由和监控。要考虑这个工作负载,请确保托管基础架构组件的节点分配了用于不同节点的 4 个额外内核(4000 毫秒)的容量。
CPU overhead for worker nodes ≈ 2 cores + CPU overhead per virtual machine除了虚拟机工作负载所需的 CPU 外,每个托管虚拟机的 worker 节点都必须有 2 个额外内核(2000 毫秒)用于 OpenShift Virtualization 管理工作负载。
- 虚拟机 CPU 开销
- 如果请求专用 CPU,则会对集群 CPU 开销要求有 1:1 的影响。其他情况则没有有关虚拟机所需 CPU 数量的具体规则。
3.1.5.3. 存储开销 复制链接链接已复制到粘贴板!
使用以下指南来估算 OpenShift Virtualization 环境的存储开销要求。
- 集群存储开销
Aggregated storage overhead per node ≈ 10 GiB在安装 OpenShift Virtualization 时,集群中每个节点的磁盘存储影响估计值为 10 GiB。
- 虚拟机存储开销
- 每个虚拟机的存储开销取决于虚拟机内的具体资源分配请求。该请求可能用于集群中其他位置托管的节点或存储资源的临时存储。OpenShift Virtualization 目前不会为正在运行的容器本身分配任何额外的临时存储。
- 例如
- 作为集群管理员,如果您计划托管集群中的 10 个虚拟机,每个虚拟机都有 1 GiB RAM 和 2 个 vCPU,集群中的内存影响为 11.68 GiB。集群中每个节点的磁盘存储影响估算为 10 GiB,托管虚拟机工作负载的 worker 节点的 CPU 影响最小 2 个内核。