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。