问题
k8s中configmap中文件权限是:
defaultMode: 420
securityContext也是非root用户
runAsNonRoot: true
这样在cm的目录中,就没有可执行权限。
解决
cm中的420是八进制,yaml中是十进制。
在线转换地址:https://tool.oschina.net/hexconvert
修改成755就是493。
volumes:
- configMap:
defaultMode: 493
name: xxx
附
如果想以root用户进入pod中,可以采用下面的方法:
- 查看容器id
crictl ps | grep alert
2.使用nerdctl工具(cni是containerd的情况)
nerdctl -n k8s.io exec -it -u root 1f46997746b96 sh