Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dual stack support #1446

Closed
wants to merge 1 commit into from
Closed

Conversation

manuelbuil
Copy link
Collaborator

@manuelbuil manuelbuil commented May 28, 2021

Add new option for flannel daemon to support dual stack:

  • "publicIPv6": "IPv6 accessible by other nodes for
    inter-host communication"

Add new option into net-conf.json configuration, like following:
{
"EnableIPv4": true,
"EnableIPv6": true,
"Network": "172.16.0.0/16",
"IPv6Network": "fc00::/48",
"Backend": {
"Type": "vxlan"
}
}
EnableIPv4 default value is true for using kube subnet manager.
EnableIpv6 default value is false.

Flannel dual stack feature has limitation, only work with vxlan backend
and kube subnet manager now. To enable flannel dual stack feature, need
to do the following step:

  1. setting flanneld daemon with "--kube-subnet-mgr"
  2. settting "EnableIPv6" and "IPv6Network" in "net-conf.json" like the
    above configuration.
  3. setting network interface that flannel used ipv6 address and
    default ipv6 gateway in the host node.
  4. vxlan support ipv6 tunnel require kernel version >= 3.12
  5. We require the Alpine image to move to version 3.13. Otherwise we get Failed to ensure iptables rules: Error tearing down rules: running [/sbin/ip6tables -t nat -D POSTROUTING -s fc00::/48 ! -d ff00::/8 -j MASQUERADE --random-fully --wait]: exit status 2: ip6tables v1.8.4 (legacy): unknown option "--random-fully" ==> Upgrade Alpine version #1447

Signed-off-by: yaoice [email protected]

Description

Todos

  • Tests
  • Documentation
  • Release note

Release Note

Dual-stack support for flannel with vxlan backend

It also need flannel cni plugin to support dual stack ip allocation, so it
depends on: containernetworking/plugins#570

#248

Add new option for flannel daemon to support dual stack:
- "publicIPv6": "IPv6 accessible by other nodes for
  inter-host communication"
- "auto-detect-ipv4": "auto detect ipv4 address of the iface",
  default value is true.
- "auto-detect-ipv6": "auto detect ipv6 address of the iface",
  default value is false

Add new option into `net-conf.json` configuration, like following:
{
  "EnableIPv4": true,
  "EnableIPv6": true,
  "Network": "172.16.0.0/16",
  "IPv6Network": "fc00::/48",
  "Backend": {
    "Type": "vxlan"
  }
}
EnableIPv4 default value is true for useing kube subnet manager.
EnableIpv6 default value is false.

Flannel dual stack feature has limitation, only work with vxlan backend
and kube subnet manager now. To enable flannel dual stack feature, need
to do the following step:
1. setting flanneld daemon with "--kube-subnet-mgr --auto-detect-ipv6"
2. settting "EnableIPv6" and "IPv6Network" in "net-conf.json" like the
above configuration.
3. setting network interface that flannel used ipv6 address and
default ipv6 gateway in the host node.
4. vxlan support ipv6 tunnel require kernel version >= 3.12.

Signed-off-by: yaoice <[email protected]>
@manuelbuil
Copy link
Collaborator Author

Wrong branch!

@manuelbuil manuelbuil closed this May 28, 2021
@manuelbuil manuelbuil deleted the newIPv6-PR branch February 18, 2022 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants