第 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)
-
使用
virtctl
CLI 工具或 Red Hat OpenShift Service on AWS web 控制台没有改变如何访问虚拟机。 您可以使用
NodePort
或LoadBalancer
服务公开虚拟机。- 负载均衡器是首选的,因为 Red Hat OpenShift Service on AWS 会在 AWS 中自动创建负载均衡器并管理其生命周期。另外,还会为负载均衡器创建一个安全组,您可以使用注解来附加现有的安全组。当您删除该服务时,Red Hat OpenShift Service on AWS 会删除负载均衡器及其相关资源。
- 网络
- 如果您的应用程序需要扁平第 2 层网络或对 IP 池进行控制,请考虑使用 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. 硬件和操作系统要求 复制链接链接已复制到粘贴板!
查看 OpenShift Virtualization 的以下硬件和操作系统要求。
3.1.2.1. CPU 要求 复制链接链接已复制到粘贴板!
由 Red Hat Enterprise Linux (RHEL) 9 支持。
红帽生态系统目录包括了支持的 CPU 。
注意如果您的 worker 节点有不同的 CPU,则可能会出现实时迁移失败的情况,因为不同的 CPU 具有不同的功能。您可以通过确保 worker 节点具有适当容量的 CPU,并为虚拟机配置节点关联性规则来缓解这个问题。
详情请参阅 配置所需的节点关联性规则。
- 支持 AMD 和 Intel 64 位架构 (x86-64-v2)。
- 支持 Intel 64 或 AMD64 CPU 扩展。
- 启用 Intel VT 或 AMD-V 硬件虚拟化扩展。
- 启用 NX (no execute)标记。
3.1.2.2. 操作系统要求 复制链接链接已复制到粘贴板!
- 在 worker 节点上安装的 Red Hat Enterprise Linux CoreOS (RHCOS)。
3.1.2.3. 存储要求 复制链接链接已复制到粘贴板!
- 由 Red Hat OpenShift Service on AWS 支持。
-
如果存储置备程序支持快照,您必须将
VolumeSnapshotClass
对象与默认存储类关联。
3.1.2.3.1. 关于虚拟机磁盘的卷和访问模式 复制链接链接已复制到粘贴板!
如果您将存储 API 与已知的存储供应商搭配使用,则会自动选择卷和访问模式。但是,如果您使用没有存储配置集的存储类,则需要配置卷和访问模式。
如需 OpenShift Virtualization 的已知存储供应商列表,请参阅 红帽生态系统目录。
要获得最佳结果,请使用 ReadWriteMany
(RWX) 访问模式和 Block
卷模式。因为以下原因,这一点非常重要:
-
实时迁移需要
ReadWriteMany
(RWX) 访问模式。 -
Block
卷模式的性能优于Filesystem
卷模式。这是因为Filesystem
卷模式会使用更多存储层,包括文件系统层和磁盘镜像文件。虚拟机磁盘存储不需要这些层。
您不能使用以下配置实时迁移虚拟机:
-
具有
ReadWriteOnce
(RWO) 访问模式的存储卷 - 具有透传功能,比如 GPU
对于这些虚拟机,将 evictionStrategy
字段设置为 None
。None
策略会在节点重启过程中关闭虚拟机。
3.1.3. 实时迁移要求 复制链接链接已复制到粘贴板!
-
使用
ReadWriteMany
(RWX)访问模式的共享存储. 足够的 RAM 和网络带宽。
注意您必须确保集群中有足够的内存请求容量来支持节点排空(这会导致实时迁移)。您可以使用以下计算来确定大约所需的备用内存:
Product of (Maximum number of nodes that can drain in parallel) and (Highest total VM memory request allocations across nodes)
Product of (Maximum number of nodes that can drain in parallel) and (Highest total VM memory request allocations across nodes)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在集群中可以并行运行的迁移数量的默认值为 5。
- 如果虚拟机使用 host model CPU,则节点必须支持虚拟机的 host model CPU。
- 强烈建议使用专用的 Multus 网络进行实时迁移。专用网络可最小化迁移期间租户工作负载网络饱和的影响。
3.1.4. 物理资源开销要求 复制链接链接已复制到粘贴板!
OpenShift Virtualization 是 Red Hat OpenShift Service on AWS 的一个附加组件,它会带来在规划集群时必须考虑的额外开销。除了 Red Hat OpenShift Service on AWS 要求外,每个集群机器都必须满足以下开销要求。覆盖集群中的物理资源可能会影响性能。
本文档中给出的数字基于红帽的测试方法和设置。这些数字会根据您自己的设置和环境而有所不同。
内存开销
使用以下因素计算 OpenShift Virtualization 的内存开销值。
集群内存开销
Memory overhead per infrastructure node ≈ 150 MiB
Memory overhead per infrastructure node ≈ 150 MiB
Memory overhead per worker node ≈ 360 MiB
Memory overhead per worker node ≈ 360 MiB
另外,OpenShift Virtualization 环境资源需要总计 2179 MiB 的内存,分布到所有基础架构节点。
虚拟机内存开销
Memory overhead per virtual machine ≈ (1.002 × requested memory) \ + 218 MiB \ + 8 MiB × (number of vCPUs) \ + 16 MiB × (number of graphics devices) \ + (additional memory overhead)
Memory overhead per virtual machine ≈ (1.002 × requested memory) \
+ 218 MiB \
+ 8 MiB × (number of vCPUs) \
+ 16 MiB × (number of graphics devices) \
+ (additional memory overhead)
CPU 开销
使用以下内容计算 OpenShift Virtualization 的集群处理器开销要求。每个虚拟机的 CPU 开销取决于您的具体设置。
集群 CPU 开销
CPU overhead for infrastructure nodes ≈ 4 cores
CPU overhead for infrastructure nodes ≈ 4 cores
OpenShift Virtualization 增加集群级别服务的整体使用,如日志记录、路由和监控。要考虑这个工作负载,请确保托管基础架构组件的节点分配了用于不同节点的 4 个额外内核(4000 毫秒)的容量。
CPU overhead for worker nodes ≈ 2 cores + CPU overhead per virtual machine
CPU overhead for worker nodes ≈ 2 cores + CPU overhead per virtual machine
除了虚拟机工作负载所需的 CPU 外,每个托管虚拟机的 worker 节点都必须有 2 个额外内核(2000 毫秒)用于 OpenShift Virtualization 管理工作负载。
虚拟机 CPU 开销
如果请求专用 CPU,则会对集群 CPU 开销要求有 1:1 的影响。其他情况则没有有关虚拟机所需 CPU 数量的具体规则。
存储开销
使用以下指南来估算 OpenShift Virtualization 环境的存储开销要求。
集群存储开销
Aggregated storage overhead per node ≈ 10 GiB
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 个内核。