# Ingress Controller Lets install an ingress controller (NGINX or Traefik) on a basic Talos Linux cluster. ## NGINX (option 1) ```shell # add worker labels (if needed) kubectl label node w-01 node-role.kubernetes.io/worker="" kubectl label node w-02 node-role.kubernetes.io/worker="" kubectl label node w-03 node-role.kubernetes.io/worker="" # add repo and install helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update helm install ingress-nginx ingress-nginx/ingress-nginx \ -n ingress-nginx --create-namespace \ --set controller.service.type=LoadBalancer \ --set controller.nodeSelector."node-role\.kubernetes\.io/worker"="" ``` ### Uninstall NGINX ```shell helm uninstall ingress-nginx -n ingress-nginx ``` ## Traefik (option 2) ```shell # add repo helm repo add traefik https://traefik.github.io/charts helm repo update # create traefik config 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 # install helm install traefik traefik/traefik -n traefik-system --create-namespace -f traefik-values.yaml ``` ### Uninstall Traefik ```shell helm uninstall traefik -n traefik-system ```