Назад в блог

Изучение CloudSigma PaaS: как получить доступ к приложению Kubernetes через публичный IP-адрес

Изучение CloudSigma PaaS: как получить доступ к приложению Kubernetes через публичный IP-адрес

CloudSigma PaaS позволяет пользователям открывать доступ к своим приложениям с помощью публичного IP-адреса. Этот адрес должен быть привязан к узлу из кластера Kubernetes окружения. В окружении CloudSigma PaaS этого можно достичь двумя способами:

  • Один из способов — привязать публичный IP-адрес к выделенному балансировщику нагрузки.1-Public IP for Access to Kubernetes Application in Jelastic PaaS
  • Другой способ — привязать публичный IP-адрес к рабочему узлу (Worker node) Kubernetes.

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

Настройка выделенного балансировщика нагрузки для доступа к приложению Kubernetes

Сначала мы узнаем, как настроить выделенный балансировщик нагрузки для доступа к приложению:

  1. Перейдите в CloudSigma Marketplace чтобы найти и установить кластер Kubernetes. Затем разверните свое приложение. В качестве примера мы будем развертывать Jakarta EE Cargo Tracker.
  2. Рядом с вашим кластером Kubernetes найдите и нажмите Change Environment Topology. В открывшемся окне добавьте узел выделенного балансировщика нагрузки (Dedicated Load Balancer). Затем привяжите к нему публичный IP-адрес следующим образом:

2-Public IP Jelastic PaaS

В нашем примере мы использовали NGINX в качестве узла балансировщика нагрузки. Доступны и другие балансировщики нагрузки, включая HAProxy, LS Web ADC, и Varnish. Вы можете выбрать любой, который вам больше нравится.

После завершения изменения топологии примененные изменения будут выглядеть следующим образом:

3-Public IP for Access to Kubernetes Application in Jelastic PaaS

4-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. Следующий шаг — создание A-записи для пользовательского домена. Вы будете использовать тот же публичный IP-адрес, что и на предыдущих шагах. В этом примере мы будем использовать cargo-tracker.cloudsigma.website:

5-Public IP for Access to Kubernetes Application in Jelastic PaaS

4. Теперь мы можем привязать наш пользовательский домен к кластеру K8s. Для этого мы отправим запрос на выпуск доверенного Let’s Encrypt SSL сертификата:

  • Наведите курсор на балансировщик нагрузки (Load Balancer) и нажмите Add-Ons.
  • Найдите и установите Let’s Encrypt Free SSL:

6-Public IP for Access in Jelastic PaaS-02

  • В конфигурации введите имя вашего пользовательского домена и нажмите Install. В нашем случае доменное имя выглядит следующим образом:

7-Public IP for Access to Kubernetes Application in Jelastic PaaS-

Наконец, мы настроили наше приложение, к которому теперь можно получить доступ по пользовательскому домену https://cargo-tracker.cloudsigma.website. Мы также зашифровали трафик нашего приложения с помощью действительного и доверенного SSL-сертификата Let’s Encrypt.

Получение доступа к приложению с использованием публичного IP-адреса рабочего узла (Worker Node) Kubernetes

Далее мы рассмотрим альтернативный подход, который можно использовать для обеспечения доступности приложения за пределами кластера Kubernetes. По сути, мы узнаем, как привязать публичный IP-адрес к рабочему узлу в кластере Kubernetes, чтобы сделать приложение доступным напрямую:

8-Public IP for Access to Kubernetes Application in Jelastic PaaS

Продолжим с тем же примером, который мы показывали ранее. Мы будем использовать тот же кластер, в котором развернули наше приложение Cargo Tracker. Вот как действовать дальше:

1. Нажмите на Change Environment Topology. Добавьте публичный IP-адрес к рабочему узлу:

9.1-Public IP for Access in Jelastic PaaS

2. Далее создайте A-запись для вашего пользовательского домена и сопоставьте ее с только что добавленным IP-адресом. Убедитесь, что вы используете доменное имя, отличное от того, которое использовалось в предыдущем разделе. Например, мы будем использовать следующее доменное имя: cargo-tracker-worker.cloudsigma.website:

9.2-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. Наведите курсор на узел Control Plane или Master и нажмите Add-Ons. Найдите и установите Certificate Manager. Это должно установить контроллер cert-manager вместе с ingress-контроллером NGINX с типом службы LoadBalancer. Последний содержит IP-адрес, связанный с вашим рабочим узлом. Он будет обслуживать ресурсы класса ingress «nginx-cert»:

10-Public IP for Access to Kubernetes Application in Jelastic PaaS-01

4. В соответствующем поле введите предпочитаемое доменное имя и нажмите Apply:

11-Public IP for Access to Kubernetes Application in Jelastic PaaS

5. Во время установки надстройка также устанавливает тестовое приложение под названием helloworld-cert. Вы можете просто удалить используемые им ресурсы с помощью следующих команд:

Эти команды следует вводить и выполнять с помощью SSH (SFTP) или Web SSH Gate для Control Plane или Master Node. Наведите курсор на узел и нажмите на Web SSH рядом с ним, чтобы получить доступ к шлюзу.

Другой вариант — навести курсор на Control Plane или Master Node и нажать на Config. Отсюда перейдите в SFTP/SSH Gate и следуйте инструкциям.

6. Чтобы терминировать SSL-трафик приложения и настроить маршрутизацию к службе cargo-tracker, нам нужно создать ресурс ingress под названием cargo-tracker-worker. Допустим, мы используем cargo-tracker-worker-ingress.yaml. Вы можете использовать такой редактор, как vi , чтобы создать файл, а затем вставить следующий код:

После этого выполните следующие действия:

7. После создания этого ingress-ресурса Certificate Manager автоматически выпустит SSL-сертификат Let’s Encrypt для вашего нового доменного имени. Подождите минуту или две, прежде чем проверять доступность вашего приложения по новому пользовательскому доменному имени, которым в нашем случае является https://cargo-tracker-worker.cloudsigma.website в нашем случае.

И вуаля! Выполнив эти шаги, вы открыли доступ к своему приложению с помощью двух разных подходов. В результате вы увидите два ingress-ресурса. В нашем случае это:

  • cargo-tracker

Этот ingress обслуживает трафик приложения, поступающий через публичный IP-адрес вашего выделенного балансировщика нагрузки.

  • cargo-tracker-worker

Этот ingress настроен на обслуживание трафика приложения, поступающего напрямую с IP-адреса, привязанного к рабочему узлу (worker node) K8s.

Вот как они будут выглядеть:

12-Public IP for Access in Jelastic PaaS

В зависимости от выбранного типа реализации, в рабочей среде вам понадобится только один ingress. CloudSigma PaaS предоставляет своим пользователям доступ к ряду инструментов для выполнения балансировки нагрузки в соответствии с потребностями их приложений. Вы можете прочитать и узнать больше о балансировке нагрузки на платформе. У нас также есть подробные руководства по основам балансировки нагрузки с помощью таких инструментов, как NGINX и HAProxy, помимо других доступных инструментов.

Вы можете попробовать CloudSigma’s PaaS, воспользовавшись нашей 7-дневной бесплатной пробной версией или связаться с нами, если вы хотите, чтобы мы предоставили вам более подробную информацию и демонстрацию платформы. 

Попробуйте бесплатно в течение 7 дней

author

Zhenya Mocheva

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.