Установка Kubernetes nginx controller на bare metal

Подробная инструкция как установить nginx ingress controller на чистый bare metal кластер:

https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal

Или по шагам:

  1. Устанавливаем ingress-nginx service с type NodePort:
    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml

    Проверим, что установка завершена успешно:

    kubectl get services -n ingress-nginx

    Видим:

    ingress-nginx   ingress-nginx NodePort 10.245.213.134 <none> 80:31462/TCP,443:30310/TCP  2s

    Поздравляем! Nginx контроллер успешно установлен, теперь можем сделать curl до машины с 31462 портом и получим ответ nginx:

    $ curl OUR_NODE_IP:31462
    <html>
    <head><title>404 Not Found</title></head>
    <body>
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/1.15.6</center>
    </body>
    </html>
  2. Посмотрим какой nginx.conf  наш контроллер нам сгенерировал?
    kubectl -n ingress-nginx exec nginx-ingress-controller-<pod-id> -- cat /etc/nginx/nginx.conf > ./nginx.conf

    Если откроем conf файл мы увидим какую конфигурацию имеет nginx в данный момент.

  3. Далее мы можем добавлять новые ingress, установленный Nginx controller возьмет на себя функцию обновления conf файла.
  4. Теперь дело за малым — настроим наш reverse proxy load balancer на порт 31462 (или 30310 для https) наших нод.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *