kubernetes PodSecurityPolicy设置为runAsNonRoot,在获取错误后,pod无法启动错误:容器具有runAsNonRoot且映像具有非数字用户(appuser),无法验证用户是否为非root用户
我们正在docker容器中创建用户(appuser)uid-> 999和组(appgroup)gid-> 999,并从该用户启动容器。
但是吊舱创建引发错误。
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 53s default-scheduler Successfully assigned app-578576fdc6-nfvcz to appmagent01
Normal SuccessfulMountVolume 52s kubelet, appagent01 MountVolume.SetUp succeeded for volume "default-token-ksn46"
Warning DNSConfigForming 11s (x6 over 52s) kubelet, appagent01 Search Line limits were exceeded, some search paths have been omitted, the applied search line is: app.svc.cluster.local svc.cluster.local cluster.local
Normal Pulling 11s (x5 over 51s) kubelet, appagent01 pulling image "app.dockerrepo.internal.com:5000/app:9f51e3e7ab91bb835d3b85f40cc8e6f31cdc2982"
Normal Pulled 11s (x5 over 51s) …Run Code Online (Sandbox Code Playgroud) 我在我的 pod 中添加了一个安全上下文,如下所示:
spec:
securityContext:
runAsNonRoot: true
Run Code Online (Sandbox Code Playgroud)
在运行 pod 时,我收到错误消息(kubectl get pod pod-name -o=yaml):
容器具有 runAsNonRoot 并且图像具有非数字用户(默认),无法验证用户是非 root
该消息很直观,但是在阅读了这篇kubernetes 博客后,在我看来它应该非常简单,我在这里遗漏了什么?