K3s: Traefik Ingress should process IPv6 traffic

Created on 5 Dec 2019  路  3Comments  路  Source: k3s-io/k3s

Version:
k3s version v1.0.0 (18bd921c)

Describe the bug
When using the traefik ingress controller it is only listening on my public IPv4 address.
I would expect the ingress to listen on my IPv6 address also by default.
But maybe i just need to add some flags?

To Reproduce

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  backend:
    serviceName: hello-world
    servicePort: 80
---

apiVersion: v1
kind: Service
metadata:
  name: hello-world
spec:
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      name: http
  selector:
    app: hello-world
---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-world
  labels:
    app: hello-world
spec:
  selector:
    matchLabels:
      app: hello-world
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: hello-world
        tier: frontend
    spec:
      containers:
      - image: tutum/hello-world:latest
        name: hello-world
        ports:
        - containerPort: 80
          name: hello-world

Expected behavior
Ingress should accept traffic from my IPv4 AND IPv6 address.

Actual behavior
It only accepts traffic from my IPv4 address.

Additional context

Most helpful comment

To get that working the whole networking must become dualstack aware. I think that鈥檚 a long way considering the use of flannel. I鈥檓 looking forward to proper IPv6 support, especially when the selling point is targetting IoT and edge. :-)

All 3 comments

To get that working the whole networking must become dualstack aware. I think that鈥檚 a long way considering the use of flannel. I鈥檓 looking forward to proper IPv6 support, especially when the selling point is targetting IoT and edge. :-)

If the host is connected to a modern network at an educated hosting-provider, which gives an ipv6-range, is it then possible to give each container a real public ipv6?
Besides the load-balancing stuff, one of the reasons for traefik is the need to run multiple hosts on a single legacy IPv4 address.

Alas, there are ignorant providers which only gives a /128 address, who can't route a block of addresses to a single machine, in which case we appearently have to wait for traefik/docker to be upgraded to modern adresses.

Not sure about K3s, but I run K8s IPv6-only with kubenet as network plugin. It works just fine with a routed IPv6 network to each node. The pods are getting IPs assigned out of that space as well and they reach the Internet and vice versa.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

giminni picture giminni  路  3Comments

ibuildthecloud picture ibuildthecloud  路  4Comments

VictorRobellini picture VictorRobellini  路  3Comments

wpwoodjr picture wpwoodjr  路  3Comments

gilkotton picture gilkotton  路  3Comments