-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
containerd/containerd
#10200Labels
Description
Hi fellows in buildkit.
I know this might have open multiple times like here and here, but will try to bring it again with more details so you may be able to help more.
I am trying to run buildkit in rootless in EKS using bottlerocket, the infra information are below:
- Arch: arm64
- buildkit image: moby/buildkit:rootless
- Bottlerocket OS 1.19.1 (aws-k8s-1.28)
- k8s version: v1.28.5-eks-5e0fdde
The below pod definition is used:
apiVersion: v1
kind: Pod
metadata:
name: buildkitd
annotations:
container.apparmor.security.beta.kubernetes.io/buildkitd: unconfined
spec:
nodeSelector:
workload: runners
containers:
- name: buildkitd
image: moby/buildkit:rootless
args:
- --addr
- tcp://0.0.0.0:1234
- --oci-worker-no-process-sandbox
- --debug
securityContext:
seccompProfile:
type: Unconfined
runAsUser: 1000
runAsGroup: 1000
volumeMounts:
- mountPath: /home/user/.local/share/buildkit
name: buildkitd
- name: runner
image: moby/buildkit:rootless
command: [ "/bin/sh", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]
env:
- name: BUILDKIT_HOST
value: tcp://localhost:1234
volumes:
- name: buildkitd
emptyDir: {}
Note the the runner is actually a custom image that we use in our CI, but replaced with the same buildkit container as it has buildctl to use, but buildkit container is the same.
When we run buildctl on the runner, we get the following error:
time="2024-02-19T12:34:34Z" level=warning msg="failed to compute blob by overlay differ (ok=false): failed to write compressed diff: mount callback failed on /run/user/1000/containerd-mount387897202: mount callback failed on /run/user/1000/containerd-mount1737412574: failed to record upperdir changes (close error: failed to close tar writer: context canceled): context canceled"
time="2024-02-19T12:34:34Z" level=error msg="/moby.buildkit.v1.Control/Solve returned error: rpc error: code = Unknown desc = failed to mount /run/user/1000/containerd-mount3852074643: operation not permitted"
Bottlerocket is configured with:
[settings.kernel.sysctl]
"user.max_user_namespaces" = "63359"
Really appreciate your help in identifying where the missing peace to let this to work.
Thank you