这不是关于隧道的问题,尽管这可能是解决方案的一部分。
对于公共云提供商,由于提供商拥有大型 A/B/C 类公共 IPv4 块,因此请求负载均衡器是微不足道的。然而,虽然拥有一个 ipv6 块是微不足道的,但发布负载均衡器地址并非易事,因为您不能假设传入流量支持 ipv6。如何弥合这一差距?
尝试实现:给定有限的 ipv4 公共地址 (4),而是生成第 7 层 http 负载均衡器 A 记录,这些记录映射到 ipv4 地址。这些 ip4 地址然后路由到集群内 ipv6 集群地址。也许这里需要 SNI?
约束:不能假设 Ingres 流量支持 ipv6,因此(如果可能)需要 SNAT 来重写 ipv6 -> ipv6 并再次返回(这可能吗?)、iptables 和 conntrack 以进行连接跟踪?
E.g ingress
Load balancer A records Public ipv4 address <mapping (not tunnelling)> Public ipv6 address range
lb[1-n].example.com ------> 192.0.2.0/24 ----> 2001:DB8::/32
E.g. egress
ipv6 address range Public ipv4 address
2001:DB8::/32 -----> 192.0.2.0/24 ----> source ip ipv4 or ipv6
https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/ https://kubernetes.io/docs/concepts/services-networking/dual-stack/ netfilter https://metallb.universe.tf / https://linux.die.net/man/8/ip6tables https://community.hetzner.com/tutorials/install-kubernetes-cluster