-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rootless: support Bottlerocket OS (probably by porting moby/daemon.getUnprivilegedMountFlags()
)
#3098
Comments
Are there any plans on getting this working? |
I'm also very interested in this, note I found a bottlerocket issue bottlerocket-os/bottlerocket#1934 |
I tried to look into this, but it looks like the current version of Bottlerocket OS doesn't even seem to support creating user namespaces: $ kubectl logs buildkitd
time="2023-03-09T07:51:20Z" level=warning msg="/proc/sys/user/max_user_namespaces needs to be set to non-zero."
[rootlesskit:parent] error: failed to start the child: fork/exec /proc/self/exe: no space left on device Version: (Created with $ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
ip-XXX-XXX-XXX-XXX.ap-northeast-1.compute.internal Ready <none> 8m36s v1.25.5-eks-c248520 192.168.35.80 XXX.XXX.XXX.XXX Bottlerocket OS 1.12.0 (aws-k8s-1.25) 5.15.79 containerd://1.6.15+bottlerocket The sysctl can't be modified in the pod securityContext due to I guess the sysctl can be still modified by sshing into the Bottlerocket nodes, but I guess typical users would rather prefer to just create non-Bottlerocket node group. So I'm going to close this issue, but happy to reopen if Bottlerocket supports creating user namespaces once again. |
There seems to be some configuration knob? But EKS doesn't seem to support specifying custom user-data (at least via eksctl), so I'm still not sure how it is applicable to EKS. Workaround: |
sysctls were not the issue as they could be set on the node, the issue is with setting up |
On Bottlerocket OS, an emptyDir is still mounted with
nosuid
,nodev
, so BuildKit fails to create bind mounts:Options:[rbind ro]}]: operation not permitted
.#3097 (comment)
Probably this can be fixed by porting
moby/daemon.getUnprivilegedMountFlags()
tocontainerd/mounts.Mount()
.https://github.com/moby/moby/blob/v20.10.17/daemon/oci_linux.go#L420-L470
#3097 (comment)
The text was updated successfully, but these errors were encountered: