kubernetes之Pod中的容器共享进程Namespace
2021-04-25 02:28
标签:nginx ror RoCE 链接 man 文档 text nec eps 此文讲述如何配置Pod中的容器恭喜共享进程Namespace。当进程名称空间共享被激活,在同一个Pod中,一个容器的进程可以在其他容器中看到。可以使用此功能来配置协作容器,例如日志处理程序sidecar容器,或对不包含调试实用程序(例如shell)的容器映像进行故障排除。在Kubernetes v1.17中已处于稳定状态。 备注:此文档参考官方文档,并加以自己的理解。如有误导性的内容,请批评指正。 使用 1、在集群中创建 创建Pod 2、将 输出内容如下: 可以用信号通知其他容器中的进程。 例如,将 甚至可以使用 Pod可以共享很多资源,例如共享进程名称空间。不过,某些容器图片可能会与其他容器隔离,因此了解这些差异很重要: kubernetes之Pod中的容器共享进程Namespace 标签:nginx ror RoCE 链接 man 文档 text nec eps 原文地址:https://www.cnblogs.com/mcsiberiawolf/p/12230787.html简介
配置Pod共享进程Namespace
shareProcessNamespace
激活进程Namespace共享。例如: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
nginx
PodapiVersion: 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
# kubectl apply -f /root/k8s-example/pods/share-process-namespace.yaml
shell
容器附加到nginx
容器上,运行ps
命令# kubectl attach -it nginx -c shell
/ # ps ax
PID USER TIME COMMAND
1 root 0:00 /pause
6 root 0:00 nginx: master process nginx -g daemon off;
11 101 0:00 nginx: worker process
12 root 0:00 sh
18 root 0:00 ps ax
SIGHUP
发送到nginx以重新启动worker
进程。 这需要SYS_PTRACE
功能。/ # kill -HUP 6
/ # ps ax
PID USER TIME COMMAND
1 root 0:00 /pause
6 root 0:00 nginx: master process nginx -g daemon off;
12 root 0:00 sh
19 101 0:00 nginx: worker process
20 root 0:00 ps ax
/proc/$pid/root
链接访问另一个容器映像。/ # head /proc/6/root/etc/nginx/nginx.conf
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
理解进程Namepsace共享
PID 1
。一些容器在没有 PID 1
进程或运行诸如kill -HUP 1之类的命令来发出容器进程信号拒绝启动(例如:,容器使用 systemd
)在具有共享进程名称空间的Pod中,kill -HUP 1
将向Pod沙箱发出信号。 (在以上示例中为/ pause
。)/proc
中所有可见的信息,例如作为参数或环境变量传递的密码。 这些仅受常规Unix权限保护。/proc/$pid/root
链接。这使调试更加容易,但是这也意味着文件系统秘密仅受文件系统许可权保护。
下一篇:JS——全选和全不选
文章标题:kubernetes之Pod中的容器共享进程Namespace
文章链接:http://soscw.com/essay/79215.html