1.5 KiB
Traefik — noble
Prerequisites: Cilium, MetalLB (pool + L2), nodes Ready.
-
Create the namespace (Pod Security baseline — Traefik needs more than restricted):
kubectl apply -f clusters/noble/apps/traefik/namespace.yaml -
Install the chart (do not use
--create-namespaceif the namespace already exists):helm repo add traefik https://traefik.github.io/charts helm repo update helm upgrade --install traefik traefik/traefik \ --namespace traefik \ --version 39.0.6 \ -f clusters/noble/apps/traefik/values.yaml \ --wait -
Confirm the Service has a pool address. On the LAN,
*.apps.noble.lab.pcenicni.devcan resolve to this IP (split horizon / local DNS). Public names go through Pangolin + Newt (CNAME + API), not ExternalDNS — seeclusters/noble/apps/newt/README.md.kubectl get svc -n traefik traefikValues pin
192.168.50.211viametallb.io/loadBalancerIPs.192.168.50.210stays free for Argo CD. -
Create Ingress resources with
ingressClassName: traefik(or rely on the default class). TLS: addcert-manager.io/cluster-issuer: letsencrypt-staging(orletsencrypt-prod) andtlshosts — seeclusters/noble/apps/cert-manager/README.md. -
Public DNS: use Newt + Pangolin (CNAME at your DNS host + Integration API for resources/targets) —
clusters/noble/apps/newt/README.md.