The scarcity of IPv4 addresses and the eventual exhaustion of available IPs have always led people to consider IPv6 as an alternative option. Although it has been more than two decades since there were concerns around this, and we haven’t run out of IPv4 addresses, there are organizations that have fully committed to using IPv6 as the default way forward. These organizations are usually in the IoT or Telco vertical, where they have too many network-connected devices and IPs to manage. To illustrate the shift toward IPv6, Kubernetes had started out with IPv4, but it later added IPv6-only clusters as an alpha feature in version 1.9 and then made IPv6-only clusters a fully supported feature in version 1.18. As part of the IPv6 journey, Kubernetes has also announced the general availability of dual-stack IPv4/IPv6 clusters in version 1.21.
With our latest Portworx Enterprise 2.11 release, we are announcing support for IPv6-only Kubernetes clusters. With this new release, customers can now deploy Portworx Enterprise on IPv6-only upstream Kubernetes clusters with local disks and get all the basic features of Portworx like dynamic provisioning of block and file-based persistent volumes, data protection using snapshots, monitoring using metrics/alerts, and PX-Autopilot capabilities to expand your persistent volumes based on autopilot rules. One important thing to note here, however, is that Portworx only supports IPv6-only clusters and not dual-stack IPv4/IPv6 clusters with the 2.11 release. With future releases, you will see enhancements around IPv6 that will add support for managed Kubernetes clusters that support IPv6, cloud drives, async and sync disaster recovery architectures using PX-DR, data protection using PX-Backup, etc.
To deploy Portworx on an IPv6-enabled cluster, you will need to deploy a Kubernetes cluster with local drives attached that Portworx can use as capacity and KVDB drives/devices.
- Once you have the IPv6 cluster set up, you can navigate to Portworx Central and generate a new Portworx specification.
- Select the latest version of the Portworx from the dropdown (version 2.11) and click Next.
- Select On-Premises and select the Manually specify disks in the environment and on-prem storage type sections respectively.
- Enter the drive paths (e.g., /dev/sdb) for your Drive/Device and your KVDB device sections.
- Complete the remaining steps in Portworx Central and hit Finish on the last page.
- Copy the two commands and run them against your IPv6 cluster. Portworx automatically detects the networking stack for your Kubernetes cluster and deploys the storage cluster using the local drives attached to your nodes.
- All the Portworx pods will use an IPv6 address to communicate with each other to form the storage cluster.
- Once the Portworx cluster is deployed successfully, you can deploy your containerized applications, and Portworx will dynamically provision all block and file volumes for your Stateful applications.
If your Kubernetes cluster doesn’t have access to public registries using IPv6 addresses, you will first need to create an internal registry and download all the container images needed to install Portworx and then update the Registry settings in the Portworx Central spec generator.
Here is a list of all the images that you need in your internal registry for the installation to work successfully:
- Portworx Enterprise: docker.io/portworx/px-enterprise:2.11.0
- Portworx Operator: docker.io/portworx/px-operator:1.8.1
- csi-node-driver-registrar: k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.1.0
- csi-provisioner: docker.io/openstorage/csi-provisioner:v1.6.1-1
- Stork: docker.io/openstorage/stork:2.7.0
- Portworx Autopilot: docker.io/portworx/autopilot:184.108.40.206
- Prometheus-config-reloader: docker.io/portworx/prometheus-config-reloader:v0.56.3
- Prometheus: http://quay.io/prometheus/prometheus:v2.36.0
- Prometheus Operator: docker.io/portworx/prometheus-operator:v0.56.3
IPv6 support is just one of the new features introduced in Portworx version 2.11. Other features include FlashArray Direct Access support, IBM Cloud cloud drive integration, and more. If you want to see a demo of Portworx running on an IPv6-only Kubernetes cluster, check out the video below: