k3s on ipv6

I've recently been working on setting up a K3s server using an IPv6-only address, leveraging the public IPv6 address provided by my ISP. This setup allows me to expose services to the public internet. Below, I share the steps to configure a K3s server with IPv6, including additional steps beyond the standard installation on the K3s website.
By default, K3s does not enable IPv6 support, to customize the installation and enable IPv6 functionality, the most straight forward method is to define the required configuration directly within the INSTALL_K3S_EXEC
variable during installation.
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --node-ip (Your host public ip) --cluster-cidr 2001:c0c0:42:0::/56 --service-cidr 2001:c0c0:43:1::/112 --flannel-ipv6-masq" sh -s -
Please configure your host's public IPv6 address in the command. For the cluster and service CIDR, you may use the provided values or customize them as needed. Once completed, you may proceed with the installation.
To install the workers nodes you need to get the node token from the k3s master node which you can find by the below command.
cat /var/lib/rancher/k3s/server/node-token
It shoud look like below.
K10f30533f8420f322ab288aaafa8cec8a8724ef5bf7c1e1d33f573eb88052dc95c::server:6cfa5313b7364b0baa987bd9f9a3a905
Next, update the command below with your required values. Once completed, the installation will be finalized.
curl -sfL https://get.k3s.io | K3S_URL=https://([Your master node public ip]):6443 K3S_TOKEN=(Your server token) INSTALL_K3S_EXEC="agent --node-ip (Your host public ipv6)" sh -
Verify the node using the kubectl get nodes -o wide
command

Verify the pods and services are created and using IPv6 address by using command kubectl get all -o wide -A
it will return all the pod and shows the IP address as below.

Conclusion:
By following this guide, you will successfully install K3s with IPv6 support. However, please note that pod outbound traffic will only be able to access IPv6 enabled domains, and inbound traffic will also be limited to IPv6. To make your services accessible via an IPv4 address, you can use a proxy or CDN service, such as Cloudflare, though this solution is applicable only for HTTP traffic.