即使 Pod 驻留在同一个工作节点中,它们如何获得唯一的 IP 地址?
另外,pod 不是设备,为其提供 IP 地址背后的逻辑是什么?
分配给Pod的IP地址是虚拟IP吗?
\n\n\n实际上,Kubernetes 在 Pod 范围内应用 IP 地址 - Pod 内的容器共享其网络命名空间 - 包括其 IP 地址。
\n\n这意味着 Pod 中的容器都可以相互访问本地主机上的\xe2\x80\x99s 端口。
\n
\n 这确实意味着 Pod 中的容器必须协调端口使用,但这与 VM 中的进程没有什么不同。
\n 这称为\xe2\x80\x9cIP-per-pod\xe2\x80\x9d 模型。
限制条件是:
\n\n\n\n\n\n
\n- 所有容器无需 NAT 即可与所有其他容器通信
\n- 所有节点都可以与所有容器通信(反之亦然),无需 NAT
\n- 容器将自己视为的 IP 与其他容器将其视为的 IP 相同
\n
查看Alok Kumar Singh的“ Networking with Kubernetes ”了解更多内容:
\n\n\n\n这里:
\n\n\n\n\n我们有一台机器,它在kubernetes中称为节点。
\n
\n 它的 IP 172.31.102.105 属于 CIDR 172.31.102.0/24 的子网。
( CIDR:无类别域间路由,一种分配IP地址和IP路由的方法)
\n\n\n\n\n该节点具有附加的网络接口
\neth0
。它属于节点的根网络命名空间。
\n 对于要隔离的 pod,它们是在自己的网络命名空间\xe2\x80\x8a\xe2\x80\x94\xe2\x80\x8ath 中创建的,它们是 pod1 n/w ns 和 pod2 n/w ns。
\n 为 Pod 分配 CIDR 范围 100.96.0.0/11 中的 IP 地址 100.96.243.7 和 100.96.243.8。
有关信息,请参阅CloudNativelabs中的“ Kubernetes Networking ” :
\n\n\n\n\nKubernetes 不会协调设置网络,并将作业卸载到CNI(容器网络接口)插件。有关CNI 规范的更多详细信息,请参阅CNI 规范。
\n\n以下是通过 CNI 插件可能的网络实现选项,这些插件允许 Pod 到 Pod 的通信,以满足 Kubernetes 的要求:
\n\n\n
\n- 第 2 层(交换)解决方案
\n- 第三层(路由)解决方案
\n- 覆盖解决方案
\n
您可以看到它们的 IP 属于容器子网地址范围的一部分。
\n\n这是关于使用子网的路由填充默认网关路由器,如图所示。
\n到 10.1.1.0/24 和 10.1.2.0/24 的路由分别配置为通过节点 1 和节点 2。
一般不使用。
\n\n注意:另请参阅(2018 年 10 月):“ Google Kubernetes Engine 网络”。
\n 归档时间: |
|
查看次数: |
9882 次 |
最近记录: |