12 - Ingress в Kubernetes. Создание Ingress на Minikube
ฝัง
- เผยแพร่เมื่อ 13 มิ.ย. 2024
- Ingress. Создание Ingress на Minikube
В этом видео Вы изучите объект #Kubernetes #Ingress. Также настроим его на Minikube
Приятного просмотра! Надеюсь будет полезно!
0:00 Вступление
0:23 Что такое Ingress и его назначение
01:25 Установка Ingress Controller на Minikube
03:05 Запуск Deployments и Services для них
04:07 Создание объекта Ingress
05:53 Настройка локального DNS используя файл /etc/hosts в Linux
07:34 Исследование созданного Ingress
Ссылка на Service в Kubernetes - Часть 1. Type: ClusterIP. Endpoints: • 10 - Service в Kuberne...
Ссылка на Service в Kubernetes - Часть 2. Types: ExternalName, NodePort и LoadBalancer. Headless Service: • 11 - Service в Kuberne...
Ссылка на урок по Deployment в Kubernetes:
• 9 - Deployment в Kuber...
Пример кода из видео: github.com/bakavets/k8s-lesso...
Вы можете купить мне кофе, чтобы сказать спасибо! www.buymeacoffee.com/bakavets
Подписаться на канал: / bakavets
Подписаться на Telegram канал: t.me/bakavets
Подписаться на Twitter: / bakavets
Хоспади, как было непонятно и как оказалось всё просто. У автора талант объяснить простым языком сложные вещи.
просто охуенный краткий обзор ingress, спасибо.
Супер! Срасибо за супер быстрый способ развернуть Ingress Controller внутри minikube. Благослови Бог!
Ты лучший!
Спасибо за выполненную работу!
Tilek, Спасибо!
Спасибо! Все четко и ясно :)
Спасибо за урок. Хорошо работает на minikube, с bare metal пришлось повозится.
А что именно пришлось повозиться можешь по подробней рассказать ?
спасибо за /etc/hosts)
спасибо
гений!
4:54 я считаю, вы здесь оговорились, тут не ingress controller создается, а ingress resource. Сам же контроллер уже ранее был установлен и запущен в виде подов. Контроллер соответственно следит за появлением или изменениями в ingress ресурсах, и конфигурируется соответствующим образом (под капотом просто меняется конфиг nginx-а, который тут выступает в роли лоад балансера). Поправьте если я не прав.
Все верно.
спасибо за видос!!! а что у Вас за эктеншен у терминала?
Терминал: github.com/ohmyzsh/ohmyzsh
Тема к терминалу: github.com/romkatv/powerlevel10k
Спасибо, пример из видео не работает. IP адрес контроллеру не назначается. Назначается только localhost. При попытке зайти на localhost:80 нет никакого ответа
Вероятней всего, Вы запускаете minikube, используя Docker драйвер. Поэтому можно сделать следующее:
minikube addons enable ingress
Вы увидите: After the addon is enabled, please run "minikube tunnel" and your ingress resources would be available at "127.0.0.1".
После этого выполняем в отдельном терминале команду: sudo minikube tunnel
NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible
Ingress станет доступен на localhost, пока Вы не прервёте команду: sudo minikube tunnel.
Привет. Можешь ли записать видео как настроить Ingress на Bare Metal кластере?
Привет. По возможности запишу.
Спасибо за видео, взял на сервере с нуля развернул kuber, настроил деплоймент и сервисы и по аналогии настроил у себя ingress с использованием Nginx ingress controller,но почему-то 404 ошибка :(
P.s это у тебя kubuntu стоит?
Удалось разобраться? Стоит Ubuntu.
@@BAKAVETS Привет к сожалению нет и у меня Kubernetess работал на виртуальном сервере, а не с облака:(
Да и сейчас работаю на работе где его особо не используют kuber:( Пробовал в Минске поискать работу с kubernetess, но когда приходишь на собес и понимают что у тебя нету 1-2 года опыта с ним, сразу разворачивают:)
Кстати у тебя очень красивая Ubuntu, а можешь скинуть мне ссылку на тему или на ресурс как ты ее настроил таким образом, буду очень благодарен.
@@samrybkin9184 если вы имели ввиду терминал, то вот.
Терминал: github.com/ohmyzsh/ohmyzsh
Тема к терминалу: github.com/romkatv/powerlevel10k
@@BAKAVETS нет просто использую Ubuntu 22.04 gnome и ее тема существенно отличается от темы которые были представлены у тебя в видосах поэтому и хотел узнать за тема у тебя стоит в Ubuntu?
С Ingress стало понятно, а ingress controller немного в тень ушёл.
А как работает ингрес если сервис хедлесс? И несколько подов в реплике
Привет! Чтобы сервис был Headless, нужно явно объявить в сервисе clusterIP: None. В этом видео все сревисы type: ClusterIP.
@@BAKAVETS это я понимаю, и прошлое видео тоже посмотрел и лайкнул) но ни тут не там не нашел явного ответа на мой вопрос. Есть 2 пода 1 хедлес сервис и ингрес. Если я правильно понимаю входящий трафик будет попадать на все поды но возвращаться 1 ответ, так как стоит ингрес. Как ингрес понимает из какого пода отдавать ответ?
Трафик не будет попадать на все pods сразу, а только на один. За ingress стоит LoadBalancer(LB), Вы можете убедиться в этом сами, используя nslookup и доменное имя, которое указано в ingress, и Вам вернется один или несколько IP адресов, которые относятся к LB, поэтому если Вы обращаетесь к headless сервису через ingress, то ingress направит трафик только на один рандомный pod. На практике же обычно используют headless service для statefulset вместе с обычным service, например ClusterIP. Те работает два сервиса, обслуживающих один statefulset. И запросы к statefulset делает обычно клиентское приложение в kubernetes, которое и понимает куда отправлять трафик: на headless или обычный сервис, а запросы из вне в свою очередь приходят с ingress на service клиентского приложения.
Все стало на свои места когда почитал про endpoint и target группы в aws у alb)
Очень непонятное описание плюсов и смысла ингресс, которое заключается только в "сохранение сессий на основе файлов куки и т.д" ?
Ingress это API-объект кубера, а его смысл в том, что есть ingress controller, который уже помогает куберу сконфигурировать веб-сервер. Поэтому есть много разных ingress на основе nginx, apache и тд
Ну и если маршрутизации http/https недостаточно, то ингресс как говорилось в видео: с load blancer’ом поможет и сделать ssl/tls тоже… Вам надо бы не кубером заняться, а в начале про веб-серверы почитать:)
@@MrMikhailDJ совет из разряда, научись писать под ассемблер, а потом только переходи на высокий уровень. Лол.
@@volodia9509 нет здесь другое. Совет из разряда не учи виртуальные функции C++, пока не выучил обычные))
Пример очень плохой привели. Вам лучше вообще про IT забыть с таким подходом. Это явно не ваше…
Здесь дело было далеко не в уровне. Надеюсь по-моему примеру вы догадались о чём я. Могу ещё один привести: не учи кубер, если не знаешь что такое контейнер. Так понятнее стало?
К сожалению, урок не работает для тех, кто использует Docker в качестве драйвера в minikube. Когда создаётся кластер с использованием драйвера docker, то контейнер открывает доступ извне только напрямую к сервисам, но не к созданному внутри ingress
Можно сделать следующее:
minikube addons enable ingress
Вы увидите: After the addon is enabled, please run "minikube tunnel" and your ingress resources would be available at "127.0.0.1".
После этого выполняем в отдельном терминале команду: sudo minikube tunnel
NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible
Ingress станет доступен на localhost, пока Вы не прервёте команду: sudo minikube tunnel.
@@BAKAVETS тоже столкнулся с этой проблемой, поставил докер драйвер, и захотел чтобы на компах которые с хостом в локальной сети, сервис открывался, но решений похоже нет. То что вы предлагаете выше скорее костыль, который лично у меня после команды sudo minikube tunnel выводит - Profile "minikube" not found. Хотя профиль с таким именем запущен.
Пока сложилось стойкое впечатление того, что всё что касается кубернетеса хорошо и грамотно себя чувствует в облаках. А все тренировочные миникубы, k3s, тд довольно косячные и капризные-)
Nichego ne ponyal