Skip to content

Commit c777740

Browse files
authored
docs: add Bottlerocket section to rootless Podman (#17987)
1 parent d6c14f3 commit c777740

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

docs/admin/templates/extending-templates/docker-in-workspaces.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,45 @@ Before using Podman, please review the following documentation:
266266
> For more information around the requirements of rootless podman pods, see:
267267
> [How to run Podman inside of Kubernetes](https://www.redhat.com/sysadmin/podman-inside-kubernetes)
268268
269+
### Rootless Podman on Bottlerocket nodes
270+
271+
Rootless containers rely on Linux user-namespaces.
272+
[Bottlerocket](https://github.com/bottlerocket-os/bottlerocket) disables them by default (`user.max_user_namespaces = 0`), so Podman commands will return an error until you raise the limit:
273+
274+
```output
275+
cannot clone: Invalid argument
276+
user namespaces are not enabled in /proc/sys/user/max_user_namespaces
277+
```
278+
279+
1. Add a `user.max_user_namespaces` value to your Bottlerocket user data to use rootless Podman on the node:
280+
281+
```toml
282+
[settings.kernel.sysctl]
283+
"user.max_user_namespaces" = "65536"
284+
```
285+
286+
1. Reboot the node.
287+
1. Verify that the value is more than `0`:
288+
289+
```shell
290+
sysctl -n user.max_user_namespaces
291+
```
292+
293+
For Karpenter-managed Bottlerocket nodes, add the `user.max_user_namespaces` setting in your `EC2NodeClass`:
294+
295+
```yaml
296+
apiVersion: karpenter.k8s.aws/v1
297+
kind: EC2NodeClass
298+
metadata:
299+
name: bottlerocket-rootless
300+
spec:
301+
amiFamily: Bottlerocket # required for BR-style userData
302+
# …
303+
userData: |
304+
[settings.kernel]
305+
sysctl = { "user.max_user_namespaces" = "65536" }
306+
```
307+
269308
## Privileged sidecar container
270309
271310
A

0 commit comments

Comments
 (0)