note
  • 个人笔记
  • 理解 Cilium 系列文章
    • (1) 初识 Cilium
    • (2) 理解网络数据包的流转过程
    • (3) ebpf
    • (4) ebpf Map
    • (5) ebpf 辅助函数
    • (6) XDP
    • (7) cilium 原理解析
  • linux
    • 内存
    • network
      • Linux虚拟网络之 tun/tap、ipvlan/macvlan、ipvtap/macvtap
      • socket
        • image
    • 文件系统
    • 详解Cgroup V2
    • ebpf
  • go
    • map
  • 平台
    • 关于函数冷启动
    • 镜像预热
    • 网关
    • Serverless平台遇到的问题⭐️⭐️ ⭐️⭐️⭐️
  • 工具合集
    • 压测 hey
    • 调试 pod
  • kubernetes
    • oci
      • OCI 和 runc
    • 容器网络
      • iptables ipvs
      • 如何实现一个 Kubernetes 网络插件
      • 性能提升40%: 腾讯 TKE 用 eBPF 绕过 conntrack 优化 K8s Service
    • CRI
    • 调度
    • kubectl top
    • 容器中的单进程和 k8s 中的 Pause 容器
    • Docker entrypoint 和 kubernetes 容器启动命令
  • 开发相关
    • 如何利用 Google 开源工具 Ko 在 kubernetes 上构建并部署 Go 应用
  • serverless
    • serverless 趋势解读
    • 有状态函数
  • 公众号内容
    • 题材列表
    • 内容
      • 为 Serverless 平台插上腾飞的翅膀--自定义 Faas 事件驱动事件源
      • 容器镜像按需加载
      • 【图解 Knative】解密 Eventing Broker-Trigger实现原理
      • 图解 kubectl 命令
      • Serverless 2021 最新调查报告
      • 典型的 Serverless 架构是怎样的
  • 容器技术
    • Docker 存储驱动
    • Docker overlay2 分层原理1
    • Docker overlay2 分层原理2
  • 操作系统
    • 第二章 中断,异常,系统调用
    • 第三章 计算机体系结构和 内存层次结构
  • 虚拟化
    • kvm与 qemu关系
    • kvm
  • 负载均衡
    • 负载均衡相关文章
Powered by GitBook
On this page

Was this helpful?

  1. kubernetes
  2. 容器网络

iptables ipvs

存在的问题:

1.可扩展性差。随着service数据达到数千个,其控制面和数据面的性能都会急剧下降。原因在于iptables控制面的接口设计中,每添加一条规则,需要遍历和修改所有的规则,其控制面性能是O(n²)。在数据面,规则是用链表组织的,其性能是O(n)

2.LB调度算法仅支持随机转发

IPVS模式

IPVS 是专门为LB设计的。它用hash table管理service,对service的增删查找都是O(1)的时间复杂度。不过IPVS内核模块没有SNAT功能,因此借用了iptables的SNAT功能。IPVS 针对报文做DNAT后,将连接信息保存在nf_conntrack中,iptables据此接力做SNAT。该模式是目前Kubernetes网络性能最好的选择。但是由于nf_conntrack的复杂性,带来了很大的性能损耗。

Previous容器网络Next如何实现一个 Kubernetes 网络插件

Last updated 3 years ago

Was this helpful?