https://blog.csdn.net/watermelonbig/article/details/80646988
k8s中,每個 Pod 都有一個獨立的 IP 地址,所有 Pod 在一個網絡空間中,不管它們是否在同一個 Node上,都可以通過對方的 IP 進行訪問。用戶不需要考慮如何建立 Pod 間的連接,也不需要考慮將容器端口映射到主機端口等問題。
Linux 在網絡棧中引入了命名空間(Network Namespace),這些獨立的協議棧被隔離到不同的命名空間中。處於不同命名空間的網絡棧是完全隔離的,彼此之間無法通信,就好像兩個 “平行宇宙”。通過這種對網絡資源的隔離,就能在一個宿主機上虛擬多個不同的網絡環境。
Docker 也正是利用了網絡的命名空間特性,實現了不同容器之間網絡的隔離。
在 Linux 的網絡命名空間內可以有自己獨立的路由表及獨立的 iptables/Netfilter 設置來提供包轉發、NAT 及 IP 包過濾等功能。