Чтобы начать играть с Kubernetes, я создал небольшой проект, в котором я создаю кластер из трех узлов на своем локальном компьютере с помощью Vagrant и Vbox: https://github.com/sasadangelo/k8s-cluster
Просто наберите vagrant up
my кластер работает и я могу начать играть с ним. Я ознакомился с основными понятиями и командами и создал простое приложение «Hello World», состоящее из docker изображения с веб-сервером NGINX, где вы можете подключиться через браузер, и появится сообщение «Hello World» с именем хоста. Имя хоста помогает мне понять, какой Pod ответил на мой запрос.
Здесь проект: https://github.com/sasadangelo/k8s-tutorials/tree/master/hello-k8s
В настоящее время я могу создать развертывание с kubectl create
, выставляя это как служба с kubectl expose
, а затем увеличить реплику с kubect scale
. В настоящее время я могу использовать службу NodePort, поэтому с kubectl describe service
я вижу, по какому IP прослушивают 5 модулей, я подключаюсь к ним, и все работает нормально.
Моя проблема в том, что теперь я хочу загрузить баланс траффи c. Я хочу подключиться к одному IP , и как только я нажимаю на кнопку перезагрузки браузера, я хочу видеть, что появляются разные имена Pod.
Я знаю, что Kubernetes по умолчанию предлагает только NodePort сервис, и если я хочу балансировщик нагрузки, мне нужно что-то вроде Ingress. Я также знаю, что простой обратный прокси-сервер, такой как Ingress Nginx, является хорошей реализацией для моих нужд.
Тем не менее, я прочитал много учебников, но мне трудно понять, как мне настроить его, чтобы добиться того, что мне нужно .
Вот код, который у меня есть на данный момент: https://github.com/sasadangelo/k8s-cluster/tree/master/ingress
Может кто-нибудь помочь мне, как исправить входной код для достижения того, что мне нужно?