I have a cluster of Raspberry PIs running K3s, Cilium (CNI, LB, kube-proxy). If I use Cilium or Contour as a Gateway API, I get an IP address for the gateway. How can I do it with Traefik v3.1.2?
$ kubectl get gateways -A
NAMESPACE NAME CLASS ADDRESS PROGRAMMED AGE
cnpg-tools cnpg-tools-gw traefik True 44s
kube-system hubble-gateway cilium 192.168.72.160 True 5m27s
rook-ceph rook-ceph contour 192.168.72.161 True 5m23s
traefik traefik-gateway traefik True 6m24s
I am installing Traefik from Helm using Ansible, like this:
- name: Install traefik from chart
kubernetes.core.helm:
wait: true
name: traefik
chart_ref: traefik/traefik
release_namespace: traefik
chart_version: "{{ releases['traefik'] }}"
values:
image:
tag: "{{ releases['traefik_tag'] }}"
persistence:
enabled: true
storageClass: "rook-ceph-block"
ingressRoute:
dashboard:
enabled: false
ports:
web:
port: 80
websecure:
port: 443
redis:
port: 6379
postgres:
port: 5432
ssh:
port: 22
additionalArguments:
- "--entryPoints.web.http.redirections.entryPoint.to=websecure"
- "--entryPoints.web.http.redirections.entryPoint.scheme=https"
- "--log.level=DEBUG"
providers:
kubernetesIngress:
enabled: false
kubernetesGateway:
enabled: true
experimentalChannel: true
gateway:
enabled: false
service:
enabled: false
If I enable the service, the gateway is accessible via the LB created by the service, but the IP address does not show, nor is it registered with external DNS like the other options I am using.
Thank you!
Stefanita Vilcu