9.3. 更新 pod 虚拟机镜像


对于对等 pod 部署,您必须更新 pod 虚拟机镜像。当 enablePeerpods:true 时,升级 OpenShift 沙盒容器 Operator 不会自动更新 pod 虚拟机镜像。您还必须删除并重新创建 KataConfig 自定义资源(CR)。

注意

您还可以检查 AWS 和 Azure 部署的对等 pod 配置映射,以确保在重新创建 KataConfig CR 前镜像 ID 为空。

9.3.1. 删除 KataConfig 自定义资源

您可以使用命令行删除 KataConfig 自定义资源(CR)。

流程

  1. 运行以下命令来删除 KataConfig CR:

    $ oc delete kataconfig example-kataconfig
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令验证 CR 移除:

    $ oc get kataconfig example-kataconfig
    Copy to Clipboard Toggle word wrap

    输出示例

    No example-kataconfig instances exist
    Copy to Clipboard Toggle word wrap

重要

您必须确保所有 pod 都被删除。任何剩余的 pod 资源都可能会导致云供应商出现意外几率。

9.3.2. 验证镜像 ID 是否为空

对于 AWS 和 Azure 部署,在删除 KataConfig 自定义资源(CR)后,您必须验证对等 pod 配置映射中的镜像 ID 是否为空。

流程

  1. 运行以下命令来获取对等 pod 配置映射:

    $ oc get configmap -n openshift-sandboxed-containers-operator peer-pods-cm -o jsonpath="{.data.<image_id>}" 
    1
    Copy to Clipboard Toggle word wrap
    1
    对于 AWS,将 & lt;image_id& gt; 替换为 PODVM_AMI_ID。对于 Azure,将 & lt;image_id& gt; 替换为 AZURE_IMAGE_ID
  2. 如果值不为空,请运行以下命令更新值并修补配置映射:

    $ oc patch configmap peer-pods-cm -n openshift-sandboxed-containers-operator -p '{"data":{"<image_id>":""}}'
    Copy to Clipboard Toggle word wrap

9.3.3. 创建 KataConfig 自定义资源

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

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

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

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

流程

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

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

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

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

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

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

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

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

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

    $ 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>
    Copy to Clipboard Toggle word wrap

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

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

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

    $ oc get runtimeclass
    Copy to Clipboard Toggle word wrap

    输出示例

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat