容器操作网络命名空间

关键字

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容