Что такое Kubernetes Ingress Controller?

Kubernetes Ingress Controller Изучение

Есть много способов показать приложение вашего кластера Kubernetes внешней сети. Вам просто нужно выбрать лучший для ваших нужд. NodePort, Ingress, LoadBalancer и ClusterIP — четыре основных варианта.

Однако в этом руководстве мы рассмотрим контроллер входящего трафика. Kubernetes Ingress API позволяет вам раскрывать приложения вашего кластера Kubernetes в Интернете, объединив рекомендации по маршрутизации в одном источнике. Чтобы использовать Ingress, вы должны настроить Ingress-контроллер в своем кластере, который отвечает за обработку входящей информации о ресурсах и включение трафика на основе входных правил. Давайте быстро рассмотрим, что такое Kubernetes Ingress и что предлагает контроллер Ingress, прежде чем углубляться в многочисленные контроллеры Ingress.

Kubernetes предлагает три формы обслуживания для предоставления определенных функций фреймворка:

ClusterIP: стандартный сервис Kubernetes — ClusterIP. Эта функция создается в кластере и доступна только через модули в этом кластере. Итак, всякий раз, когда мы хотим раскрыть услугу другим модулям в том же кластере, мы используем такую ​​услугу. Прокси Kubernetes используется для управления этой службой.

NodePort: каждый узел в вашем кластере имеет открытый порт, называемый NodePort. Даже если ваша программа установлена ​​на другом узле, Kubernetes напрямую направляет трафик, поступающий через NodePort, в приложение.

LoadBalancer: в Kubernetes гораздо более простой формой балансировки нагрузки является распределение нагрузки, которое легко исправить на этапе диспетчера. Kubernetes имеет два канала распределения нагрузки, оба из которых регулируются функцией Kube-proxy, которая обрабатывает виртуальные IP-адреса, используемые приложениями.

Несмотря на то, что Kubernetes был впервые выпущен в июне 2014 года, Kubernetes Ingress API все еще находится в стадии бета-тестирования, начиная с версии 1.18 Kubernetes. Ingress API сконцентрирован на адаптируемости и остается относительно компактным с момента его запуска в статус бета-версии в 2016 году (Kubernetes v1.2).

Kubernetes Ingress — это объект API Kubernetes, который предлагает правила маршрутизации для управления доступом внешних пользователей к службам кластера Kubernetes, обычно через HTTPS / HTTP. Вы можете легко создать инструкции по распространению трафика с помощью Ingress, не создавая серию балансировщиков нагрузки или открывая каждую операцию на узле. В результате это правильный вариант для использования в производственных условиях.

Читайте также:  Почему вы должны изучать разработку приложений для Android?

В этом руководстве мы разработаем метод, с помощью которого вы можете легко включить контроллер Ingress с помощью minikube.

Предварительные условия

Чтобы включить контроллер Ingress в вашей системе, у вас должен быть установлен кластер minikube. Кроме того, у вас должны быть права sudo для доступа к вашей системе.

Примечание : Мы работаем на Ubuntu 20.04 LTS при написании данного руководства. Вы можете использовать свою любимую операционную систему для реализации.

Создать кластер Minikube

Изначально вам нужно создать кластер minikube, чтобы включить контроллер Ingress в Kubernetes. Для этой конкретной цели мы должны запустить терминал командной строки в Ubuntu 20.04 LTS.

Вы можете запустить окно терминала двумя простыми способами. Один из них — открыть его с помощью панели приложений вашей операционной системы. Другой вариант — использовать простейшую комбинацию клавиш «Ctrl + Alt + T».

Как только вы воспользуетесь любым из этих методов, откроется терминал командной строки. Прежде всего, вы должны запустить уже установленный кластер minikube в вашей операционной системе Ubuntu 20.04 LTS. Чтобы запустить minikube, запишите нижеприведенную команду в оболочке командной строки.

$  minikube start

Чтобы запустить minikube, запишите нижеприведенную команду в оболочке командной строки

Во время выполнения этой команды вам нужно подождать несколько секунд, чтобы начать работу с minikube. После успешного выполнения команды вы также можете проверить отображаемую версию minikube. После выполнения этого шага вы можете проверить статус мини-куба, выполнив указанную команду в терминале.

$ minikube status

После выполнения этого шага вы можете проверить статус мини-куба, выполнив указанную команду в терминале

Из показанного выше изображения вы можете проверить, что хост, kubelet и apiserver работают.

Включение контроллера входящего трафика с помощью Minikube

Как только вы запустите миникуб, вы готовы включить Ingress-контроллер. Если вы хотите проверить список дополнений мини-куба, вы должны запустить в терминале следующую команду:

$ minikube addons list

Если вы хотите проверить список дополнений мини-куба

После выполнения этой команды вы увидите статус каждого дополнения minikube. Некоторые из них включены, а некоторые отключены. Теперь самое время включить контроллер Ingress с помощью minikube. Итак, для этой конкретной цели вы должны написать следующую команду в окне терминала.

$ minikube addons enable ingress

Поскольку в этой команде есть ключевое слово «enable», она включает контроллер Ingress в Kubernetes.

Поскольку в этой команде есть ключевое слово «enable»

После выполнения этой команды вы можете увидеть, что «Входящий модуль включен». Если вы хотите в этом убедиться, вы можете выполнить в терминале указанную ниже команду с флагом —n.

После выполнения этой команды вы можете увидеть, что

Вы можете видеть, что теперь статус работает.

Заключение

Если заглянуть дальше, контроллер Ingress — это программа Kubernetes. Которая настраивает балансировщик нагрузки HTTP на основе ресурсов Ingress. Для нескольких балансировщиков нагрузки обязательно требуются различные приложения контроллера Ingress. В вышеупомянутой статье мы объяснили концепцию контроллера Ingress в Kubernetes. Также мы разработали шаги по включению Ingress с помощью minikube. Я считаю, что после прочтения этой статьи у вас не останется никаких сомнений относительно контроллера Ingress в Kubernetes.

Оцените статью
bestprogrammer.ru
Добавить комментарий