Kubernetes中平时没注意到的特性

1、在 Pod 中的容器之间共享进程命名空间

kubernetes官网链接
进程命名空间共享使用 v1.PodSpec 中的 ShareProcessNamespace 字段启用。例如:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  shareProcessNamespace: true
  containers:
  - name: nginx
    image: nginx
  - name: shell
    image: busybox
    securityContext:
      capabilities:
        add:
        - SYS_PTRACE
    stdin: true
    tty: true

在这里插入图片描述

  • 容器进程不再具有 PID 1。 在没有 PID 1 的情况下,一些容器镜像拒绝启动(例如,使用 systemd 的容器),或者拒绝执行 kill -HUP 1 之类的命令来通知容器进程。在具有共享进程命名空间的 pod 中,kill -HUP 1 将通知 pod沙箱(在上面的例子中是 /pause)。
  • 进程对 pod 中的其他容器可见。 这包括 /proc 中可见的所有信息,例如作为参数或环境变量传递的密码。这些仅受常规 Unix 权限的保护。
  • 容器文件系统通过/proc/$pid/root 链接对 pod中的其他容器可见。 这使调试更加容易,但也意味着文件系统安全性只受文件系统权限的保护。

猜你喜欢

转载自blog.csdn.net/Free_time_/article/details/107991699