Перейти к содержимому
Обложка сообщества Общество

Cloud native: 4 тенденции Kubernetes

Давайте подробнее рассмотрим каждую из четырех cloud-native тенденций.

1. Kubernetes и GitOps

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

GitOps — это:

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

путь к созданию ориентированного на разработчиков окружения для управления приложениями.

GitOps предоставляет подход к управлению средой, который использует контроль версий для конфигураций инфраструктуры и управляет изменениями среды как новыми версиями.

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

2. Репозитории и контроль версий

Контроль версий, движущая технология GitOps, позволяет разработчикам отслеживать все изменения, внесенные в код, в специальном хранилище, во избежание конфликтов внутри кода и быстрого откатывания на предыдущую версию, если что-то пойдет не так. GitHub — популярный пример платформы для управления версиями. Система контроля версий отслеживает, кто и когда вносил изменения, зачем это было сделано и что подверглось изменениям. Это позволяет без проблем откатиться к более ранним версиям и нивелирует сложности с устранением неполадок. Такой подход особенно полезен в распределенных проектах, где разные разработчики одновременно работают над своими собственными сервисами и функциями.

Использование контроля версий для управления файлами конфигурации Kubernetes основано на декларативном характере Kubernetes. В отличие от пошагового подхода для достижения определенной конфигурации Kubernetes заботится только о желаемом конечном состоянии кластера.

3. Service mash

Service mesh — явление, которое ещё не имеет устойчивого перевода на русский язык. Кто-то переводит этот термин как "сетка сервисов", другие — как "сервисное сито". Фактически, service mash — это множество userspace-прокси, расположенных «рядом» с сервисами, плюс набор управляющих процессов. Прокси в совокупности получили название data plane, а управляющие процессы именуются control plane.

В то время как Kubernetes управляет контейнерами, пользователь должен управлять связью между этими контейнерами. Архитектура корпоративного программного обеспечения может включать в себя сотни или тысячи контейнеров, которые по умолчанию настроены на связь друг с другом. Короткий срок службы контейнеров и их динамическая природа затрудняют поддержание однородности во время работы. Это проблема, которую и стремится решить технология service mash и решения на подобие Istio и Linkerd.

Сетки сервисов не зависят от инфраструктуры и позволяют пользователям отслеживать и контролировать трафик через набор сервисов и ресурсов. Большинство service mash решений, таких как Istio и Linkerd, построены на основе прокси-сервера sidecar, который работает вместе с контейнерами приложений, имитируя их поведение и облегчая процессы настройки и регистрации. В дополнение к возможностям управления трафиком, безопасностью и мониторингом service mash решения часто включают в себя встроенные функции для балансировки нагрузки.

4. Проблемы безопасности

Безопасность является главной задачей для бизнеса в облаке, особенно в связи с растущей сложностью облачных сред Kubernetes. Хотя Kubernetes доказал, что можно управлять распределенной средой с помощью декларативных политик, обеспечение безопасности — задача совсем другого уровня. Например, в 2019 году оркестратор подвергся уязвимости runC — CVE-2019-11247.

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

Нужна виртуальная инфраструктура? Возьмите в аренду один или несколько виртуальных серверов требуемой конфигурации для реализации ваших ИТ- и бизнес-задач в облаке ИТ-ГРАД, оплачивайте фактическое потребление ресурсов или гарантированные мощности. Узнайте о реализованных проектах на нашем сайте.

0
0
258

Еще по теме

Cloud native: 4 тенденции Kubernetes - Yvision.kz