1.3. OpenShift Virtualization 架构


Operator Lifecycle Manager (OLM) 为 OpenShift Virtualization 的每个组件部署 Operator pod:

  • Compute: virt-operator
  • Storage: cdi-operator
  • Network: cluster-network-addons-operator
  • Scaling: ssp-operator
  • Templating: tekton-tasks-operator

OLM 还会部署 hyperconverged-cluster-operator pod,它负责其他组件的部署、配置和生命周期,以及几个 helper pod: hco-webhookhyperconverged-cluster-cli-download

成功部署所有 Operator pod 后,您应该创建 HyperConverged 自定义资源 (CR)。HyperConverged CR 中的配置充当 OpenShift Virtualization 的单个来源,并指导 CR 的行为。

HyperConverged CR 为其协调循环中的所有其他组件的 operator 创建对应的 CR。然后,每个 Operator 会为 OpenShift Virtualization control plane 创建资源,如守护进程集、配置映射和其他组件。例如,当 HyperConverged Operator (HCO) 创建 KubeVirt CR 时,OpenShift Virtualization Operator 会协调它并创建其他资源,如 virt-controllervirt-handlervirt-api

OLM 部署 Hostpath Provisioner (HPP) Operator,但在创建 hostpath-provisioner CR 前它无法正常工作。

部署

1.3.1. 关于 HyperConverged Operator (HCO)

HCO、hco-operator 提供了一种单一入口点,用于部署和管理 OpenShift Virtualization 和几个带有建议的默认值的帮助程序运算符。它还会为这些操作器创建自定义资源(CR)。

hco-operator 组件
表 1.7. HyperConverged Operator 组件
组件描述

deployment/hco-webhook

验证 HyperConverged 自定义资源内容。

deployment/hyperconverged-cluster-cli-download

提供 virtctl 工具二进制文件,以便直接从集群下载它们。

KubeVirt/kubevirt-kubevirt-hyperconverged

包含 OpenShift Virtualization 需要的所有 operator、CR 和对象。

SSP/ssp-kubevirt-hyperconverged

调度、扩展和性能 (SSP) CR。这由 HCO 自动创建。

CDI/cdi-kubevirt-hyperconverged

Containerized Data Importer (CDI) CR。这由 HCO 自动创建。

NetworkAddonsConfig/cluster

指示并由 cluster-network-addons-operator 管理的 CR。

1.3.2. 关于 Containerized Data Importer (CDI) Operator

CDI Operator cdi-operator, 管理 CDI 及其相关资源,它使用数据卷将虚拟机(VM)镜像导入到持久性卷声明(PVC)中。

cdi-operator 组件
表 1.8. CDI Operator 组件
组件描述

deployment/cdi-apiserver

通过提供安全上传令牌来管理将虚拟机磁盘上传到 PVC 的授权过程。

deployment/cdi-uploadproxy

将外部磁盘上传流量定向到适当的上传服务器 pod,以便将其写入正确的 PVC。需要有效的上传令牌。

pod/cdi-importer

helper(帮助程序)Pod,在创建数据卷时将虚拟机镜像导入到 PVC 中。

1.3.3. 关于 Cluster Network Addons Operator

Cluster Network Addons Operator cluster-network-addons-operator 在集群中部署网络组件,并管理扩展网络功能的相关资源。

cluster-network-addons-operator 组件
表 1.9. Cluster Network Addons Operator 组件
组件描述

deployment/kubemacpool-cert-manager

管理 Kubemacpool 的 webhook 的 TLS 证书。

deployment/kubemacpool-mac-controller-manager

为虚拟机(VM)网络接口卡(NIC)提供 MAC 地址池服务。

daemonset/bridge-marker

将节点上可用的网络桥接标记为节点资源。

daemonset/kube-cni-linux-bridge-plugin

在集群节点上安装 Container Network Interface (CNI) 插件,通过网络附加定义将虚拟机附加到 Linux 网桥。

1.3.4. 关于 Hostpath Provisioner (HPP) Operator

HPP Operator hostpath-provisioner-operator,部署和管理多节点 HPP 和相关资源。

hpp-operator 组件
表 1.10. HPP Operator 组件
组件描述

deployment/hpp-pool-hpp-csi-pvc-block-<worker_node_name>

为指定 HPP 的每个节点提供一个 worker。pod 在节点上挂载指定的后备存储。

daemonset/hostpath-provisioner-csi

实现 HPP 的容器存储接口(CSI)驱动程序接口。

daemonset/hostpath-provisioner

实现 HPP 的传统驱动程序接口。

1.3.5. 关于 Scheduling、Scale 和 Performance (SSP) Operator

SSP Operator、ssp-operator、部署通用模板、相关的默认引导源、管道任务和模板验证器。

ssp-operator 组件
表 1.11. SSP Operator 组件
组件描述

deployment/create-vm-from-template

从模板创建虚拟机。

deployment/copy-template

复制虚拟机模板。

deployment/modify-vm-template

创建和删除虚拟机模板。

deployment/modify-data-object

创建和删除数据卷或数据源。

deployment/cleanup-vm

在虚拟机上运行脚本或命令,然后在之后停止或删除虚拟机。

deployment/disk-virt-customize

使用 virt-customize 在目标持久性卷声明 (PVC) 上运行自定义脚本。

deployment/disk-virt-sysprep

使用 virt-sysprep 在目标 PVC 上运行一个 sysprep 脚本。

deployment/wait-for-vmi-status

等待特定的虚拟机实例(VMI)状态,然后根据该状态失败或成功。

deployment/create-vm-from-manifest

从清单创建虚拟机。

1.3.6. 关于 OpenShift Virtualization Operator

OpenShift Virtualization Operator、virt-operator 部署、升级和管理 OpenShift Virtualization,而不影响当前虚拟机(VM)工作负载。

virt-operator 组件
表 1.12. virt-operator 组件
组件描述

deployment/virt-api

用作所有与虚拟化相关的流的入口点的 HTTP API 服务器。

deployment/virt-controller

观察创建新虚拟机实例对象并创建对应的 pod。当 pod 调度到某个节点上时,virt-controller 会使用节点名称更新虚拟机。

daemonset/virt-handler

监控对虚拟机的任何更改并指示 virt-launcher 执行所需操作。此组件特定于节点。

pod/virt-launcher

包含由 libvirtqemu 实施的用户创建的虚拟机。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.