如果没有为通过身份验证的用户配置 Pod 安全策略和基于角色的访问控制,则可能会发生容器部署错误。

问题

您将容器工作负载部署到 TKG 2.0 集群,但该工作负载未启动。您会看到类似以下内容的错误:

Error: container has runAsNonRoot and image will run as root.

原因

置备 TKG 集群时启用了 PodSecurityPolicy 准入控制器。在集群管理员将 PodSecurityPolicy 绑定到经过身份验证的用户之前,经过身份验证的用户不能创建特权或非特权 POD。

解决方案

如果使用的是 TKR 1.24 或更低版本,请创建默认 PodSecurityPolicy 的相应绑定,或定义自定义 PodSecurityPolicy。如果使用的是 TKR 1.25 或更高版本,请配置 Pod 安全准入。请参见管理 TKG Service 集群安全