Рубрика «ingress»

Всем привет! На связи Юрий Шахов, DevOps-инженер компании «Флант». Недавно мне нужно было организовать бесшовный деплой клиентских приложений. Я изучил различные подходы для этого и остановился на стратегии blue-green-деплоя. Но проблема была в том, что я не мог найти материалов с практическими примерами, в найденных статьях описывались только теоретические аспекты. Поэтому мне пришлось изучать подход blue-green-деплоя самостоятельно. И теперь мне захотелось поделиться этим опытом.

Читать полностью »
image

Когда я впервые столкнулся с задачей масштабирования сложного приложения в Kubernetes, то был полон оптимизма. Однако вскоре стало ясно, что управление сетевым трафиком и безопасностью в такой динамичной среде — это непросто. Наше приложение начало страдать от потерь пакетов данных и сетевых задержек, что сказывалось на общей производительности и пользовательском опыте. Из-за этого возникла потребность в глубоком понимании сетевых возможностей Kubernetes, таких, как сервисы, Ingress и Network Policies, чтобы эффективно управлять трафиком, обеспечивать безопасность и максимизировать производительность. Этот опыт стал для меня настоящим откровением и подтолкнул к написанию данной статьи.

Меня зовут Дмитрий, и я старший DevOps-инженер в ГК Иннотех. В моей работе я часто сталкиваюсь с задачами, которые требуют глубокого понимания сетевых аспектов в Kubernetes.

Например, для обеспечения стабильного взаимодействия между микросервисами я использую сервисы в Kubernetes, которые позволяют мне абстрагироваться от конкретных подов и обеспечивают надёжный механизм балансировки нагрузки.

Когда дело доходит до экспозиции наших приложений наружу, я применяю Ingress для управления входящим трафиком. Это не только упрощает настройку SSL/TLS, но и предоставляет гибкие возможности для маршрутизации. И, конечно же, безопасность стоит не на последнем месте. С помощью Network Policies можно тонко настроить сетевые правила, определяя, какие поды могут взаимодействовать друг с другом, что значительно повышает уровень безопасности нашей инфраструктуры.

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

Сосредоточимся на критически важных элементах, таких, как сервисы, Ingress и Network Policies. Освоение этих базовых принципов не только упростит вашу работу с Kubernetes, но и даст вам уверенность в управлении сложными системами. Надеюсь, это будет полезно! Читать полностью »

Обзор и сравнение контроллеров Ingress для Kubernetes - 1

При запуске кластера Kubernetes для конкретного приложения следует понимать, какие требования представляет к этому ресурсу само приложение, бизнес и разработчики. При наличии этой информации можно приступать к принятию архитектурного решения и, в частности, к выбору конкретного Ingress-контроллера, коих на сегодняшний день уже большое количество. Чтобы составить базовое представление об имеющихся вариантах без необходимости изучать множество статей/документации и т.п., мы и подготовили этот обзор, включив в него основные (production ready) Ingress-контроллеры.

Надеемся, что он поможет коллегам в выборе архитектурного решения — по крайней мере, станет отправной точкой для получения более подробной информации и практических экспериментов. Предварительно мы изучили другие подобные материалы в сети и, как ни странно, не обнаружили ни одного более-менее полного, а главное — структурированного — обзора. Итак, заполним же этот пробел!Читать полностью »

Kubernetes tips & tricks: персонализированные страницы ошибок в NGINX Ingress - 1

В данной статье я хочу рассказать про две возможности NGINX Ingress, связанные с отображением персонализированных страниц с ошибками, а также о существующих в них ограничениях и способах их обойти.Читать полностью »

Что такое ingress?

Ingress это базовый тип ресурса в кубертенесе. Если просто объявить объект типа Ingress в кубернетисе то ничего не произойдет.

Что бы этот ресурс начал работу в кластере кубернетиса должен быть установлен Ingress Controller, который настроит реверсивный прокси в соответствии с Ingress объектом.

Ingress Controller состоит из 2х компонентов — реверсивного прокси и контроллера который общается с API сервером кубернетеса. Реверсивный прокси слушает входящий трафик на портах которые указаны в настройках (обычно в настройках по умолчанию указан только порт 80). Контроллер может быть как отдельным демоном (как в nginx), так и встроенным в прокси (как в traefik).

Не все клауд провайдеры кубернетеса предустанавливают Ingress Controller по умолчанию.

Контроллеры могут запускаться либо как DaemonSet либо как Deployment. DaemonSet идеально использовать как единственный Ingress Controller, что бы реверсивное прокси слушало на всех IP адресах воркеров. Deployment отлично подходит если перед Ingress контроллером стоит балансировщик — от провайдера кубернетиса (GKE, AKS), MetalLB если онпремис или обычный haproxy/nginx установленный на сервере (требутеся ручная настройка). При этой установке возможно установить несколько Ingress Controller.

Читать полностью »

Несколько месяцев назад я написал статью о контроллере Kubernetes Nginx Ingress, которая занимает второе место по популярности в этом блоге. Основная ее тема — использование Kubernetes Ingress для локальных развертываний. Впрочем, большинство пользователей использует Kubernetes в облаке AWS и общедоступных облачных сервисах других поставщиков. Однако проблема заключается в том, что для каждого сервиса типа LoadBalancer AWS создает новый балансировщик ELB (Elastic Load Balancer). Это может оказаться слишком дорогим удовольствием. Если взять на вооружение Kubernetes Ingress, потребуется лишь один ELB.

Читать полностью »

Kubernetes NodePort vs LoadBalancer vs Ingress? Когда и что использовать? - 1

Недавно меня спросили, в чем разница между NodePorts, LoadBalancers и Ingress. Все это разные способы получить внешний трафик в кластер. Давайте посмотрим, чем они отличаются, и когда использовать каждый из них.

Примечание: рекомендации рассчитаны на Google Kubernetes Engine. Если вы работаете в другом облаке, на собственном сервере, на миникубе или чем-то еще, будут отличия. Я не углубляюсь в технические детали. Если хотите подробностей, обратитесь к официальной документации.

Читать полностью »

(Без)болезненный NGINX Ingress - 1

Итак, у вас есть кластер Kubernetes, а для проброса внешнего трафика сервисам внутри кластера вы уже настроили Ingress-контроллер NGINX, ну, или пока только собираетесь это сделать. Класс!

Я тоже через это прошел, и поначалу все выглядело очень просто: установленный NGINX Ingress-контроллер был на расстоянии одного helm install. А затем оставалось лишь подвязать DNS к балансировщику нагрузки и создать необходимые Ingress-ресурсы.

Спустя несколько месяцев весь внешний трафик для всех окружений (dev, staging, production) направлялся через Ingress-серверы. И все было хорошо. А потом стало плохо.

Все мы отлично знаем, как это бывает: сначала вы заинтересовываетесь этой новой замечательной штукой, начинаете ей пользоваться, а затем начинаются неприятности.

Читать полностью »

Состоявшиеся в уже прошедшем 2016 году выборы в Государственную Думу Федерального Собрания Российской Федерации VII созыва, которые опирались на Государственную автоматизированную систему Российской Федерации «Выборы», предназначенную для автоматизации избирательных действий, напомнили о том как проходила подготовка к аналогичным мероприятиях в 90-ые годы прошлого столетия. С точки зрения IT-индустрии и IT-технологий, это были тяжелейшие годы, компьютеров и принтеров не просто не хватало, во многих местах их просто не было.

Начало приватизационного процесса

imageИ в эти годы, помимо всевозможных выборов, проходила и ваучерная приватизация в России. И если в выборах могли участвовать только граждане, достигшие 18 лет, то приватизационные чеки получали все граждане России.

Читать полностью »

От создателей Pokémon Go: что делала Niantic перед тем, как захватить мир - 1

Как, черт возьми, малоизвестная игровая студия в одночасье превратилась в одного из самых узнаваемых разработчиков в мире? Кто не задавался таким вопросом, наблюдая за ошеломительным успехом Niantic Labs с Pokémon Go. Вопрос и правда интересный. Поэтому мы в локализационной компании Alconost перевели для вас краткую историю студии Niantic Labs. Ее успех не так уж внезапен, как может показаться...

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js