Установка Ingress-контроллера

Ingress-контроллеры не предустановлены в кластере. Для создания объектов Ingress установите любой из Ingress-контроллеров.

Рассмотрим установку Ingress-контроллера NGINX:

  1. Установите Helm.

  2. Установите Ingress-контроллер с помощью команды:

    helm upgrade --install ingress-nginx ingress-nginx \
    --repo https://kubernetes.github.io/ingress-nginx \
    --namespace ingress-nginx --create-namespace
    

    Команда автоматически создаст сервис LoadBalancer в дополнение к Ingress-контроллеру. LoadBalancer необходим для организации доступа извне к приложениям в кластере.

  3. Проверьте, что Ingress-контроллер запущен и для сервиса LoadBalancer выделен внешний IP-адрес:

    kubectl get service -n ingress-nginx
    

    Пример ответа:

    NAME                                 TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)                      AGE
    ingress-nginx-controller             LoadBalancer   10.96.18.31      192.168.18.121   80:32723/TCP,443:31461/TCP   23s
    ingress-nginx-controller-admission   ClusterIP      10.111.213.118   <none>           443/TCP                      23s
    

    См.также

    Подробнее про установку Ingress-контроллера NGINX.

После установки Ingress-контроллера создайте объект Ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx-example
  rules:
  - http:
      paths:
      - path: /testpath
        pathType: Prefix
        backend:
          service:
            name: test
            port:
              number: 80

Подсказка

Полный список аннотаций для манифеста объекта Ingress.

Подробнее про объекты Ingress.