Wener Site

Kubernetes Networking Awesome

约 2 分钟阅读
标签:资源精选

Ingress & Gateway

Ingress 实现情况

  1. 针对实现 Ingress API
    • 通常不暴露额外的 CDR
    • 例如 ingress-nginx
  2. 基于现有 Web 服务支持 Ingress
    • 通常支持自定义 CDR
    • 例如 traefik
  3. 基于现有 平台 支持 Ingress
    • 通常支持 接口 操作规则
    • 服务有状态
    • 例如 kong, apisix

Ingress 选择

  • 最好选择简单实用熟悉的
    • 例如 已知怎么定义一些特殊规则
  • 选择轻量,功能单一的
    • 例如 证书尽量配合 cert-manager 使用
  • 需要支持复杂 API 网关场景最好利用多 IngressClass 或 通过服务 进行继承使用
    • 例如 使用 kong 或 apisix 统一管理 API - ingress 执行 网关服务
  • 将 Ingress 看作是反向代理的替代
  • 推荐 - ingress-nginx
  • IngressClass 可配合使用
    • HAProxy 擅长 TLS、SNI、LB
    • Nginx 擅长 反向代理
    • Envoy 擅长 协议感知、定制性高
    • 自定义网关 擅长 API 管理、集成、Web 可视化管理
ingressstarsbased oningressgatewaygovernance
ingress-nginxingress-nginx-starsnginx🟢🔴
haproxy-ingresshaproxy-ingress-starshaproxy🟢🟢
haproxytech-ingressGitHubhaproxytech/kubernetes-ingresshaproxytech-ingress-starshaproxy🟢🔴haproxytech
istioenvoy🟢🟢CNCF/google
contourGitHubprojectcontour/contourenvoy🟢🟢CNCF
traefik笔记Traefik IngressTraefik 的 K8S 分为 CRD 方式和标准的 IngressController · CRD 支持更多功能 - Helm 安装 · Traefik 支持非常多的功能 - ACME, SNI, Dashboard, Tracing, Metrics打开:/notes/devops/kubernetes/network/traefik-ingresstraefik🟢🟢
glooGitHubsolo-io/glooenvoy🟢🟡
Emissary-IngressGitHubemissary-ingress/emissaryemissary-ingress/emissary · Apache-2.0, Go+Python · API Gateway + Layer 7 LB + Kubernetes Ingress · Envoy Proxy · 之前为 Ambassador API Gateway笔记:emissary-ingressemissary-ingress-starsenvoy🟢🟢
kongGitHubKong/kubernetes-ingress-controllernginx/kong🟢🟡Kong
apisixGitHubapache/apisix-ingress-controllernginx/apisix🟢🟡Apache
citrixGitHubcitrix/citrix-k8s-ingress-controllerCitrix ADC🟢
enrouteGitHubsaarasio/enrouteenvoy🟢CNCF/saarasio
easegressGitHubmegaease/easegresseasegress-starseasegress🟢megaease
voyagerGitHubvoyagermesh/voyagerhaproxy🟢AppsCode
tykGitHubTykTechnologies/tyk-operatortyp🟢
skipperGitHubzalando/skipperskipper🟢

CNI

vs.startsIPv6WindowsPolicy
calico笔记Calicoprojectcalico/calico · 提供 · 网络联通 · 管理 · 安全 · layer 3, BGP · Network policy · 可集成 istio 拦截流量 · 参考 · Node requirements打开:/notes/devops/kubernetes/network/calicocalico-stars✅✅✅
kube-router笔记kube-routercloudnativelabs/kube-router · LVS/IPVS service proxy - IPVS+IPTables · Pod Networking - Router Controller - GoBGP+routing打开:/notes/devops/kubernetes/network/kube-routerkube-router-stars❌❌❌
flannel笔记Flannelflannel-io/flannel · layer 2 · overlay network · 每个节点一个 CIDR 段 · 支持后端 · vxlan · 大多时候默认 · DirectRouting 可以在相同 subnet 时直连 - 类似 host-gw打开:/notes/devops/kubernetes/network/flannelflannel-stars❌✅❌
ciliumcilium-stars❌❌✅
  • 不支持 IPv6 也不支持 DualStack
  • NetworkPolicy 支持控制 Ingress 和 Egress 网络
  • kube-router
    • layer 3, lvs/ipvs
  • flannel
    • overlay
    • 轻量, 专注网络层
    • 后端: vxlan, host-gw, udp, ipip, ipsec, wireguard
    • 配置: etcd, k8s api
  • calico
  • cilium
  • weave
    • IPsec ESP
  • canal - 停止 - calico+flannel - 目前 calico 内置 vxlan

网络组件功能选项

  • Policy
  • IPAM
  • CNI
  • Overlay - VXLAN, IPIP, WG, IPIP, IPSec
  • Routing - BGP, VPC

Overlay

  • tinc
  • n2n

关联信息

反向链接和本文引用的外部资料。

References

GitHub

18 条

另有 10 个未显示 references。

其他外链

13 条

另有 5 个未显示 references。

另有 15 个 references 未显示。

最近更新commit bc57f0dEdit

On this page