我想git
作为initContainer
Kubernetes pod 的一部分运行。我还希望容器以任意非 root 用户身份运行。有没有办法做到这一点?
问题是,如果我在 pod 描述中包含这样的内容:
securityContext:
runAsUser: 1234
然后git
会像这样失败:
No user exists for uid 1234
fatal: Could not read from remote repository.
错误来自ssh
. 显而易见的解决方法是通过https://
url 而不是使用来克隆ssh
,但我依赖部署密钥来只读访问远程存储库。
我无法将用户烘焙到图像中,因为直到运行时我才知道用户 ID 是什么。
我无法/etc/passwd
在运行时将用户添加到,因为容器以非 root 用户身份运行。
其他人是如何处理这种情况的?
如果有人问:
$ kubectl version
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.9+k3s1", GitCommit:"630bebf94b9dce6b8cd3d402644ed023b3af8f90", GitTreeState:"clean", BuildDate:"2020-09-17T19:05:07Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}