第 6 章 在 IBM Z 和 IBM LinuxONE 上部署 OpenShift 沙盒容器


您可以在 IBM Z® 和 IBM® LinuxONE 上部署 OpenShift 沙盒容器。

OpenShift 沙盒容器部署对等 pod。对等 pod 设计对嵌套虚拟化的需求。如需更多信息,请参阅 对等 pod

重要

IBM Z® 和 IBM® LinuxONE 上的 OpenShift 沙盒容器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

集群要求

  • 您已在要安装 OpenShift 沙盒容器 Operator 的集群中安装 Red Hat OpenShift Container Platform 4.14 或更高版本。
  • 您的集群至少有一个 worker 节点。

6.1. 对等 pod 资源要求

您必须确保集群有足够的资源。

对等 pod 虚拟机(VM)需要位于两个位置的资源:

  • worker 节点。worker 节点存储元数据、Kata shim 资源(containerd-shim-kata-v2)、remote-hypervisor 资源(cloud-api-adaptor),以及 worker 节点和对等 pod 虚拟机之间的隧道设置。
  • libvirt 虚拟机实例。这是在 LPAR (KVM 主机)中运行的实际对等 pod 虚拟机。

Kubernetes worker 节点中使用的 CPU 和内存资源由 RuntimeClass (kata-remote)定义中包含的 pod 开销 处理,用于创建对等 pod。

在云中运行的对等 pod 虚拟机总数定义为 Kubernetes 节点扩展资源。这个限制是每个节点,并由 peerpodConfig 自定义资源(CR)中的 limit 属性设置。

在创建 kataConfig CR 并启用对等 pod 时,名为 peerpodconfig-openshiftpeerpodConfig CR 会被创建,位于 openshift-sandboxed-containers-operator 命名空间中。

以下 peerpodConfig CR 示例显示默认的 spec 值:

apiVersion: confidentialcontainers.org/v1alpha1
kind: PeerPodConfig
metadata:
  name: peerpodconfig-openshift
  namespace: openshift-sandboxed-containers-operator
spec:
  cloudSecretName: peer-pods-secret
  configMapName: peer-pods-cm
  limit: "10" 1
  nodeSelector:
    node-role.kubernetes.io/kata-oc: ""
1
默认限制为每个节点 10 个虚拟机。

扩展资源名为 kata.peerpods.io/vm,并允许 Kubernetes 调度程序处理容量跟踪和核算。

在安装 OpenShift 沙盒容器 Operator 后,您可以根据环境要求编辑每个节点的限制。

变异 Webhook 将扩展的资源 kata.peerpods.io/vm 添加到 pod 规格中。如果存在,它还会从 pod 规格中删除任何特定于资源的条目。这可让 Kubernetes 调度程序考虑这些扩展资源,确保仅在资源可用时调度对等 pod。

变异 Webhook 修改 Kubernetes pod,如下所示:

  • 变异 Webhook 会检查 pod 是否有预期的 RuntimeClassName 值,在 TARGET_RUNTIME_CLASS 环境变量中指定。如果 pod 规格中的值与 TARGET_RUNTIME_CLASS 的值不匹配,则 Webhook 会在不修改 pod 的情况下退出。
  • 如果 RuntimeClassName 值匹配,webhook 会对 pod 规格进行以下更改:

    1. Webhook 从 pod 中所有容器和 init 容器的 resources 字段中删除每个资源规格。
    2. Webhook 通过修改 pod 中第一个容器的 resources 字段,将扩展资源(kata.peerpods.io/vm)添加到 spec。Kubernetes 调度程序使用扩展资源 kata.peerpods.io/vm 用于核算目的。
注意

变异 Webhook 排除 OpenShift Container Platform 中的特定系统命名空间。如果在这些系统命名空间中创建了对等 pod,则使用 Kubernetes 扩展资源的资源核算不起作用,除非 pod spec 包含扩展资源。

作为最佳实践,定义集群范围的策略,仅允许在特定命名空间中创建对等 pod。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.