15、Kubernetes网络:深入理解与实践

Kubernetes网络:深入理解与实践

1. Pod间通信

Pod的IP地址无论位于哪个节点,都可被其他Pod访问。下面分别介绍同一节点内和不同节点间的Pod通信。

1.1 同一节点内的Pod通信

同一节点内的Pod间通信默认通过网桥进行。例如有两个拥有各自网络命名空间的Pod,当Pod 1要与Pod 2通信时,数据包会从Pod 1的命名空间经过对应的veth对(如vethXXXX),最终到达网桥。网桥会广播目标IP以帮助数据包找到路径,vethYYYY响应广播,数据包随后到达Pod 2。

1.2 不同节点间的Pod通信

根据要求,所有节点必须能够与所有容器通信。Kubernetes将实现委托给容器网络接口(CNI),用户可选择L2、L3或覆盖网络等不同实现方式。覆盖网络(即数据包封装)是最常见的解决方案之一,它在数据包离开源节点前进行封装,传输后在目标节点解封装,但会增加网络延迟和复杂性。只要所有容器能跨节点相互访问,可使用任何技术,如L2邻接或L3网关。

以下是使用minikube启动CNI的步骤:
1. 若minikube已启动,可先停止或删除集群:

minikube stop
# 或
minikube delete
  1. 启动minikube并启用CNI:
minikube start --network-plugin=cni
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值