В локальных кластерах Kubernetes часто используют MetalLB для эмуляции работы балансировщика нагрузки. Это позволяет тестировать сервисы так же, как они работали бы в облачной среде. Чтобы организовать маршрутизацию внешних запросов в кластер, устанавливается Nginx Ingress Controller.
Инструкция
Выполним установку через Helm:
helm install nginx-ingress oci://ghcr.io/nginx/charts/nginx-ingress \
--version 2.2.1 \
--namespace nginx-ingress --create-namespace \
--set controller.service.type=LoadBalancer
*Здесь мы указываем тип сервиса LoadBalancer, чтобы MetalLB автоматически выдал внешний IP-адрес для ingress-контроллера.
Проверка установки
Смотрим созданный сервис:
kubectl get svc -n nginx-ingress
В колонке EXTERNAL-IP должен появиться адрес, выданный MetalLB.
Проверяем, что контроллер работает:
kubectl get pods -n nginx-ingress
Под должен быть в состоянии Running.