第 5 章 已知问题
本节介绍 OpenShift 沙盒容器 1.11 中已知的问题。
使用对等 pod 时从私有 registry 中拉取容器镜像
由于 1.10 中镜像拉取机制的变化,在从私有 registry (如 registry.access.redhat.com )中拉取容器镜像时,身份验证无法正常工作。解决方法是将集群 pull secret 复制到对等 pod 命名空间中。然后,您必须将 pull secret 链接到 default 服务帐户,或者将 pull secret 明确添加到对等 pod 清单中。
如果 CPU 离线,增加容器 CPU 资源限值会失败
如果请求的 CPU 离线,使用容器 CPU 资源限制来增加 pod 的可用 CPU 数量会失败。如果功能可用,您可以通过运行 oc rsh <pod> 命令来访问 pod,然后运行 lscpu 命令诊断 CPU 资源问题:
lscpu
$ lscpu
输出示例:
CPU(s): 16 On-line CPU(s) list: 0-12,14,15 Off-line CPU(s) list: 13
CPU(s): 16
On-line CPU(s) list: 0-12,14,15
Off-line CPU(s) list: 13
离线 CPU 列表是无法预计的,可以从 run 改为 run。
要临时解决这个问题,请使用 pod 注解来请求额外的 CPU,如下例所示:
metadata:
annotations:
io.katacontainers.config.hypervisor.default_vcpus: "16"
metadata:
annotations:
io.katacontainers.config.hypervisor.default_vcpus: "16"
增加 sizeLimit 不会扩展临时卷
您不能使用 pod 规格中的 sizeLimit 参数来扩展临时卷,因为卷大小默认为分配给沙盒容器的 50%。
要临时解决这个问题,请通过重新挂载卷来更改大小。例如,如果分配给沙盒容器的内存为 6 GB,并且临时卷挂载到 /var/lib/containers,您可以通过运行以下命令来将此卷的大小增加到 3 GB:
mount -o remount,size=4G /var/lib/containers
$ mount -o remount,size=4G /var/lib/containers
请注意,mount 命令需要在 pod 中运行。您可以将它作为 pod 清单本身的一部分,或通过运行 oc rsh 并执行 mount 命令在 pod 中启动 shell 会话。