6.2. 在 IBM Z 和 IBM LinuxONE 上部署 OpenShift 沙盒容器


您可以使用命令行界面(CLI)在 IBM Z® 和 IBM® LinuxONE 上部署 OpenShift 沙盒容器来执行以下任务:

  1. 安装 OpenShift 沙盒容器 Operator。
  2. 可选:更改每个 worker 节点上运行的虚拟机数量。
  3. 可选:配置 libvirt 卷。
  4. 可选:创建自定义对等 pod 虚拟机镜像。
  5. 创建对等 pod secret。
  6. 创建对等 pod 配置映射。
  7. 创建 pod 虚拟机镜像配置映射。
  8. 创建 KVM 主机 secret。
  9. 可选: 选择自定义对等 pod 虚拟机镜像。
  10. 可选:自定义 Kata 代理策略。
  11. 创建 KataConfig 自定义资源。
  12. 配置 OpenShift 沙盒容器工作负载对象。

6.2.1. 安装 OpenShift 沙盒容器 Operator

您可以使用 CLI 安装 OpenShift 沙盒容器 Operator。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 创建 osc-namespace.yaml 清单文件:

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-sandboxed-containers-operator
  2. 运行以下命令创建命名空间:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f osc-namespace.yaml
  3. 创建 osc-operatorgroup.yaml 清单文件:

    Copy to Clipboard Toggle word wrap
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: sandboxed-containers-operator-group
      namespace: openshift-sandboxed-containers-operator
    spec:
      targetNamespaces:
      - openshift-sandboxed-containers-operator
  4. 运行以下命令来创建 operator 组:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f osc-operatorgroup.yaml
  5. 创建 osc-subscription.yaml 清单文件:

    Copy to Clipboard Toggle word wrap
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: sandboxed-containers-operator
      namespace: openshift-sandboxed-containers-operator
    spec:
      channel: stable
      installPlanApproval: Automatic
      name: sandboxed-containers-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      startingCSV: sandboxed-containers-operator.v1.9.0
  6. 运行以下命令来创建订阅:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f osc-subscription.yaml
  7. 运行以下命令验证 Operator 是否已正确安装:

    Copy to Clipboard Toggle word wrap
    $ oc get csv -n openshift-sandboxed-containers-operator

    此命令可能需要几分钟来完成。

  8. 运行以下命令监控进程:

    Copy to Clipboard Toggle word wrap
    $ watch oc get csv -n openshift-sandboxed-containers-operator

    输出示例

    Copy to Clipboard Toggle word wrap
    NAME                             DISPLAY                                  VERSION             REPLACES                   PHASE
    openshift-sandboxed-containers   openshift-sandboxed-containers-operator  1.9.0    1.8.1        Succeeded

6.2.2. 配置 libvirt 卷

OpenShift 沙盒容器 Operator 在安装过程中自动配置 KVM 主机上的 libvirt 卷和池。如果需要,您可以手动配置或创建额外的 libvirt 卷和池。

先决条件

  • 已使用 OpenShift Container Platform Web 控制台或命令行在 OpenShift Container Platform 集群上安装 OpenShift 沙盒容器 Operator。
  • 您有 KVM 主机的管理员特权。
  • 您已在 KVM 主机上安装了 podman
  • 您已在 KVM 主机上安装了 virt-customize
  • 您的镜像有一个 /var/lib/libvirt/images/ 目录。

流程

  1. 登录到 KVM 主机。
  2. 运行以下命令设置 libvirt 池的名称:

    Copy to Clipboard Toggle word wrap
    $ export LIBVIRT_POOL=<libvirt_pool>

    您需要 LIBVIRT_POOL 值来为 libvirt 提供程序创建 secret。

  3. 运行以下命令设置 libvirt 卷的名称:

    Copy to Clipboard Toggle word wrap
    $ export LIBVIRT_VOL_NAME=<libvirt_volume>

    您需要 LIBVIRT_VOL_NAME 值来为 libvirt 提供程序创建 secret。

  4. 运行以下命令,设置默认存储池位置的路径:

    Copy to Clipboard Toggle word wrap
    $ export LIBVIRT_POOL_DIRECTORY="/var/lib/libvirt/images/"
  5. 运行以下命令来创建 libvirt 池:

    Copy to Clipboard Toggle word wrap
    $ virsh pool-define-as $LIBVIRT_POOL --type dir --target "$LIBVIRT_POOL_DIRECTORY"
  6. 运行以下命令来启动 libvirt 池:

    Copy to Clipboard Toggle word wrap
    $ virsh pool-start $LIBVIRT_POOL
  7. 运行以下命令,为池创建 libvirt 卷:

    Copy to Clipboard Toggle word wrap
    $ virsh -c qemu:///system \
      vol-create-as --pool $LIBVIRT_POOL \
      --name $LIBVIRT_VOL_NAME \
      --capacity 20G \
      --allocation 2G \
      --prealloc-metadata \
      --format qcow2

6.2.3. 创建自定义对等 pod 虚拟机镜像

您可以创建自定义对等 pod 虚拟机(VM)镜像,而不是使用默认的 Operator 构建镜像。

您可以使用对等 pod QCOW2 镜像构建开放容器项目(OCI)容器。之后,您将容器 registry URL 和镜像路径添加到对等 pod 虚拟机镜像配置映射。

流程

  1. 创建 Dockerfile.podvm-oci 文件:

    Copy to Clipboard Toggle word wrap
    FROM scratch
    
    ARG PODVM_IMAGE_SRC
    ENV PODVM_IMAGE_PATH="/image/podvm.qcow2"
    
    COPY $PODVM_IMAGE_SRC $PODVM_IMAGE_PATH
  2. 运行以下命令,使用 pod 虚拟机 QCOW2 镜像构建容器:

    Copy to Clipboard Toggle word wrap
    $ docker build -t podvm-libvirt \
      --build-arg PODVM_IMAGE_SRC=<podvm_image_source> \ 
    1
    
      --build-arg PODVM_IMAGE_PATH=<podvm_image_path> \ 
    2
    
      -f Dockerfile.podvm-oci .
    1
    指定主机上的 QCOW2 镜像源。
    2
    可选:如果没有使用默认的 /image/podvm.qcow2,请指定 QCOW2 镜像的路径。

6.2.4. 创建对等 pod secret

当对等 pod secret 为空并安装 Cloud Credential Operator (CCO)时,OpenShift 沙盒容器 Operator 会使用 CCO 检索 secret。如果卸载了 CCO,您必须手动为 OpenShift 沙盒容器创建对等 pod secret,否则对等 pod 将无法操作。

secret 存储用于创建 pod 虚拟机(VM)镜像和对等 pod 实例的凭证。

默认情况下,OpenShift 沙盒容器 Operator 根据用于创建集群的凭证创建 secret。但是,您可以手动创建使用不同的凭证的 secret。

先决条件

  • LIBVIRT_URI.这个值是 libvirt 网络的默认网关 IP 地址。检查 libvirt 网络设置以获取此值。

    注意

    如果 libvirt 使用默认网桥虚拟网络,您可以通过运行以下命令来获取 LIBVIRT_URI

    Copy to Clipboard Toggle word wrap
    $ virtint=$(bridge_line=$(virsh net-info default | grep Bridge);  echo "${bridge_line//Bridge:/}" | tr -d [:blank:])
    
    $ LIBVIRT_URI=$( ip -4 addr show $virtint | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
    
    $ LIBVIRT_GATEWAY_URI="qemu+ssh://root@${LIBVIRT_URI}/system?no_verify=1"
  • 红帽_OFFLINE_TOKEN.您已生成此令牌,以通过 Red Hat API Tokens 下载 RHEL 镜像。

流程

  1. 根据以下示例创建 peer-pods-secret.yaml 清单文件:

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: Secret
    metadata:
      name: peer-pods-secret
      namespace: openshift-sandboxed-containers-operator
    type: Opaque
    stringData:
      CLOUD_PROVIDER: "libvirt"
      LIBVIRT_URI: "<libvirt_gateway_uri>" 
    1
    
      REDHAT_OFFLINE_TOKEN: "<rh_offline_token>" 
    2
    1
    指定 libvirt URI。
    2
    指定 Operator 构建的镜像所需的红帽离线令牌。
  2. 运行以下命令来创建 secret:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f peer-pods-secret.yaml

6.2.5. 创建对等 pod 配置映射

您必须为 OpenShift 沙盒容器创建对等 pod 配置映射。

流程

  1. 根据以下示例创建 peer-pods-cm.yaml 清单文件:

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: peer-pods-cm
      namespace: openshift-sandboxed-containers-operator
    data:
      CLOUD_PROVIDER: "libvirt"
      PEERPODS_LIMIT_PER_NODE: "10" 
    1
    
      LIBVIRT_POOL: "<libvirt_pool>" 
    2
    
      LIBVIRT_VOL_NAME: "<libvirt_volume>" 
    3
    
      LIBVIRT_DIR_NAME: "/var/lib/libvirt/images/<directory_name>" 
    4
    
      LIBVIRT_NET: "default" 
    5
    
      DISABLECVM: "true"
    1
    指定每个节点可以创建的对等 pod 的最大数量。默认值为 10
    2
    指定 libvirt 池。如果您手动配置了 libvirt 池,请使用与 KVM 主机配置相同的名称。
    3
    指定 libvirt 卷名称。如果您手动配置 libvirt 卷,请使用与 KVM 主机配置相同的名称。
    4
    指定用于存储虚拟机磁盘镜像的 libvirt 目录,如 .qcow2.raw 文件。为确保 libvirt 具有读写访问权限,请使用 libvirt 存储目录的子目录。默认为 /var/lib/libvirt/images/
    5
    可选:如果您不想使用默认网络,请指定 libvirt 网络。
  2. 运行以下命令来创建配置映射:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f peer-pods-cm.yaml

6.2.6. 创建对等 pod 虚拟机镜像配置映射

您必须为对等 pod 虚拟机(VM)镜像创建配置映射。

先决条件

  • 您必须使用 Red Hat Hybrid Cloud Console 创建激活码。
  • 可选:如果要使用 Cloud API Adaptor 自定义镜像,则必须有镜像的名称、URL 和分支或标签。

流程

  1. 根据以下示例创建 libvirt-podvm-image-cm.yaml 清单:

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: libvirt-podvm-image-cm
      namespace: openshift-sandboxed-containers-operator
    data:
      PODVM_DISTRO: "rhel"
      DOWNLOAD_SOURCES: "no" 
    1
    
      CAA_SRC: "https://github.com/confidential-containers/cloud-api-adaptor" 
    2
    
      CAA_REF: "main" 
    3
    
      CONFIDENTIAL_COMPUTE_ENABLED: "yes"
      UPDATE_PEERPODS_CM: "yes"
      ORG_ID: "<rhel_organization_id>"
      ACTIVATION_KEY: "<rhel_activation_key>" 
    4
    
      IMAGE_NAME: "<podvm_libvirt_image>" 
    5
    
      PODVM_IMAGE_URI: "oci::<image_repo_url>:<image_tag>::<image_path>" 
    6
    
      SE_BOOT: "true" 
    7
    
      BASE_OS_VERSION: "<rhel_image_os_version>" 
    8
    1
    如果要使用自定义 Cloud API Adaptor 源来构建 pod 虚拟机镜像,请指定 yes
    2
    可选:指定 Cloud API Adaptor 自定义镜像的 URL。
    3
    可选:指定 Cloud API Adaptor 自定义镜像的分支或标签。
    4
    指定 RHEL 激活码。
    5
    指定自定义 peer pod VM 镜像名称。
    6
    可选:如果您创建了自定义对等 pod 虚拟机镜像,请指定容器 registry URL、镜像标签和镜像路径(默认为 /image/podvm.qcow2)。否则,将值设为 ""
    7
    默认值为 true,为默认 Operator 构建的镜像启用 IBM Secure Execution。如果您使用自定义对等 pod 虚拟机镜像,请将其设置为 false
    8
    指定 RHEL 镜像操作系统版本。IBM Z® Secure Execution 支持 RHEL 9.5 及更新的版本。
  2. 运行以下命令来创建配置映射:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f libvirt-podvm-image-cm.yaml

    libvirt pod 虚拟机镜像配置映射为您的 libvirt 供应商创建。

6.2.7. 创建 KVM 主机 secret

您必须为 KVM 主机创建 secret。

流程

  1. 运行以下命令来生成 SSH 密钥对:

    Copy to Clipboard Toggle word wrap
    $ ssh-keygen -f ./id_rsa -N ""
  2. 将公共 SSH 密钥复制到 KVM 主机:

    Copy to Clipboard Toggle word wrap
    $ ssh-copy-id -i ./id_rsa.pub <KVM_HOST_IP> 
    1
    1
    指定 KVM 主机的 IP 地址或运行对等 pod 虚拟机的 LPAR。例如,192.168.2.1
  3. 运行以下命令来创建 Secret 对象:

    Copy to Clipboard Toggle word wrap
    $ oc create secret generic ssh-key-secret \
      -n openshift-sandboxed-containers-operator \
      --from-file=id_rsa.pub=./id_rsa.pub \
      --from-file=id_rsa=./id_rsa
  4. 删除您创建的 SSH 密钥:

    Copy to Clipboard Toggle word wrap
    $ shred --remove id_rsa.pub id_rsa

6.2.8. 选择自定义对等 pod 虚拟机镜像

您可以通过向 pod 清单添加注解来选择自定义对等 pod 虚拟机(VM)镜像,根据您的工作负载要求量身定制。自定义镜像覆盖对等 pod 配置映射中指定的默认镜像。您可以在 libvirt 池中创建新的 libvirt 卷,并将自定义对等 pod 虚拟机镜像上传到新卷。然后,您将 pod 清单更新为使用自定义对等 pod 虚拟机镜像。

先决条件

  • 要使用的自定义 pod 虚拟机镜像的 ID,与云供应商或 hypervisor 兼容。

流程

  1. 运行以下命令设置 libvirt 池的名称:

    Copy to Clipboard Toggle word wrap
    $ export LIBVIRT_POOL=<libvirt_pool> 
    1
    1
    指定现有的 libvirt 池名称。
  2. 运行以下命令,设置新 libvirt 卷的名称:

    Copy to Clipboard Toggle word wrap
    $ export LIBVIRT_VOL_NAME=<new_libvirt_volume>
  3. 运行以下命令,为池创建 libvirt 卷:

    Copy to Clipboard Toggle word wrap
    $ virsh -c qemu:///system \
      vol-create-as --pool $LIBVIRT_POOL \
      --name $LIBVIRT_VOL_NAME \
      --capacity 20G \
      --allocation 2G \
      --prealloc-metadata \
      --format qcow2
  4. 将自定义对等 pod 虚拟机镜像上传到 libvirt 卷:

    Copy to Clipboard Toggle word wrap
    $ virsh -c qemu:///system vol-upload \
      --vol $LIBVIRT_VOL_NAME <custom_podvm_image.qcow2> \ 
    1
    
      --pool $LIBVIRT_POOL --sparse
    1
    指定自定义 peer pod VM 镜像名称。
  5. 根据以下示例创建 pod-manifest.yaml 清单文件:

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: Pod
    metadata:
      name: pod-manifest
      annotations:
        io.katacontainers.config.hypervisor.image: "<new_libvirt_volume>" 
    1
    
    spec:
      runtimeClassName: kata-remote 
    2
    
      containers:
      - name: <example_container> 
    3
    
        image: registry.access.redhat.com/ubi9/ubi:9.3
        command: ["sleep", "36000"]
    1
    指定上传自定义对等 pod 虚拟机镜像的 libvirt 卷名称。
    2
    确保 runtimeClassName 字段设置为 kata-remote,以创建对等 pod。
    3
    指定容器名称。
  6. 运行以下命令来创建 pod:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f pod-manifest.yaml

6.2.9. 自定义 Kata 代理策略

Kata 代理策略是一种安全机制,用于控制使用 Kata 运行时运行的 pod 的代理 API 请求。使用 Rego 编写并由 Pod 虚拟机(VM)中的 Kata 代理强制,此策略决定哪些操作被允许或拒绝。

您可以针对特定用例使用自定义策略来覆盖默认策略,如在安全不是关注的地方进行开发和测试。例如,您可以在 control plane 可以被信任的环境中运行。您可以通过几种方法应用自定义策略:

  • 将其嵌入到 pod 虚拟机镜像中。
  • 修补对等 pod 配置映射。
  • 为工作负载 pod YAML 添加注解。

对于生产环境系统,首选的方法是使用 initdata 覆盖 Kata 代理策略。以下流程使用 io.katacontainers.config.agent.policy 注解将自定义策略应用到单独的 pod。该策略以 Base64 编码的 Rego 格式提供。此方法会在创建 Pod 时覆盖默认策略,而不修改 pod 虚拟机镜像。

注意

自定义策略完全替换了默认策略。要只修改特定的 API,请包含完整的策略并调整相关规则。

流程

  1. 使用自定义策略创建 policy.rego 文件。以下示例显示了所有可配置的 API,并且为演示启用了 execlog

    Copy to Clipboard Toggle word wrap
    package agent_policy
    
    import future.keywords.in
    import input
    
    default CopyFileRequest := false
    default CreateContainerRequest := false
    default CreateSandboxRequest := true
    default DestroySandboxRequest := true
    default ExecProcessRequest := true  # Enabled to allow exec API
    default GetOOMEventRequest := true
    default GuestDetailsRequest := true
    default OnlineCPUMemRequest := true
    default PullImageRequest := true
    default ReadStreamRequest := true   # Enabled to allow log API
    default RemoveContainerRequest := true
    default RemoveStaleVirtiofsShareMountsRequest := true
    default SignalProcessRequest := true
    default StartContainerRequest := true
    default StatsContainerRequest := true
    default TtyWinResizeRequest := true
    default UpdateEphemeralMountsRequest := true
    default UpdateInterfaceRequest := true
    default UpdateRoutesRequest := true
    default WaitProcessRequest := true
    default WriteStreamRequest := false

    此策略启用 exec (ExecProcessRequest)和 log (ReadStreamRequest) API。根据您的需要,调整 truefalse 值以进一步自定义策略。

  2. 运行以下命令,将 policy.rego 文件转换为 Base64 编码的字符串:

    Copy to Clipboard Toggle word wrap
    $ base64 -w0 policy.rego

    将输出保存到 yaml 文件中。

  3. 将 Base64 编码的策略添加到 my-pod.yaml pod 规格文件中:

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: Pod
    metadata:
      name: <pod_name>
      annotations:
        io.katacontainers.config.agent.policy: <base64_encoded_policy>
    spec:
      runtimeClassName: kata-remote
      containers:
      - name: <container_name>
        image: registry.access.redhat.com/ubi9/ubi:latest
        command:
        - sleep
        - "36000"
        securityContext:
          privileged: false
          seccompProfile:
            type: RuntimeDefault
  4. 运行以下命令来应用 pod 清单:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f my-pod.yaml

6.2.10. 创建 KataConfig 自定义资源

您必须创建 KataConfig 自定义资源(CR)来作为 worker 节点上的运行时类安装 kata-remote

创建 KataConfig CR 会触发 OpenShift 沙盒容器 Operator 来执行以下操作:

  • 使用默认配置创建一个名为 kata-remoteRuntimeClass CR。这可让用户在 RuntimeClassName 字段中引用 CR 将工作负载配置为使用 kata-remote 作为运行时。此 CR 也指定运行时的资源开销。

OpenShift 沙盒容器将 kata-remote 安装为集群上的 辅助 可选运行时,而不是主运行时。

重要

创建 KataConfig CR 会自动重启 worker 节点。重启可能需要 10 到 60 分钟。妨碍重启时间的因素如下:

  • 带有更多 worker 节点的大型 OpenShift Container Platform 部署。
  • 激活 BIOS 和 Diagnostics 实用程序。
  • 在硬盘而不是 SSD 上部署。
  • 在物理节点上部署,如裸机,而不是在虚拟节点上部署。
  • CPU 和网络较慢。

先决条件

  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 根据以下示例创建 example-kataconfig.yaml 清单文件:

    Copy to Clipboard Toggle word wrap
    apiVersion: kataconfiguration.openshift.io/v1
    kind: KataConfig
    metadata:
      name: example-kataconfig
    spec:
      enablePeerPods: true
      logLevel: info
    #  kataConfigPoolSelector:
    #    matchLabels:
    #      <label_key>: '<label_value>' 
    1
    1
    可选:如果您应用了节点标签在特定节点上安装 kata-remote,请指定键和值,例如 osc: 'true'
  2. 运行以下命令来创建 KataConfig CR:

    Copy to Clipboard Toggle word wrap
    $ oc apply -f example-kataconfig.yaml

    新的 KataConfig CR 被创建,并在 worker 节点上作为运行时类安装 kata-remote

    在验证安装前,等待 kata-remote 安装完成,以及 worker 节点重新引导。

  3. 运行以下命令监控安装进度:

    Copy to Clipboard Toggle word wrap
    $ watch "oc describe kataconfig | sed -n /^Status:/,/^Events/p"

    安装 kataNodes 下所有 worker 的状态并且条件 InProgressFalse 时,而不指定原因,则会在集群中安装 kata-remote

  4. 运行以下命令,验证您是否已构建对等 pod 镜像并将其上传到 libvirt 卷中:

    Copy to Clipboard Toggle word wrap
    $ oc describe configmap peer-pods-cm -n openshift-sandboxed-containers-operator

    输出示例

    Copy to Clipboard Toggle word wrap
    Name: peer-pods-cm
    Namespace: openshift-sandboxed-containers-operator
    Labels: <none>
    Annotations: <none>
    
    Data
    ====
    CLOUD_PROVIDER: libvirt
    
    BinaryData
    ====
    Events: <none>

  5. 运行以下命令,监控 kata-oc 机器配置池进度,以确保它处于 UPDATED 状态,当 UPDATED MACHINECOUNT 等于 MACHINECOUNT 时:

    Copy to Clipboard Toggle word wrap
    $ watch oc get mcp/kata-oc
  6. 运行以下命令验证守护进程集:

    Copy to Clipboard Toggle word wrap
    $ oc get -n openshift-sandboxed-containers-operator ds/osc-caa-ds
  7. 运行以下命令验证运行时类:

    Copy to Clipboard Toggle word wrap
    $ oc get runtimeclass

    输出示例

    Copy to Clipboard Toggle word wrap
    NAME             HANDLER          AGE
    kata             kata             152m
    kata-remote      kata-remote      152m

6.2.11. 配置工作负载对象

您必须通过将 kata-remote 设置为以下 pod 模板对象的运行时类来配置 OpenShift 沙盒容器工作负载对象:

  • Pod 对象
  • ReplicaSet 对象
  • ReplicationController 对象
  • StatefulSet 对象
  • Deployment 对象
  • deploymentConfig 对象
重要

不要在 Operator 命名空间中部署工作负载。为这些资源创建一个专用命名空间。

先决条件

  • 您已创建了 KataConfig 自定义资源(CR)。

流程

  1. spec.runtimeClassName: kata-remote 添加到每个 pod 模板工作负载对象的清单中,如下例所示:

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: <object>
    # ...
    spec:
      runtimeClassName: kata-remote
    # ...

    OpenShift Container Platform 创建工作负载对象并开始调度它。

验证

  • 检查 pod 模板对象的 spec.runtimeClassName 字段。如果值为 kata-remote,则工作负载在 OpenShift 沙盒容器上运行,使用对等 pod。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.