Kubernetes学习笔记(二):网络原理

Kubernetes网络模型

Kubernetes网络模型设计的一个基础原则是:每个Pod都拥有一个独立的IP地址,而且假定所有Pod都在一个可以直接连通的、扁平的网络空间中。所以不管它们是否运行在同一个Node(宿主机)中,都要求它们可以直接通过对方的IP进行访问。设计这个原则的原因是,用户不需额外考虑如何建立Pod之间的连接,也不需要考虑将容器端口映射到主机端口等问题。
实际在Kubernetes的世界里,IP是以Pod为单位进行分配的。

按照这个网络抽象原则,Kubernetes对网络有什么前提和要求呢?

  • 所有容器都可以在不用NAT的方式下同别的容器通信;

  • 所有节点都可以在不用NAT的方式下同所有容器通信,反之亦然;

  • 容器的地址和别人看到的地址是同一个地址;

网络通信的场景

  1. 容器到容器的通信。
    同一个Pod内的容器(Pod内的容器是不会跨宿主机的)共享同一个网络命名空间,共享同一个Linux协议栈。可以直接通过localhost互相访问。

  2. Pod之间的通信:同一个Node内。
    通过Veth连接在同一个docker0网桥上,它们的IP地址都是从docker0的网桥上动态获取的,它们和网桥本身的IP3是同一个网络段的。

  3. 不同Node上的Pod之间的通信。
    对docker0的IP地址做统一的规划;对Pod的IP地址做统一的规划;

  4. Pod到Service之间的通信。
    Service的虚拟IP通过每个Node上的kube-proxy映射到不同的Pod上,暂时只支持轮询。

  5. 外部到内部的访问
    NodePort、LoadBalancer。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值