跳至内容

IPv6

Alpha(功能标志) Beta
kOps 1.23 kOps 1.26

kOps 针对配置仅使用 IPv6 Pod 和仅使用 IPv6 或双栈节点的集群提供 Beta 支持。

IPv6 模式通过在集群规范中设置 nonMasqueradeCIDR: "::/0" 来指定。kops create cluster--ipv6 标志会设置此字段和其他字段。

云提供商

kOps 目前仅支持 AWS 上的 IPv6。

IPv6 需要外部 Cloud Controller Manager。

VPC、子网和拓扑

VPC 可以是共享的,也可以由 kOps 管理。如果共享,它必须具有关联的 IPv6 池。

可以使用特殊语法 /LEN#N 在集群规范中指定子网 IPv6 CIDR 分配,其中 "LEN" 是前缀长度,"N" 是 VPC IPv6 CIDR 中 CIDR 的十六进制序列号。例如,如果 VPC 的 CIDR 是 2001:db8::/56,那么语法 /64#a 将表示 2001:db8:0:a/64

预计公共子网和实用子网是双栈的。预计类型为 Private 的子网是仅使用 IPv6 的。有一种新的子网类型 DualStack,它类似于 Private,但它是双栈的。DualStack 子网默认用于控制平面和 APIServer 节点。

仅使用 IPv6 的子网需要 Kubernetes 1.22 或更高版本。因此,IPv6 集群上的私有拓扑也需要 Kubernetes 1.22 或更高版本。

路由和 NAT64

具有 IPv6CIDR 分配的受管理的私有子网和公共子网将 64:ff9b::/96(NAT64)路由到子网规范的 egress 字段中指定的任何内容,默认情况下为可用区的 NAT 网关。

如果受管理的公共子网因此需要 NAT 网关,并且该可用区中没有实用子网,则 NAT 网关将放置在该区域中第一个列出的公共子网中。

受管理的私有子网将其余出站 IPv6 流量路由到 VPC 的仅出口互联网网关。受管理的公共子网将其余出站 IPv6 流量路由到 VPC 的互联网网关。

发行版

由于 Debian(截至 Debian 11)不支持仅使用 IPv6 的实例,因此 kOps 不支持 Debian 上的 IPv6。

CNI

kOps 目前仅支持 Calico、Cilium 和自携 CNI 上的 IPv6。

CNI 必须不能伪装 IPv6 地址。

Calico

使用 Calico 运行 IPv6 需要基于 Ubuntu 22.04 或 Flatcar 的 AMI。