# Install a Loadbalancer (MetalLB) and Ingress Controller (Nginx or Traefik) on a default Talos Linux cluster ## MetalLB - Install and Configure ```shell # add repo and install helm repo add metallb https://metallb.github.io/metallb helm repo update helm install metallb metallb/metallb -n metallb-system --create-namespace --wait # fix pod security for speaker pods kubectl label namespace metallb-system pod-security.kubernetes.io/enforce=privileged kubectl label namespace metallb-system pod-security.kubernetes.io/audit=privileged kubectl label namespace metallb-system pod-security.kubernetes.io/warn=privileged # restart speaker daemonset kubectl rollout restart daemonset/metallb-speaker -n metallb-system ``` ```shell cat < traefik-values.yaml service: type: LoadBalancer nodeSelector: node-role.kubernetes.io/worker: "" additionalArguments: - "--certificatesresolvers.letsencrypt.acme.email=your-email@domain.com" - "--certificatesresolvers.letsencrypt.acme.storage=/data/acme.json" - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web" EOF helm install traefik traefik/traefik -n traefik-system --create-namespace -f traefik-values.yaml ```