11-K8s - Создание и Управление - INGRESS Controllers - Кубернетес на простом языке
Vložit
- čas přidán 3. 02. 2021
- #devops #девопс #kubernetes #ityoutubersru
11-K8s - Создание и Управление - INGRESS Controllers
Сравнение Ingress Controllers:
docs.google.com/spreadsheets/...
github.com/adv4000/k8s-lessons
Если помог, поддержите парой баксов, хотябы Канадских :) www.paypal.me/DenisAstahov
- Почему?
- Покачену.
😂👍
Видео тема
"По качану" правильно
@@flipix100 Нет не правильно
@@alexandergrigorev4518 Какие ваши доказательства?
очень крутое объяснение, топчик
Денис, спасибо вам за прекрасные уроки. Объяснения на высшем уровне, простота с которой вы доносите материал заслуживает уважения!
Спасибо, очень внятно и понятно. Как всегда на высоте:)
Спасибо за ваши старания :)
Спасибо за видео! Просто и полезно!
Автор, большое спасибо за контент! С кайфом ставлю 👍 под обучающими видосами
Денис, когда вы объясняете все просто и понятно, спасибо огромное
Спасибо огромное, не сказать что прям все с лету понятно, надо будет пересмотреть еще весь список уроков. Но общая картина и понимание появилось. Супер.
Блин, у тебя как всегда, просто о сложном. Спасибо, дай Бог тебе здоровья!
Спасибо за видео!
Огромное спасибо!
Спасибо, подписка однозначно, всё доходчиво!
Много раз пытался понять про ингресс, но так и не доходило, ибо офф. документация хоть и неплохая, но очень муторная.
У вас же очень доходчиво, за что спасибо и лайк!
Не видел ролик, но уже знаю что будет топ!
Согласен
Будут супер легко и супер просто
Денис, хотел сказать Вам большое спасибо за ваши ролики! Благодаря им я на на этой неделе буду проходить первое собеседование с HR на должность DevOps Engineer.
Писал в контакте, но выдимо не частый гость там)) пишу тут. Как только устроюсь- с меня донат;)
Спасибо Вам!
@@user-re7gz1zm4h Удачи!
На udemy уже можно посмотреть 🙂 Денис, когда ждать egress?
очень класно видео спасибо вам
Класс
Спасибо бро :)
It is rewarding Denis
Ждём
Вооо!
Круто конечно, но в конце я ждал про tls и заголовки для безопасности
ПАСИБА!
Мне понравилось это видео. У вас может возникнуть вопрос ПОЧЕМУ? ДА ПО КОЧАНУ!
Денис, спасибо тебе огромное за мануалы. По твоим гайдам изучал основы дженкинса и кубер. Все отлично и понятно, самое оно для того, чтобы понять основы, а дальше уже самостоятельно углубляться. Но почему так редко выходят видео? Месяц это нереально долго))
Каждую неделю видео выходят, просто не все видео про k8s
Посчитал,
15 видео в этом году опубликовал уже.
При этом всего 9 недель в этом году прошло.
Дэнис, а как сделать пайплайн на aws eks? Сделай пожалуйста такой ролик =)
Привет. Можете в описание добавить пояснение, что в новом АПИ есть изменения? Ну и наверное желательно измененный файл добавить на гитхаб. Мне как начинающему с этими YAML файлами например очень сложно поправить так чтобы оно работало. Кстати, хотел создать пулреквест с измененным файлом, а он там уже есть но немного с другими данными не подходящими под урок
7:15 долго смеялся :))))
Ну тут тоже придётся повозиться с версией API и структурой yaml но заработало все на minikube норм
подскажите пожалуйста как использовать ingress (желательно nginx) с использование K8s в локальной среде при помощи KinD (Kubernetes in Docker)
17:50 Ingress Manifest
Денис, спасибо за урок,
возможно ли в опеншифте поднять ингресс с mTLS шифрованием ?
готовое решение вроде Istio не подходит
опеншифт не знаю
А при выполнении cli команд для создания кластера и сервисов пожно указать, чтобы при этом создавались yaml-файлы создаваемой конфигурации, ну вроде конструктора?
Если бы меня спросили "как бы ты описал канал adv-it, не упомянаю имя Дениса и названия канала?" я бы ответил так: "Это место, где на вопрос "Почему Контюр" отвечают "По кочану!", и тебя это не бесит и не вызывает вопросов".
Правильный ответ!
Интересно я использую для настройки и поключение к бд cpanel__) Можна ли использовать на кластер сервере с-panel ?
Спасибо Денис. А почему ты используешь во втором файле serviceName: webx а не как в первом: serviceName: main?
Потомучто я его так назвал, main это один сервис, webx , это другой
Привет, спасибо за урок )
Скажи пожалуйста, если я разворачиваю кластер на ВПС не авс или Гугл Клауд, как можно направить трафик в такой кластер, если нет балансировщика?
не знаю, я не все знайка, а че гугл говорит?
@@ADV-IT много перешерстил и много материалов как все круто в авс и гугле) ладно что-то найдем или придумаем) спасибо в любом случае за очень крутые уроки не только по куберу)
За видосы спасибо. А как создать так называемый private cluster в AWS или в Azure, что бы ингресс был доступен только внутри VPC (в AWS) или VNET (в Azure) что бы не достучаться до IP из интернета?
А еще почему 12 урок заблокирован?
При создании K8s кластера, указываются какие подсети использовать тут
github.com/adv4000/k8s-lessons/blob/master/eks-cluster.yaml#L20-L21
Привет. Спасибо большое за видео. Очень помогают. Подскажи, у сервиса loadbalanser в этом видео уже есть externalip, как он изначально присваивается? Как быть, когда необходимо, чтобы пользователи за натом в той же сети что и кластер подключались по серому адресу к балансеру, а внешние пользователи по белому?
ingress можно сделать Public , а можно Private.
А вообще делают два Public и Private.
Как сделать один ингресс для нескольких серивисов в разных namespace?
Денис, как насчет ролика про DaemonSet. Часто спрашивают на собеседовании про эту сущность.
Да надо как-то сделать, время на всё нету
Почему в aws сайте не видно loadBalancer, а локально в консоли есть?
Я не могу понять в чем разница между port, containerPort и targetPort... подскажите плз
Осталась не раскрыта тема ingress per service, как это обычно сетапится в реальном мире, а так же ситуация с несколькими контроллерами на кластер. В любом случае спасибо за видео!
да просто напиши не один, а три файла и в каждом по одному ingress
Это из серии, ты показал как сделать три снеговика, но не показал как сделать одного
@@ADV-IT Я имел ввиду как разделять ингрессы между несколькими контроллерами на кластере, спасибо за ответ.
@@georgiy_kulagin а что их разделять, пиши правила и все, по схожести
Вопрос про path в ингресс. Мы когда открываем имя-сайта/path1/2/3 запрос идёт в корень сервиса?
@ADV-IT Денис подскажите пожалуйста у вас получается contour в своем неймспейсе, а ингресы, деплойменты и сервисы в default?
Давно это делал, не помню уже
поднимал локальный minikube в Windows10....не получилось завести ingress
поднял minikube в Ubuntu20 на HyperV - тоже не заработал.
а все взлетело после запуска команды minikube tunnel, который передал cluster-IP в external-IP
спасибо за уроки
Большое спасибо за уроки, хотел задать вам вопрос - в вашем случае вы поднимали ingress controller с classic load balancer - но так как он уже устарел, мне необходимо поднять контроллер с alb - не подскажите как я могу реализовать такое?
Используй nginx ingress контроллер
docs.nginx.com/nginx-ingress-controller/
@@ADV-IT большое спасибо!
Все удалось проделать на minikube под виндой 10 !
Ингресс контролер использовал встроенный в minikebe - ingress-nginx-controller
Домены создал в хост файле. Протокол API и формат поменялся с v1beta на v1.
Остальное все по твоему мануалу - все четко !!! Спасибо.
Очень хотелось бы пару уроков, как при горизонтальном масштабировании в K8s использовать общие диски, а еще лучше базы данных.
Пусть будет Postresql для примера.
Потому как на абстрактных примерах все красиво, а как доходит до реалий - любые веб и не только приложения без БД сейчас нет практически. Как масштабировать горизонтально БД вместе с приложением???
Горизонтально в принципе никак. ну или использовать Serverless Database в Cloud.
Не верю, что никак, нафига тогда весь этот кубернетис, кроме интереса , азарта, денег и тп. А-ля колайдер, на котором очень неплохо многие устроились, а 98 процентов остальных за это все платят, нихера, извиняюсь, не понимая, что там роисзодит и нафига все это нужно.
@@VINT-IT k8s бесплатный и open source.
А вот вроде как делать scaling www.percona.com/blog/2021/06/23/autoscaling-databases-in-kubernetes-for-mongodb-mysql-and-postgresql/
ингрес контроллер похож на nginx который стоит на вашем белом ip и направляет далее по локалке запросы
А как сделать, если необходимо обрабатывать запросы приходящие не на 80, или 443 порт, а к примеру на 8081? Можно ли указать например так host: *:8081?
вместо 80 или 443 пишешь 8081
@@ADV-IT я имел ввиду, чтоб приходил на балансер с мира на допустим 8081, и на поды стучался на 8081
Денис, привет, расскажи как в преодолеть порог отсутствия опыта для поиска работы в Израиле, 9 лет тут живу, работаю в IT 4 года, имею гору сертификаций по виндоус, сейчас также сделал сертификаты по кубернетесу CKA+CKAD, серт по линуксу от ред хат, ансибл знаю, и все что нужно, но без опыта работы вообще не зовут никуда даже на собеседования
А опыт 4 года в IT?
Или если ты Техник, а посылаешь на Архитекта.
Приукрась свой корот хаим немного более релевантными надписями для позиции на которую посылаешь, ну и посмотри мой ролик про то как искать работу czcams.com/video/tK0lLuVS6AQ/video.html
Приезжай в Швецию, тут с руками и ногами тебя возьмут!
ничоси. Если все действительно так круто, как вы написали, то смею предположить, что вы каким-то образом постоянно попадаете на м*даков
Это все ок. А если поднял на своей тачке с помощью kind, то совсем никак не настроить, даже через ingress? Делаю `kubectl decsribe ing` и у меня поля Address: и Events: пустые.
Расскажи какими инструментами, лайфхаками пользуешься для ускорения работы
Записал в список, сделаю видео, спасибо за идею!
Готово, тебе там спасибо за идею тоже есть czcams.com/video/aQlG-c3_z5E/video.html
А, подскажите, пожалуйста, откуда береться при запуске /page1 /page на странице запись Hello from kubernetes PAGE1? Вы меняли содеримео подов?
Эти странички есть на Docker image
@@ADV-IT А как правильно обновлять проект? Допустим сейчас 1 файл (index.php), завтра 20, через неделю 80. Мне нужно все файлы запихивать в Dockerfile, для обновления версии или подключать отдельно volume с файлами проекта? А если в проекте миграции бд есть, как откатывать?
Денис, а где и как прописывается IP loadbalancer если использовать HAproxy к примеру
kubectl describe ingress
у меня если на локалке в виртуалках не получется, как-то нужно создать свой локальный интернет, чтобы все работало, видимо так
Денис, подскажи, почему лоадбалансер создался именно на амазоне? Он идет по умрлчанию в ингресс контроллере?
AW EKS использует свои AWS Load Balancers
@ADV-IT А как сделать настройку, если k8s не развернут на самом AWS, у вас он сразу получил externalIP от AWS, а как быть если k8s развернут к примеру на hetzner. Спасибо.
Почему при создании сервиса типа ЛоэдБалансер на каждой ноде поднимается этот сервис, а IP дается один? Точка входа тогда выходит в любом случае одна.
А как иначе?
Yo! Как K8s cluster понимает что появился Ingress-controller? И эсли появилис два разних (ingress-nginx и traefik) то каторий станет by default?
Ingress Controller это как расширение возможностей кластера.
Если нету Ingress Controller то объекты Ingress не создаются.
Если делаешь два контороллера, нужно использовать Annotation при создании и при использовании.
@@ADV-IT Как K8s cluster понимает что появился Ingress-controller? По какому параметру или атрибуту? а то у меня один cluster где туча Ingress но не вижу ingress-controller.
Ingress Controller регистрируется в k8s master и всё
Что-то я подзабил на девопсовские активности, т.к. на смежный проект ушёл. А тут такая трансляция. Надо бы возвращаться
А про ConfigMap будет?
Надо делать
Денис, здравствуйте. Подскажите, а что бы настроить выдуманные домены в папке hosts нужно туда прописывать вместо IP весь этот длинный DNS который выдал LoadBalancers?
Нет, в Host файле прописываются домен имена и их IP
@@ADV-IT А где взять их IP? Я так понимаю нужны внешние же? Или те которые мы получаем после команды kubectl describe ingress? Заранее благодарю за ответы.
@@alex_slv Нигде, у AWS Elastic Load Balancer нету постоянного IP
@@ADV-IT Тогда зачем в ролике вы говорите, что если в hosts файле прописать свои домены то тоже все сработает?
@@alex_slv Если будешь использовать AWS Network Load Balancer или вообще не AWS то у тебя точно будет постоянный IP,
Это курс по k8s ,а не по AWS или сетям
Можно ли жить без Load Balancer и сразу клиенские подключения заворачивать на ingress controller?
Ingress Controller это и есть Load Balancer
@@ADV-IT ааа спасибо, я схему криво посмотрел.
Какие взаимодействия могут быть между контейнерами ?
Такиеже как и между серверами WebServer > AppServer
Денис, подскажите, делал всё по видео, но не открывает созданные ссылки. Делал в Azure. Всё создал, всё связал, только не сделал никаких нодов. Есть только поды, сервисы и ингресс, поэтому и не открываются ссылки? Спасибо за ваш труд!
Может там Firewall rules надо посмотреть?
@@ADV-IT Посмотрел, никаких ограничений. возможно дело в том, что в подах не открыты порты?
Сделай как я делал и используй теже image там всё было открыто
@@ADV-IT ещё раз огромное спасибо за ваш труд! Невероятно помогает обучаться!
Подскажите, пожалуйста, почему нельзя вместо Load Balancer создать отдельный под (интернет шлюз), который просто будет принимать соединения и проксировать их на те же Cluster IP? Просто зачем платить деньги за создания отдельного Load Balancer и делать ingress контроллеры, если можно обойтись бесплатным подом?
SSL сертификат не прикрутишь амазоновский тогда
да и если у тебя k8s в private subnet. как зайти на под из интернета пользователям? куда прикручивать домен?
Денис, подскажите почему через запуск kubernetes не заходит на сервер БазыДанных AWS (RDS) проверил данные. Когда запускаю контейнер через Docker все работает отлично. Ну а когда через kubernetes ( Warning: mysqli::__construct(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name does not resolve in... ) я так понимаю что-то не нравится моему серверу RDS он не хочет пропускать пакеты. Потому как пробовал с Kubernetes с того же докер контейнера изменить пароль и зайти на мою ДБ на купленом сервере, тогда он заходит без проблем. Именно в RDS ему что то не нравится... и только через Kubernetes....
SecurityGroup посмотри, открыты ли порты
У меня не открываются ссылки когда делаю через paths /main /tomcat
Tomcat пишет The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
А другие просто не открываются The requested URL was not found on this server.
а сайт твой на самом webservere тоже в директории /main и /tomcat ?
Попробуй мой DockerImage и мои Path использовать
а возможно поковыряться с ingress без доменов и в облаке?
Можно, просто используй DNS от load balancer
это ж надо так боятся простого проксирующего вебсервера в контейнере, что придумать ему отдельное название. Имхо это только усложняет падаванам жизнь, которые после изучения k8 уже ничем другим пользоваться не могут потому что не видят как это может работать по другому.
Как добавить правило?
Вот такая допустим ситуация:
Через cicd мы создали новые deployment, service
Как не создавая новый ingress, добавить правило?
Ingress Controller один, а ingress правил много.
ingress это и есть правило
@@ADV-IT то есть при деплое нужно создавать deployment, service к нему и ingress к сервису? Типо
My-deployment
My-service
My-ingress
И в итоге множество файлов ingress будут распределять корректно?
@@user-xx6kt2ld8d яже вроде в уроке показал
Это типа ALB амазона? И если я services использую на портах, а дальше использую ALB то ингресс то и не нужен?
Ingress упрощяет
@@ADV-IT Вопрос на миллиард. А он ssl сертификат амазоновский к домену может приатачить? В лоадбалансере амазоновском мы ручками прикручиваем, а тут то я только http вижу. Делать средствами кодинга в самом приложении (сертбота в nginx) совсем нет желания.
@@user-fc4iv9xv1j К Ingress конечно можно приаттачить SSL сертификат через k8s, там в annotation надо ARN сертификата вставить
@@ADV-IT Ты волшебник. Буду юзать. Спсб.
ingress на мастере устанавливается?
Нет, на мастере ничего не нужно устанавливать
А если без load balancer внешний ip машины если просто приатачить, как сделать?
не знаю
так просто никто не делает
@@ADV-IT спасибо Денис, за все твои крутые видосы
@@ADV-IT а у тебя managed service на видео ? или если просто создать ВМ в облаке, потом к этим ВМ подключить loadbalancer, так можно ?
Как и что можно использовать вместо LoadBalancer, чтобы не платить бабосики облачным провайдерам?
HAProxy
А до сих пор load balancer без ingress не может сам управлять всеми сервисами?
Нет
Как открыть порты, чтоб могли заходить из интернета? Чет решить не могу.
Везде по разному, смотря где у тебя кластер
@@ADV-IT на локальной машине ...
@@volodya-nrg в Windows Firewall settings, только по умолчанию там все открыто
@@ADV-IT в Линуксе (Debian) работает ... конечно же ... Признаюсь не вижу причин на сервер ставить Виндоус. Линукс - общая практика.
ingress controller like policeman , почему - покачану
один ингресс с кучей РУЛЯМИ!!! LMAO:DDDDDDD
Запиши плз урок по подняю к8с на лине а то ты на виндовсе записал а на линуксе нет
Всё в Cloud, самому вручную инсталировать не каменный век. А на Windows это только для учебы