SUSE Kubernetes IPv6 on AWS

Summary

Support for IPv6-only clusters was added in Kubernetes 1.9 as an alpha feature, allowing full Kubernetes capabilities using IPv6 networking instead of IPv4 networking.

It was practically abandoned since then, so I stepped up to maintain it and progress it to GA since 1.15 release.

It required a lot of testing, bug fixing and adding some new features, but with 1.18 we are closing to graduate it to Beta, the only missing part is to have it running in a Cloud Provider.

Goal

Create an IPv6 cluster in AWS using SUSE instances and explain the process

References

Results

*openSUSE Leap is the first distro to run Kubernetes IPv6 cluster in AWS *

It was a very exciting Hackweek, lots of surprises but I was able to achieve the goal and I have fully automated the deployment of a Kubernetes IPv6 cluster in AWS using Cloudformation templates.

It wasn't a straightforward project and I had to:

Right now deploying a Kubernetes IPv6 cluster in AWS is just one command:

sh aws cloudformation create-stack --stack-name myKubernetesIPv6Cluster \ --template-body file://aws-k8s-ipv6.yaml \ --parameters ParameterKey=KeyPairName,ParameterValue=aojeagarcia-key

More details of the process:

https://github.com/aojea/k8s-aws-ipv6

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 19


Comments

  • ebischoff
    8 months ago by ebischoff | Reply

    Hey, cool. If I get free time besides my own project, I will join it.

  • aojeagarcia
    8 months ago by aojeagarcia | Reply

    openSUSE Leap is the first distro to run Kubernetes IPv6 cluster in AWS It was a very exciting Hackweek, I was able to overcome all the challenges needed to achieve it, and I have fully automated the deployment of a Kubernetes IPv6 cluster in AWS using Cloudformation templates, right now deploying a Kubernetes IPv6 cluster in AWS is just one command:

    sh aws cloudformation create-stack --stack-name myKubernetesIPv6Cluster \ --template-body file://aws-k8s-ipv6.yaml \ --parameters ParameterKey=KeyPairName,ParameterValue=aojeagarcia-key

    All the details here: https://github.com/aojea/k8s-aws-ipv6

    It wasn't a straightforward project and I had to:

    adapt the CNI plugin I've created for KIND to support AWS: https://github.com/aojea/kindnet

    automate the creation of fully baked images with all the Kubernetes components in OBS: https://build.opensuse.org/package/show/home:aojeagarcia:jeek8s/JeeK8S-Leap-15.1

    fix a bug in Kubernetes upstream: https://github.com/kubernetes/kubernetes/pull/88164

Similar Projects

This project is one of its kind!