Merge pull request #35167 from windsonsea/clusadm
[zh-cn] resync kubelet-in-userns.md
This commit is contained in:
@@ -5,11 +5,9 @@ min-kubernetes-server-version: 1.22
|
|||||||
---
|
---
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
---
|
|
||||||
title: Running Kubernetes Node Components as a Non-root User
|
title: Running Kubernetes Node Components as a Non-root User
|
||||||
content_type: task
|
content_type: task
|
||||||
min-kubernetes-server-version: 1.22
|
min-kubernetes-server-version: 1.22
|
||||||
---
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- overview -->
|
<!-- overview -->
|
||||||
@@ -32,7 +30,7 @@ If you are just looking for how to run a pod as a non-root user, see [SecurityCo
|
|||||||
这个文档描述了怎样不使用 root 特权,而是通过使用 {{< glossary_tooltip text="用户命名空间" term_id="userns" >}}
|
这个文档描述了怎样不使用 root 特权,而是通过使用 {{< glossary_tooltip text="用户命名空间" term_id="userns" >}}
|
||||||
去运行 Kubernetes 节点组件(例如 kubelet、CRI、OCI、CNI)。
|
去运行 Kubernetes 节点组件(例如 kubelet、CRI、OCI、CNI)。
|
||||||
|
|
||||||
这种技术也叫做 _rootless 模式(Rootless mode)_。
|
这种技术也叫做 **rootless 模式(Rootless mode)**。
|
||||||
|
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
这个文档描述了怎么以非 root 用户身份运行 Kubernetes 节点组件以及 Pod。
|
这个文档描述了怎么以非 root 用户身份运行 Kubernetes 节点组件以及 Pod。
|
||||||
@@ -55,7 +53,7 @@ If you are just looking for how to run a pod as a non-root user, see [SecurityCo
|
|||||||
|
|
||||||
{{% version-check %}}
|
{{% version-check %}}
|
||||||
|
|
||||||
* [启用 Cgroup v2](https://rootlesscontaine.rs/getting-started/common/cgroup2/)
|
* [启用 cgroup v2](https://rootlesscontaine.rs/getting-started/common/cgroup2/)
|
||||||
* [在 systemd 中启用 user session](https://rootlesscontaine.rs/getting-started/common/login/)
|
* [在 systemd 中启用 user session](https://rootlesscontaine.rs/getting-started/common/login/)
|
||||||
* [根据不同的 Linux 发行版,配置 sysctl 的值](https://rootlesscontaine.rs/getting-started/common/sysctl/)
|
* [根据不同的 Linux 发行版,配置 sysctl 的值](https://rootlesscontaine.rs/getting-started/common/sysctl/)
|
||||||
* [确保你的非特权用户被列在 `/etc/subuid` 和 `/etc/subgid` 文件中](https://rootlesscontaine.rs/getting-started/common/subuid/)
|
* [确保你的非特权用户被列在 `/etc/subuid` 和 `/etc/subgid` 文件中](https://rootlesscontaine.rs/getting-started/common/subuid/)
|
||||||
@@ -74,11 +72,12 @@ See [Running kind with Rootless Docker](https://kind.sigs.k8s.io/docs/user/rootl
|
|||||||
|
|
||||||
### minikube
|
### minikube
|
||||||
|
|
||||||
[minikube](https://minikube.sigs.k8s.io/) also supports running Kubernetes inside Rootless Docker.
|
[minikube](https://minikube.sigs.k8s.io/) also supports running Kubernetes inside Rootless Docker or Rootless Podman.
|
||||||
|
|
||||||
See the page about the [docker](https://minikube.sigs.k8s.io/docs/drivers/docker/) driver in the Minikube documentation.
|
See the Minikube documentation:
|
||||||
|
|
||||||
Rootless Podman is not supported.
|
* [Rootless Docker](https://minikube.sigs.k8s.io/docs/drivers/docker/)
|
||||||
|
* [Rootless Podman](https://minikube.sigs.k8s.io/docs/drivers/podman/)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
## 使用 Rootless 模式的 Docker/Podman 运行 Kubernetes
|
## 使用 Rootless 模式的 Docker/Podman 运行 Kubernetes
|
||||||
@@ -91,13 +90,12 @@ Rootless Podman is not supported.
|
|||||||
|
|
||||||
### minikube
|
### minikube
|
||||||
|
|
||||||
[minikube](https://minikube.sigs.k8s.io/) 也支持使用 Rootless 模式的 Docker 运行 Kubernetes。
|
[minikube](https://minikube.sigs.k8s.io/) 也支持使用 Rootless 模式的 Docker 或 Podman 运行 Kubernetes。
|
||||||
|
|
||||||
请参阅 Minikube 文档中的 [docker](https://minikube.sigs.k8s.io/docs/drivers/docker/) 驱动页面。
|
请参阅 Minikube 文档:
|
||||||
|
|
||||||
它不支持 Rootless 模式的 Podman。
|
* [Rootless Docker](https://minikube.sigs.k8s.io/docs/drivers/docker/)
|
||||||
|
* [Rootless Podman](https://minikube.sigs.k8s.io/docs/drivers/podman/)
|
||||||
<!-- Supporting rootless podman is discussed in https://github.com/kubernetes/minikube/issues/8719 -->
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
## Running Kubernetes inside Unprivileged Containers
|
## Running Kubernetes inside Unprivileged Containers
|
||||||
@@ -140,7 +138,7 @@ the container plus several other advanced OS virtualization techniques.
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
Sysbox 支持在非特权容器内运行 Kubernetes,
|
Sysbox 支持在非特权容器内运行 Kubernetes,
|
||||||
而不需要 Cgroup v2 和 “KubeletInUserNamespace” 特性门控。
|
而不需要 cgroup v2 和 “KubeletInUserNamespace” 特性门控。
|
||||||
Sysbox 通过在容器内暴露特定的 `/proc` 和 `/sys` 文件系统,
|
Sysbox 通过在容器内暴露特定的 `/proc` 和 `/sys` 文件系统,
|
||||||
以及其它一些先进的操作系统虚拟化技术来实现。
|
以及其它一些先进的操作系统虚拟化技术来实现。
|
||||||
|
|
||||||
@@ -251,10 +249,10 @@ At least, the following directories need to be writable *in* the namespace (not
|
|||||||
|
|
||||||
在取消命名空间的共享之后,你也必须对其它的命名空间例如 mount 命名空间取消共享。
|
在取消命名空间的共享之后,你也必须对其它的命名空间例如 mount 命名空间取消共享。
|
||||||
|
|
||||||
在取消 mount 命名空间的共享之后,你*不*需要调用 `chroot()` 或者 `pivot_root()`,
|
在取消 mount 命名空间的共享之后,你**不**需要调用 `chroot()` 或者 `pivot_root()`,
|
||||||
但是你必须*在这个命名空间内*挂载可写的文件系统到几个目录上。
|
但是你必须**在这个命名空间内**挂载可写的文件系统到几个目录上。
|
||||||
|
|
||||||
请确保*这个命名空间内*(不是这个命名空间外部)至少以下几个目录是可写的:
|
请确保**这个命名空间内**(不是这个命名空间外部)至少以下几个目录是可写的:
|
||||||
|
|
||||||
- `/etc`
|
- `/etc`
|
||||||
- `/run`
|
- `/run`
|
||||||
|
|||||||
Reference in New Issue
Block a user