美文网首页k8s/istio
Kubernetes 网络架构学习笔记

Kubernetes 网络架构学习笔记

作者: 国服最坑开发 | 来源:发表于2022-06-14 11:28 被阅读0次

参考: https://blog.csdn.net/qq_35789269/article/details/113922038
看了这么多, 这个大佬讲的比较到位, 赞!

1.典型的Pod网络

Pod网络
  • eth0 : Node主机物理网卡
  • docker0: 虚拟网格/交换机
  • veth0: Pod内部虚拟网卡
  • pause实例: 用于创建 veth0

2.不同Node/Pod通信方式

一般有两种:

  • 直接在路由器上配置路由


    路由
  • 覆盖技术: 类似VPN技术


    VPN

2.1 CNI (Container Network Interface)

为了统一Pod网络实现, K8s定义一套接口 (Java的门面模式?)


CNI

3. Service 网络模型

Service实现两个功能:

  • 服务发现(Service Discovery)
  • 负载均衡(Load Balancing)
Service
  • Kubelet : 把Deployment 生成的Pod IP 上报给 Master
  • ClusterIP: Service 对象会生成一个虚拟IP
  • Kube-Proxy: 把ClusterIP 和 Pod IP 列表的映射关系更新到iptables

4.NodePort

Service是可以直接把内部服务端口暴露出来的. 可用范围: 30000~32767范围内的端口

3.1 LoadBalancer

如果把Service 定义为LoadBalancer 类型, 云厂商会生成外部的 LB + 独立IP


LoadBalance
  • 短板: 需要为每一个服务分配一套公网LB, 比较浪费.

3.2 Ingress

为解决 3.1 的短板, 在集群内部构建一个七层路由层.


Ingress

总结

小结

相关文章

网友评论

    本文标题:Kubernetes 网络架构学习笔记

    本文链接:https://www.haomeiwen.com/subject/eyczmrtx.html