10.3. 更新 pod 虚拟机镜像
对于 AWS、Azure 和 IBM 部署,您必须更新 pod 虚拟机镜像。当 enablePeerpods:
paramter 为 true
时,升级 OpenShift 沙盒容器 Operator 不会自动更新现有的 pod 虚拟机镜像。要在升级后更新 pod 虚拟机镜像,您必须删除并重新创建 KataConfig
CR。
您还可以检查 AWS 和 Azure 部署的对等 pod 配置映射,以确保在重新创建 KataConfig
CR 前镜像 ID 为空。
10.3.1. 删除 KataConfig 自定义资源 复制链接链接已复制到粘贴板!
您可以使用命令行删除 KataConfig
自定义资源(CR)。
先决条件
-
已安装 OpenShift CLI(
oc
)。 -
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
运行以下命令来删除
KataConfig
CR:oc delete kataconfig example-kataconfig
$ oc delete kataconfig example-kataconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证自定义资源是否已删除:
oc get kataconfig example-kataconfig
$ oc get kataconfig example-kataconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
No example-kataconfig instances exist
No example-kataconfig instances exist
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
卸载使用云供应商部署的 OpenShift 沙盒容器时,您必须删除所有 pod。任何剩余的 pod 资源都可能会导致云供应商出现意外几率。
10.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}"
$ oc get cm -n openshift-sandboxed-containers-operator peer-pods-cm -o jsonpath="{.data.AZURE_IMAGE_ID}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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":""}}'
$ oc patch configmap peer-pods-cm -n openshift-sandboxed-containers-operator -p '{"data":{"AZURE_IMAGE_ID":""}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS 使用
PODVM_AMI_ID
。Azure 使用AZURE_IMAGE_ID
。
10.3.3. 创建 KataConfig 自定义资源 复制链接链接已复制到粘贴板!
您必须创建 KataConfig
自定义资源(CR)来作为 worker 节点上的运行时类安装 kata-remote
。
创建 KataConfig
CR 会触发 OpenShift 沙盒容器 Operator 来执行以下操作:
-
使用默认配置创建一个名为
kata-remote
的RuntimeClass
CR。这可让用户在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
清单文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
KataConfig
CR:oc apply -f example-kataconfig.yaml
$ oc apply -f example-kataconfig.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新的
KataConfig
CR 被创建,并在 worker 节点上作为运行时类安装kata-remote
。在验证安装前,等待
kata-remote
安装完成,以及 worker 节点重新引导。运行以下命令监控安装进度:
watch "oc describe kataconfig | sed -n /^Status:/,/^Events/p"
$ watch "oc describe kataconfig | sed -n /^Status:/,/^Events/p"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
kataNodes
下所有 worker 的状态并且条件InProgress
为False
时,而不指定原因,则会在集群中安装kata-remote
。运行以下命令验证守护进程集:
oc get -n openshift-sandboxed-containers-operator ds/peerpodconfig-ctrl-caa-daemon
$ oc get -n openshift-sandboxed-containers-operator ds/peerpodconfig-ctrl-caa-daemon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证运行时类:
oc get runtimeclass
$ oc get runtimeclass
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME HANDLER AGE kata kata 152m kata-remote kata-remote 152m
NAME HANDLER AGE kata kata 152m kata-remote kata-remote 152m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow