Calico eBPF is now IPv6 capable!

Kubernetes offers excellent scalability and flexibility to your infrastructure. Yet, in the midst of this transformation, we’ve all grappled with the difficulties of local IPv4 addressing which usually leads to the implementation of Network Address Translation (NAT) and unfolds complexities that we’d instead like to avoid. As if that weren’t enough, the scarcity of public IPv4 addresses and their expensive rental costs loom over our digital ambitions.

The following image shows the adoption of IPv6 among Google users:

Image Source

At this point, we all know that the IPv6 is the solution to this problem, and it is the future of the Internet. As a comparison, IPv4 uses 32-bit and has a total of 4,294,967,296 addresses, IPv6 uses 128-bit and offers 3.4 x 10^38 which is 34 with 36 zeros in front of it, and number of IPs.

IPv6 seems cool, but show me a real issue that it solves

As your environment expands, you’ll encounter limitations with the number of available private and public IPv4 addresses. This is primarily due to the necessity for subnetting and the persistent issue of IPv4 address scarcity. Additionally, each subnet consumes a portion of your available IP addresses, including those used for the gateway, DNS, broadcast, and network requirements.

Now that we’ve discussed the challenges of IPv4 scarcity, it’s worth noting that virtually all cloud providers now impose fees for the usage of public IPv4 addresses that you rent as part of their services.

The following image is snap shot from https://aws.amazon.com/vpc/pricing/

The following image is a snap shot from https://www.hetzner.com/cloud

The amount is different from provider to provider but in large scale deployment it can stack up to a considerable amount of money that you could use to improve your environment resources.

On the other hand, to encourage adaptability of IPv6 amongst users all cloud providers offer global IPs that can be used free of charge.

I have a Calico eBPF cluster. Is IPv6 supported?

For those who want to deploy a single or dual-stack IPv6 cluster with the Calico standard dataplane, the transition is relatively seamless. However, this wasn’t the case for our eBPF users. Given that Calico is the most well-known and mature CNI solution out there our approach is always a bit conservative when it comes to new features. We want to make sure that the features we add are stable and reliable.

We’re thrilled to share the exciting news that our eBPF dataplane now supports IPv6, allowing you to bring the benefits of IPv6 to your eBPF environment.

How does it work?

Calico offers a simple way to configure eBPF and secure a cluster, the eBPF IPv6 follows the same pattern.

First, make sure you are running Calico eBPF dataplane (eBPF tutorials), and then all you need to do is upgrade to Calico 3.27 and make sure that the following parameters are provided to Felix (the brain of Calico).

FELIX_IPV6SUPPORT=true
FELIX_BPFENABLED=true

The following Tigera operator config sample can be used to set up an IPv6-only eBPF cluster with Calico.

apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
  name: default
spec:
  calicoNetwork:
    bgp: Disabled
    ipPools:
    - blockSize: 122
      cidr: 2001::00/64
      encapsulation: VXLAN
      natOutgoing: Enabled
      nodeSelector: all()
EOF

In this example, Calico will assign pods with IPs from 2001::00/64 CIDR.

That is it! Calico will take care of the rest.

Conclusion

As cloud-providers are favoring the IPv6 deployment and offering incentives to encourage users to implement it in their environments it becomes evident that the future of the internet will be significantly influenced by IPv6. Moreover, capabilities such as IPsec, multicast, anycast that could be difficult to have in an IPv4 environment are native to IPv6, making it more desirable for anyone.

Calico has been supporting IPv6 clusters (IPv6 only and dual-stack) in the standard Linux dataplane for quite some time now. Today, we are giving you the opportunity to try IPv6 with our eBPF dataplane to get the best performance available in your environment.

Ready to get started? Try Calico Cloud for free.

Join our mailing list

Get updates on blog posts, workshops, certification programs, new releases, and more!

X