I have used the following commands for installing Traefik.
kubectl create ns traefik
helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install -n traefik traefik traefik/traefik
Then, for kubectl -n traefik get svc/traefik
, I see this.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/traefik LoadBalancer 10.106.121.201 <pending> 80:30346/TCP,443:31696/TCP 9m19s
So, should Metallb be installed before Traefik? (Metallb installation failed for some reason around ConfigMap
- but, that is a separate story.)
Hey @chainhead
MetalLB is not the prerequisite for Traefik. However, based on the MetalLB documentation you need to add an annotation to the service in order to get the proper IP from MetalLB list.
You can add that by modifying values for Traefik Helm Chart
# - CurveP521
# - CurveP384
tlsOptions: {}
# Options for the main traefik service, where the entrypoints traffic comes
# from.
service:
enabled: true
type: LoadBalancer
# Additional annotations applied to both TCP and UDP services (e.g. for cloud provider specific config)
annotations: {}
# Additional annotations for TCP service only
annotationsTCP: {}
# Additional annotations for UDP service only
annotationsUDP: {}
# Additional service labels (e.g. for filtering Service by custom labels)
labels: {}
# Additional entries here will be added to the service spec. Cannot contains
# type, selector or ports entries.
spec: {}
# externalTrafficPolicy: Cluster