11.3. 更新 pod 虚拟机镜像
对于 AWS、Azure 和 IBM 部署,您必须更新 pod 虚拟机镜像。当 enablePeerpods: paramter 为 true 时,升级 OpenShift 沙盒容器 Operator 不会自动更新现有的 pod 虚拟机镜像。要在升级后更新 pod 虚拟机镜像,您必须删除并重新创建 KataConfig CR。
您还可以检查 AWS 和 Azure 部署的对等 pod 配置映射,以确保在重新创建 KataConfig CR 前镜像 ID 为空。
11.3.1. 删除 KataConfig 自定义资源 复制链接链接已复制到粘贴板!
您可以使用命令行删除 KataConfig 自定义资源(CR)。
先决条件
-
已安装 OpenShift CLI(
oc)。 -
您可以使用具有
cluster-admin角色的用户访问集群。
流程
运行以下命令来删除
KataConfigCR:$ oc delete kataconfig example-kataconfig运行以下命令验证自定义资源是否已删除:
$ oc get kataconfig example-kataconfig输出示例
No example-kataconfig instances exist
卸载使用云供应商部署的 OpenShift 沙盒容器时,您必须删除所有 pod。任何剩余的 pod 资源都可能会导致云供应商出现意外几率。
11.3.2. 确保对等 pod CM 镜像 ID 为空 复制链接链接已复制到粘贴板!
删除 KataConfig CR 时,它应该删除 peer pod CM 镜像 ID。对于 AWS 和 Azure 部署,检查以确保对等 pod CM 镜像 ID 为空。
流程
获取您为对等 pod 创建的配置映射:
$ oc get cm -n openshift-sandboxed-containers-operator peer-pods-cm -o jsonpath="{.data.AZURE_IMAGE_ID}"AWS 使用
PODVM_AMI_ID。Azure 使用AZURE_IMAGE_ID。- 检查 YAML 文件的状态小节。
-
如果 AWS 的
PODVM_AMI_ID参数或 Azure 的AZURE_IMAGE_ID参数包含一个值,请将值设为 ""。 如果将值设为 "",请修补对等 pod 配置映射:
$ oc patch configmap peer-pods-cm -n openshift-sandboxed-containers-operator -p '{"data":{"AZURE_IMAGE_ID":""}}'AWS 使用
PODVM_AMI_ID。Azure 使用AZURE_IMAGE_ID。
11.3.3. 创建 KataConfig 自定义资源 复制链接链接已复制到粘贴板!
您必须创建 KataConfig 自定义资源(CR)来作为 worker 节点上的运行时类安装 kata-remote。
创建 KataConfig CR 会触发 OpenShift 沙盒容器 Operator 来执行以下操作:
-
使用默认配置创建一个名为
kata-remote的RuntimeClassCR。这可让用户在RuntimeClassName字段中引用 CR 将工作负载配置为使用kata-remote作为运行时。此 CR 也指定运行时的资源开销。
OpenShift 沙盒容器将 kata-remote 安装为集群上的 辅助 可选运行时,而不是主运行时。
创建 KataConfig CR 会自动重启 worker 节点。重启可能需要 10 到 60 分钟。妨碍重启时间的因素如下:
- 带有更多 worker 节点的大型 OpenShift Container Platform 部署。
- 激活 BIOS 和 Diagnostics 实用程序。
- 在硬盘而不是 SSD 上部署。
- 在物理节点上部署,如裸机,而不是在虚拟节点上部署。
- CPU 和网络较慢。
先决条件
-
您可以使用具有
cluster-admin角色的用户访问集群。
流程
根据以下示例创建
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 运行以下命令来创建
KataConfigCR:$ oc apply -f example-kataconfig.yaml新的
KataConfigCR 被创建,并在 worker 节点上作为运行时类安装kata-remote。在验证安装前,等待
kata-remote安装完成,以及 worker 节点重新引导。运行以下命令监控安装进度:
$ watch "oc describe kataconfig | sed -n /^Status:/,/^Events/p"安装kataNodes下所有 worker 的状态并且条件InProgress为False时,而不指定原因,则会在集群中安装kata-remote。运行以下命令验证守护进程集:
$ oc get -n openshift-sandboxed-containers-operator ds/osc-caa-ds运行以下命令验证运行时类:
$ oc get runtimeclass输出示例
NAME HANDLER AGE kata kata 152m kata-remote kata-remote 152m