跳转至

双栈使用

Kube-OVN 中不同的子网可以支持不同的协议,一个集群内可以同时存在 IPv4,IPv6 和双栈类型的子网。 我们推荐一个集群内使用统一的协议类型以简化使用和维护。

为了支持双栈,需要主机网络满足双栈要求,同时需要对 Kubernetes 相关参数做调整, 请参考 Kubernetes 的双栈官方指导

创建双栈子网

在配置双栈时,只需要设置对应子网 CIDR 格式为 cidr=<IPv4 CIDR>,<IPv6 CIDR> 即可。 CIDR 顺序要求 IPv4 在前,IPv6 在后,如下所示:

apiVersion: kubeovn.io/v1
kind: Subnet
metadata: 
  name: ovn-test
spec:
  cidrBlock: 10.16.0.0/16,fd00:10:16::/64
  excludeIps:
  - 10.16.0.1
  - fd00:10:16::1
  gateway: 10.16.0.1,fd00:10:16::1

如果需要在安装时默认子网使用双栈,需要在安装脚本中修改如下参数:

POD_CIDR="10.16.0.0/16,fd00:10:16::/64"
JOIN_CIDR="100.64.0.0/16,fd00:100:64::/64"

查看 Pod 地址

配置双栈网络的 Pod 将会从该子网同时分配 IPv4 和 IPv6 的地址,分配结果会显示在 Pod 的 annotation 中:

apiVersion: v1
kind: Pod
metadata:
  annotations:
    ovn.kubernetes.io/allocated: "true"
    ovn.kubernetes.io/cidr: 10.16.0.0/16,fd00:10:16::/64
    ovn.kubernetes.io/gateway: 10.16.0.1,fd00:10:16::1
    ovn.kubernetes.io/ip_address: 10.16.0.9,fd00:10:16::9
    ovn.kubernetes.io/logical_switch: ovn-default
    ovn.kubernetes.io/mac_address: 00:00:00:14:88:09
    ovn.kubernetes.io/network_types: geneve
    ovn.kubernetes.io/routed: "true"
...
podIP: 10.16.0.9
  podIPs:
  - ip: 10.16.0.9
  - ip: fd00:10:16::9

微信群 Slack Twitter Support Meeting

评论