Влияние Kubernetes на разработку

Влияние Kubernetes на разработку

23 марта 2022 г.

Повторите пару раз слово «Kubernetes», проходя мимо лобби разработчиков, операторов, ИТ-менеджеров или даже технически подкованных маркетологов и генеральных директоров, и вы получите их неоправданное внимание. Повторите Kubernetes в презентации вашего стартапа несколько раз, и инвесторы ринутся толпами, чтобы бросить на вас свои миллионы. Хотя последнее может быть неправдой (извините, венчурные капиталисты), шумиха вокруг Kubernetes реальна, и, похоже, она не утихает. Как будто Kubernetes — это новая технология, ей пять лет, и ее популярность только растет.


Разработчики воспринимают контейнеризацию как должное при развертывании приложений и мало доверяют Kubernetes. Это не означает, что Kubernetes мало что дает разработчикам. Благодаря Kubernetes контейнеризация получила массовое признание среди предприятий. Нравится вам это или нет, Kubernetes упрощает вашу жизнь разработчика. Это особенно актуально, если ваша организация настаивает на соблюдении методов DevOps и заставляет вас работать над автоматизированными конвейерами доставки программного обеспечения.


Kubernetes и DevOps: союз, заключенный на небесах?


Для команд DevOps kubernetes делает разработчиков более продуктивными, поскольку в сочетании с контейнерами делает их более эффективными и освобождает от необходимости переписывать программное обеспечение, чтобы перенести его к другому облачному провайдеру. Операторы оценят, насколько значительно сокращается время, которое они тратят на развертывание приложений и масштабирование.


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


Эти компании не являются стартапами с ограниченным финансированием или ресурсами. На самом деле стартапы, поддерживающие K8, уже вышли. Облачные гиганты с глубокими карманами и огромными пулами ресурсов уже широко внедрили K8 с AWS, Google Cloud и Azure, все с отдельными сервисами: EKS, AKS и GKE соответственно.


Основные сложности Kubernetes в больших масштабах


Хотя эти сервисы (GKE, AKS, EKS) устранили некоторые сложности распределенной системы, которую приносит Kubernetes, на самом деле требуется больше, чем просто подписка на эти сервисы, чтобы подготовить Kubernetes к работе в прайм-тайм и запустить критически важные корпоративные приложения.


Крупные предприятия, инвестирующие в приложения на основе контейнеров, изо всех сил пытаются осознать истинную ценность Kubernetes и технологии контейнеров из-за проблем с управлением, возникающих на второй день. Это несколько вещей, которыми нужно управлять. Чтобы назвать несколько, вы должны позаботиться об упаковке и артефактах, облачных вычислениях, управлении конфигурацией, подготовке, оркестровке, обнаружении сервисов, управлении процессами, регистрации, мониторинге, наблюдаемости, визуализации, безопасности, отслеживании ошибок и некоторых других случайных вещах, связанных с для управления кластером Kubernetes.


Обычно, когда мы начинаем экспериментировать с Kubernetes, мы развертываем Kubernetes на наборе серверов. Это всего лишь тестовое развертывание, и мы понимаем, что такое базовое развертывание нецелесообразно в производственной среде для многогранных приложений, поскольку оно не включает компоненты, критически важные для обеспечения бесперебойной работы приложений на базе Kubernetes корпоративного уровня. В то время как развертывание в локальной среде Kubernetes — это простой процесс, который не занимает несколько часов, развертывание критически важных приложений на основе Kubernetes может занять целую вечность.


Комплексная инфраструктура Kubernetes требует правильного DNS, балансировщиков нагрузки, Ingress и управления доступом на основе ролей Kubernetes или RBAC, а также ряда вспомогательных компонентов, что делает процесс развертывания слишком сложным для среднего разработчика. После развертывания Kubernetes возникает необходимость в мониторинге и во всем, что упоминается в соответствующих операционных сборниках, чтобы устранять проблемы всякий раз, когда они возникают, например, при использовании емкости, обеспечении высокой доступности, своевременном резервном копировании и многом другом. Наконец, цикл повторяется каждый раз, когда появляется новая версия Kubernetes благодаря сообществу. Тогда было бы лучше, если бы вы обновили свои производственные кластеры без риска простоя приложений.


Проблемы управления операциями второго дня Kubernetes


На высоком уровне Kubernetes регулирует планирование, развертывание и масштабирование группы контейнеров (Pods), составляющих функцию в приложении. Кроме того, как они используют сеть и оставшееся встроенное хранилище.


После развертывания кластера Kubernetes группам ИТ-операций необходимо выяснить, как эти модули связаны с рассматриваемыми приложениями посредством маршрутизации запросов; как они обеспечивают целостность этих модулей, высокую доступность, обновления среды с нулевым временем простоя и т. д. По мере усложнения кластера ИТ-специалистам необходимо предоставлять разработчикам возможность запускать их за считанные секунды, облегчать мониторинг, устранение неполадок и обеспечивать бесперебойную работу.


Основные проблемы управления, связанные с операциями Kubernetes второго дня, когда вы выходите за пределы первой установки, многочисленны, и это вызывает задержки.


  • Настройка сети и постоянного хранилища в больших масштабах

  • Быть в курсе быстро развивающихся выпусков Kubernetes от сообщества.

  • Обновление приложений и версии Kubernetes до исправлений безопасности, исправлений обслуживания и обновлений функций.

  • Настройка и ведение мониторинга и логирования

  • Аварийное восстановление мастеров Kubernetes.

Управляемые сервисы Kubernetes, по сути, предоставляют Kubernetes корпоративного уровня без операционной нагрузки. Это могут быть услуги, предоставляемые исключительно поставщиками общедоступных облаков, такими как AWS или Google Cloud, или решения, которые позволяют организациям запускать Kubernetes в своих собственных центрах обработки данных или в гибридных средах.


Даже при работе с управляемыми сервисами нужно помнить, что в разных типах решений термин «управляемый» или «Kubernetes-как-сервис» будет использоваться для описания очень разных уровней опыта управления. Некоторые предоставляют вам простой способ самообслуживания для развертывания кластера K8s, в то время как другие выполняют несколько текущих операций по управлению этим кластером. Тем не менее, ни один из них не предлагает вам полностью управляемый сервис Kubernetes, который берет на себя большую часть задач управления от вас, с гарантиями соглашения об уровне обслуживания и без запроса каких-либо накладных расходов на управление или опыта Kubernetes от клиента.


CloudPlex делает Kubernetes управляемым


CloudPlex может помочь менеджерам и командам разработчиков сделать переход на Kubernetes плавным. Когда дело доходит до инструментов CI, таких как Jenkins, CircleCI, Bitbucket и т. д., вам просто нужно интегрировать веб-перехватчик в конвейер CI — операцию копирования-вставки.


Независимо от того, нужно ли вам загрузить свой собственный кластер с полными возможностями управления или использовать одну из управляемых служб, таких как AKS, EKS и GKE, CloudPlex дает вам свободу и гибкость, позволяющие без усилий выполнять технические решения.


CloudPlex автоматически настраивает класс хранилища, постоянный том, заявку на постоянный том и их ассоциации. CloudPlex требуется только базовая информация о размере тома и идентификаторе контейнера для связывания. Более того, CloudPlex предоставляет единый интерфейс для всех общедоступных облаков.


Управляемый Kubernetes


Если настройка RBAC по умолчанию в Kubernetes вызывает у вас кошмары, с CloudPlex вам нужно только предоставить информацию о ресурсах и разрешениях. CloudPlex автоматически создает и настраивает учетные записи служб, роли и привязки ролей.


Kubernetes


Если автоматическое масштабирование становится проблемой, CloudPlex настраивает сервер метрик для каждого поставщика общедоступного облака. В случае автомасштабирования pod разработчики указывают минимальные и максимальные значения для реплик и квот на ресурсы. В случае автоматического масштабирования узла разработчики выбирают предоставленный CloudPlex шаблон узла.


Kubernetes


Самое приятное — начать работу с CloudPlex бесплатно. Зарегистрируйтесь сейчас


Асад Файзи


Генеральный директор


CloudPlex.io, Inc


asad@cloudplex.io



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE