关键字
k8s kubernetes docker network namespace netns 网络命名空间 pod重启 容器重启 mountPropagation Bidirectional volume mount shared
关键点
docker:
-v /etc/netns/:shared
k8s:
mountPropagation: "Bidirectional"
背景
在容器里操作netns,在容器重启后,会导致历史netns重建。 这个属性用的很少,但是在当前的功能里又是必要的
实际配置
历史命令
docker:
docker run --name alpine -dit --network=host --privileged=true -v /run/netns/:/run/netns/ -v /etc/netns/:/etc/netns/ alpine:3.13.1 sh
k8s:
volumeMounts:
- name: etc-netns
mountPath: /etc/netns/
mountPropagation: "Bidirectional"
- name: run-netns
mountPath: /run/netns/
mountPropagation: "Bidirectional"
...
volumes:
- name: etc-netns
hostPath:
path: /etc/netns/
- name: run-netns
hostPath:
path: /run/netns
新命令
dokcer:
docker run --name alpine -dit --ipc=private --network=host --privileged=true -v /run/netns/:/run/netns/:shared -v /etc/netns/:/etc/netns/:shared alpine:3.13.1 sh
k8s:
volumeMounts:
- name: etc-netns
mountPath: /etc/netns/
- name: run-netns
mountPath: /run/netns/
...
volumes:
- name: etc-netns
hostPath:
path: /etc/netns/
- name: run-netns
hostPath:
path: /run/netns