1.3.12. 节点
- 多租户集群中的镜像拉取凭证验证
在这个版本中,管理员可以使用
KubeletConfig自定义资源中的imagePullCredentialsVerificationPolicy参数为缓存的镜像强制凭证验证。此参数强制 kubelet 在部署 pod 前重新与容器 registry 进行身份验证,确保请求的命名空间对镜像具有有效的访问权限。底层
KubeletEnsureSecretPulledImages功能门默认启用。管理员可以配置特定的凭证供应商策略来平衡安全性和稳定性:-
AlwaysVerify: Enforces 凭证检查所有镜像拉取请求。 NeverVerifyAllowlistedImages: Enforces 凭证检查用户工作负载,同时在允许列表中处理基本基础架构镜像。在此次更新之前,多租户 OpenShift Container Platform 集群有一个安全漏洞,kubelet 不会为缓存的镜像重新验证凭证。如果一个租户拉取私有镜像,另一个租户可以使用该同一缓存部署 pod,而无需提供镜像 pull secret。为了缓解这个问题,管理员依赖不支持的配置。但是,这些临时解决方案会导致集群不稳定,在 registry 中断过程中有风险的 control plane 失败,并会阻止关键集群升级。
注意当默认的
KubeletEnsureSecretPulledImages功能门处于活跃状态时,不要使用NeverVerifyPreloadedImages策略,因为策略可能无法正常工作。使用NeverVerifyAllowlistedImages策略替代。
-
- 现在默认启用 CPU 资源强制
在这个版本中,所有不使用保留 CPU 功能的集群启用了
system-reserved-compressible参数。这个问题解决了系统保留 CPU 超过所需限制的问题。通过在 kubelet 配置中配置systemReservedCPU: ""参数可覆盖默认设置。如需更多信息,请参阅 OpenShift Container Platform 如何强制实施 system-reserved CPU。
- 将 OCI 镜像挂载到 pod 中
在这个版本中,您可以使用镜像卷将开放容器项目(OCI)兼容工件直接挂载到 pod 中。OCI 工件允许用户使用 OCI 兼容容器 registry 存储和分发任意文件和元数据。
如需更多信息,请参阅 将 OCI 镜像和工件挂载到 pod 中。
- CRI-O 工件的可配置存储位置
在这个版本中,您可以在 pod 可以从中拉取的 CRI-O 中创建额外的非默认工件存储位置。通过将 CRI-O 容器引擎的存储位置用于 OCI 工件、完成容器镜像或容器镜像层,您可以减少应用程序启动时间,并使应用程序更有效地运行。
如需更多信息,请参阅 附加 CRI-O 存储位置以加快容器启动速度。
- 镜像 registry 的项目的镜像镜像 pull secret (技术预览)
在这个版本中,您可以使用项目范围内的 pull secret 作为技术预览功能从镜像 registry 中拉取镜像。在此次更新之前,您需要在从已镜像的 registry 中拉取时使用节点级别的 secret,因为 kublet 无法识别镜像配置,该配置在 container-runtime 级别中配置。
- 现在,动态资源分配支持可分区的设备(技术预览)
在这个版本中,动态资源分配功能支持根据工作负载需求将物理硬件分区到较小的逻辑实例中,如 Multi-Instance GPU。使用这个技术预览功能,您可以安全有效地在多个 pod 间共享 GPU。
如需更多信息,请参阅使用 DRA 将 GPU 分配给 pod。