Тренды Kubernetes и контейнеризации в 2023 году

Флант    /    Онлайн

Какие вызовы стоят перед Kubernetes? Каким будет текущий, 2023 год? Что ждет Kubernetes в будущем? Специалисты ФЛАНТ проанализировали различные профильные исследования и постарались выделить все самое интересное, чтобы ответить на эти и другие вопросы. 

2022 год стал для оркестратора переломным. Он прочно закрепился в роли критического компонента инфраструктуры, о чем свидетельствует стремительный рост числа развертываемых кластеров. Согласно отчету VMware State of Kubernetes 2022, в 2020-м 30% организаций использовали пять или менее кластеров, и всего 15% работали с 50-ю кластерами или более. В 2021-м эти цифры почти не изменились — в отличие от прошлого года, по итогам которого доля компаний с малым числом кластеров сократилась до 12%, а доля тех, у кого их больше 50-и, выросла до 29%.

Безопасность Kubernetes

Взрывной рост не мог пройти без последствий: Kubernetes все чаще становится целью различных атак. Ситуация усугубляется тем, что типичный кластер K8s обрастает множеством компонентов, которые необходимы для его полноценной работы. Подобное сращивание усложняет инфраструктуру, расширяя спектр направлений для «ударов» со стороны злоумышленников.

Число уязвимостей, связанных с Kubernetes (источники: cve.mitre.org, armosec.io)
 
Число уязвимостей, связанных с Kubernetes (источники: cve.mitre.org, armosec.io)

Cindy O’Brien, старший менеджер по маркетингу продуктов в команде VMware Tanzu, в своем исследовании Common Kubernetes Challenges in 2022 and How to Solve Them отмечает, что в 2022 году серьезно сместились акценты в области безопасности. Актуальность большинства задач осталась на прежнем уровне или незначительно снизилась, при этом на целых 9 пунктов подскочила острота проблемы единообразного применения политик во всех кластерах: 46% респондентов назвали ее главной. Второе место — у контроля доступа к кластерам. Его упомянули 35% респондентов. Среди других тем, больше всего волнующих сообщество, — безопасность рабочих нагрузок в среде исполнения и защита образов контейнеров в CI/CD-пайплайнах.

Согласно отчету Red Hat 2022 state of Kubernetes security report, в прошлом году 93% опрошенных столкнулись по крайней мере с одним инцидентом, затронувшем Kubernetes и его окружение. 53% всех проблем в области безопасности были вызваны неправильной настройкой, 38% — связаны с уязвимостями.

Основные риски

Выход за пределы контейнера — одна из наиболее часто эксплуатируемых уязвимостей в Kubernetes. Справиться с ней помогает внедрение стандартов безопасности для подов (например, начиная с Kubernetes 1.22, режим seccomp активен по умолчанию) и использование модулей безопасности Linux, таких как AppArmor и SELinux.

Отчет Sysdig 2023 Cloud-Native Security and Usage Report основан на данных, собранных с миллиардов контейнеров, тысяч облачных аккаунтов и сотен тысяч приложений, которые клиенты компании эксплуатировали в течение прошлого года. Вот основные угрозы безопасности, которые отмечают его авторы:

  • Риски цепочки поставок. Исследования показывают, что у 87% образов имеются серьезные или критические уязвимости. Их настолько много, что команды вынуждены заниматься приоритизацией. Интересно, что для 85% критических уязвимостей доступны фиксы, однако они по тем или иным причинам не доходят до среды исполнения контейнеров. Команды тратят время и ресурсы на борьбу с неактуальными угрозами, не несущими риска в их конкретном случае, при этом действительно опасные уязвимости остаются без внимания. Авторы рекомендуют изменить подход и в первую очередь устранять те из них, которые непосредственно затрагивают среду исполнения.

  • Сокращение жизненного цикла контейнеров. Собранные данные показывают, что 72% контейнеров «живут» менее пяти минут. Столь короткий срок их существования усложняет поиск и устранение неполадок в приложениях или инфраструктуре. Для сравнения, в 2021-м таких «короткоживущих» контейнеров было 44%, то есть за год их доля выросла на 28%!

Типичные ошибки

В отчете Fairwinds Security, Cost and Reliability Workload Results оценивается статистика, собранная со 150+ тыс. рабочих нагрузок и охватывающая сотни компаний, использующих платформу Fairwinds Insights. Его авторы также считают, что ситуация в сфере Kubernetes-безопасности ухудшается. Статистика показывает, что пользователи зачастую пренебрегают лучшими практиками при настройке оркестратора:

  • Включены потенциально опасные возможности (capabilities) Linux, такие как CHOWN, DAC_OVERRIDE, FSETID, FOWNER и др. (ознакомиться с  описанием этих и других capabilities можно в документации Linux). Некоторые из них по умолчанию активированы для рабочих нагрузок, хотя большинству они не требуются. В 2021 году об отключении таких возможностей позаботились 42% компаний, в 2022-м их доля снизилась всего до 10%(!). Треть компаний запускают почти все свои рабочие нагрузки в небезопасном режиме. Ситуация усугубляется и тем, что многие настройки, повышающие безопасность (allowPrivilegeEscalation, readOnlyRootFilesystem), отключены по умолчанию.

  • 44% компаний запускают 71% или более рабочих нагрузок с правами суперпользователя, что на 22% выше, чем в позапрошлом году. Это ставит авторов отчета в тупик, учитывая количество CVE в этой области.

  • Значительно выросла доля компаний, подверженных уязвимостям образов. Так, у 62% организаций минимум половина всех рабочих нагрузок потенциально подвержена данному типу уязвимостей.

  • Устаревшие Helm-чарты. Доля компаний, у которых половина и более рабочих нагрузок «завязана» на устаревшие Helm-чарты, выросла с 33% до 46%.

  • Избыток привилегий. Данные отчета Sysdig 2023 Cloud-Native Security and Usage Report свидетельствуют, что несмотря на рекомендации лучших практик в области облачной безопасности и принципы архитектуры с нулевым доверием, 90% привилегий не используются.

Рекомендации

Авторы отчета 2022 Kubernetes Vulnerabilities — Main Takeaways из компании ARMO (создатели Kubescape) рекомендуют придерживаться следующих правил при работе с кластерами Kubernetes:

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

  • Используйте технику углубленной защиты, чтобы затруднить злоумышленникам боковое перемещение (lateral movement) и извлечение данных.

  • Постоянно сканируйте файлы манифестов, репозитории и кластеры на наличие уязвимостей.

  • Регулярно обновляйте программное обеспечение в кластере. После публикации информации об уязвимости хакеры открывают «охоту» на кластеры, которые по какой-либо причине не были своевременно пропатчены. Показательный пример такой охоты — уязвимость Log4J. За 72 часа после раскрытия Log4J злоумышленники провели в общей сложности более 840 тыс. атак, пытаясь ею воспользоваться.

Продолжая тему рекомендаций по безопасности, мы также советуем доклад «Стандарты безопасности в Kubernetes» Константина Аксенова, руководителя разработки платформы Deckhouse. В нем он рассказывает про пять шагов, которые позволяют существенно повысить безопасность K8s-кластера.

Экосистема Kubernetes

Datadog в своем отчете 2022 Container Report (Summary), основанном на анализе данных о более 1,5 млрд контейнеров, приходит к следующим выводам:

  • Почти половина компаний, использующих контейнеры, выбирают Kubernetes для их развертывания и управления ими.

  • Более 30 процентов крупных (более 1000 хостов) компаний, использующих контейнеры, работают сразу в нескольких облаках (multi-cloud). Здесь можно добавить, что опрос 2022 Accelerate State of DevOps Report показал, что в 2022 году публичным облаком (включая мульти-облака) пользовались 76% компаний — на 20% больше, чем в 2021-м. Интерес к гибридному облаку вырос на 25% (до 42,5%), публичному — на 36%. Доля тех, кто не пользуется облачными технологиями, сократилась на 50%, до 10,5%.

  • Растет интерес к Kubernetes Ingress (получил статус GA, начиная с версии K8s 1.19). Сегодня это решение применяют более 35% компаний. Авторы отчета также задаются вопросом, сможет ли Kubernetes Gateway API заменить Ingress, или обе технологии будут существовать параллельно.

  • За год не произошло существенных изменений в применении сервисных сетей (service meshes). Лишь около 13% компаний используют их в своих кластерах, причем Istio более чем в три раза опережает Linkerd по популярности.

  • Большинство хостов используют версии K8s, возраст которых превышает полтора года. По состоянию на ноябрь наиболее популярной версией остается v1.21. Она вышла в апреле 2021 года, а в середине 2022 было объявлено о завершении ее поддержки.

  • Предыдущее исследование показало рост использования containerd — CRI-совместимой среды исполнения для контейнеров. Последние данные говорят о том, что лишь 69% узлов используют версии 1.5 или 1.6 containerd (они активно поддерживаются). Примечательно, что около 31% узлов используют неподдерживаемые версии containerd (1.4 или более ранние). По данным опроса CNCF за 2022 год, containerd используют 42.7% опрошенных.

  • Доля кластеров с избыточными привилегиями все еще превышает 40%. Авторы отчета считают, что внедрение методов обеспечения безопасности, таких как аудит прав доступа, и инструментов вроде автоматических сканеров RBAC позволит сократить число таких кластеров.

  • Значительный рост интереса к serverless. В 2022 году основные поставщики облачных услуг (AWS App Runner, AWS Fargate, Azure Container Apps, Azure Container Instances и Google Cloud Run) стали активнее применять контейнерные serverless-технологии. Их использование возросло с 21% в 2020-м до 36% в 2022 году.

  • По состоянию на сентябрь самыми популярными образами контейнеров остаются NGINX, Redis и Postgres.

Популярность различных образов контейнеров (источник: Datadog).
 
Популярность различных образов контейнеров (источник: Datadog).

Итоги опроса DZone Kubernetes in the Enterprise Survey демонстрируют похожую динамику:

  • Kubernetes — самый популярный инструмент для управления контейнерами в production даже в среде enterprise. У продукта 17% пользователей, а ближайшим его преследователем является… Docker с 13,7%.

  • Среди основных преимуществ от использования K8s — простота организации CI/CD (в 2022-м это отметили 73,8% респондентов — сравните с 61,1% в 2021-м). Также отмечается большой вклад оркестратора в технику разработки ПО, при которой приложения разбиваются на логические, дискретные блоки или функциональные единицы (51,1% респондентов; в 2021-м — 34,3%).

  • Растет популярность Kubernetes как инструмента для управления stateful-нагрузками. Для этих целей его используют 52,1% опрошенных (по сравнению с 39,5% в 2021 году). Кроме того, пользователи в целом удовлетворены тем, как K8s справляется с возложенными на него задачами в этой области. 64% используют StatefulSet’ы, 22% — DaemonSet’ы.

  • Обзор также показывает, что Kubernetes рассматривается как универсальный инструмент для работы с различными паттернами трафика (речь идет про предсказуемые/частые, предсказуемые/нечастые, непредсказуемые/низкие и непредсказуемые/высокие нагрузки).

  • Самым распространенным способом автомасштабирования, как выяснилось, остается горизонтальный. Его доля выросла с 65% до 75%. Авторы связывают популярность этого способа с большей простотой настройки.

В свою очередь авторы обзора Sysdig 2023 Cloud-Native Security and Usage Report отмечают значительную долю неиспользуемых мощностей, что ведет к чрезмерным расходам на облако. Они обнаружили, что для 59% контейнеров не заданы лимиты CPU, а 69% запрашиваемых ресурсов CPU не используются. Для памяти это 49% и 18% соответственно. Для крупных развертываний оптимизация окружений позволит сэкономить в среднем около 10 млн долл. По оценкам исследователей, организации всех размеров переплачивают за облачные ресурсы в среднем порядка 40%.

Отчет Dynatrace Kubernetes in the wild report 2023 отражает статистику распространения Kubernetes, основанную на анализе 4,1 млрд подов Kubernetes от тысяч клиентов Dynatrace во всех регионах мира. Данные охватывают период с января 2021 по сентябрь 2022. Компании-клиенты Dynatrace входят в 15 тыс. крупнейших компаний мира и представляют все ключевые отрасли. Вот его основные выводы:

  • В 2022 году Kubernetes стала ключевой платформой для переноса рабочих нагрузок в публичное облако. Прибавив за год 127%,  количество кластеров Kubernetes, размещенных в облаке, росло примерно в пять раз быстрее, чем on-premises-кластеров. Доля облачных кластеров увеличилась с 31% в 2021 году до 45% в 2022 году.

  • Подход к инфраструктуре у облачных и on-premises-кластеров отличается. Типичный кластер в публичном облаке состоит из 5 относительно небольших узлов с 16–32 Гб оперативной памяти «на борту». On-premises-кластеры, как правило, крупнее: в среднем они включают 9 узлов с 32–64 Гб памяти. Кроме того, количество подов в них в 3 раза превышает число подов в облачных кластерах.

  • Изменился состав подов. Если в 2021 году в типичном кластере K8s на долю приложений приходилась большая часть подов (59%), в 2022-м картина кардинально переменилась. С ростом популярности Kubernetes доля подов со вспомогательными системными инструментами превысила процент подов с приложениями (63% против 37%). Это объясняется тем, что компании активно внедряют более продвинутые технологии, связанные с Kubernetes, такие как средства контроля безопасности, сервисные сети (service meshes), брокеры сообщений и инструменты для наблюдаемости. Кроме того, ширится спектр сценариев применения. В некотором смысле Kubernetes стал инструментом для запуска практически любых рабочих нагрузок — этакой «операционной системой» для облака.

  • Наиболее активные области роста Kubernetes — безопасность, базы данных и технологии CI/CD. Так, процент организаций, использующих инструменты безопасности Kubernetes, увеличился с 22% в 2021-м до 34% в 2022-м. На 48% подскочило число компаний, работающих с базами данных и инструментами кэширования в Kubernetes. Интерес с CI/CD технологиям взлетел на 43% по сравнению с 2021. Компании выделяют значительно больше ресурсов для запуска пайплайнов сборки, тестирования и развертывания программного обеспечения.

  • Наконец, исследование ожидаемо показывает, что Open Source-проекты остаются самыми популярными в экосистеме Kubernetes.

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

Еще один ключевой вывод Gartner заключается в том, что интерес к гибридным и мультиоблачным развертываниям продолжает расти. Хотя большинство решений основаны на Kubernetes, вендоры добавляют проприетарные компоненты, препятствуя переносимости и усиливая зависимость от конкретного поставщика (vendor lock-in). В таких условиях компании все чаще обращаются к решениям, которые позволяют эту зависимость снизить.

В заключение раздела немного любопытной статистики по проектам CNCF на основе результатов их опроса 2022 года, проанализированных в Palark.

Десять самых популярных проектов CNCF:

  • Kubernetes — 56,7% (используют в production) + 19,2% (оценивают возможность использования);

  • Helm — 42,9% + 21,1%;

  • containerd — 42,7% + 25,6%;

  • CoreDNS — 41,5% + 24,6%;

  • CNI — 40,3% + 21%;

  • Prometheus — 40,1% + 20,7%;

  • etcd — 38,6% + 20,4%;

  • Fluentd — 27,7% + 21%;

  • Argo — 26,4% + 27,6%;

  • Envoy — 25,7% + 26,4%.

3 проекта CNCF, интерес потенциальных пользователей к которым наиболее велик (максимум респондентов тестируют их в настоящий момент):

  • Argo — 27,6%;

  • Open Policy Agent — 26,7%;

  • Envoy — 26,4%.

3 самых быстрорастущих проекта CNCF:

  • Vitess (с 1,5% опрошенных пользователей в 2021 году до  9,2% в 2022);

  • TUF (с 2,1% до 11,6%);

  • Dragonfly (с 2,2% до 10,7%).

Рынок труда

Специалисты Kube Careers в конце 2022 года собрали и проанализировали все вакансии, в которых явно упоминался Kubernetes. Они отмечают, что размер выборки относительно невелик — всего 373 позиции. Объясняется это довольно строгой методикой отбора. В частности, отбрасывались все объявления от рекрутинговых агентств и вакансии без четкого диапазона заработной платы. Учитывая это, к выводам авторов следует относиться с определенной долей осторожности, хотя глобальные тренды в их исследовании прослеживаются неплохо:

  • Из всех вакансий 33% приходятся на Северную Америку, 29% — на Европу, 22% — на Азиатско-Тихоокеанский регион. 15% заявлены как исключительно удаленные (remote-only). 

  • Зарплатная «вилка» на американском направлении составляет в среднем 134 тыс. долларов в год для минимума и 171 тыс. — для максимума; в Европе средняя нижняя граница «вилки» начинается от 82 тыс. евро, верхняя достигает 106 тыс.

  • Только в 12% вакансий упоминается сертификация (+4% по сравнению с 2021). Среди самых востребованных — сертификаты AWS и CKA.

  • В 55% вакансий требовался опыт работы с тем или иным CI/CD-инструментом. Среди самых популярных — Jenkins (32%) и GitLab (22%). 

  • В 212 объявлениях о работе (56%) упоминался инструмент для управления конфигурациями. Лидирует в этой области Terraform с 37% и Ansible с 22%.

  • 75% объявлений не содержали никакой информации об опыте работы. В остальных — вполне ожидаемо — наиболее часто упоминалась экспертиза senior-уровня (82%).

  • Из 373 объявлений в 300 указывалось местоположение инфраструктуры. Здесь лидирует AWS с 40%, за ней следуют GCP и Azure c 22% и 21% соответственно.

  • Лишь в 80 объявлениях упоминались инструменты для мониторинга. Тут c большим отрывом лидирует Prometheus (79%), у Datadog — второе место (21%).

  • Суммируя остальные пункты отчета, самыми популярными технологиями остаются Docker, AWS; среди требований часто упоминается понимание процессов CI/CD; из языков программирования для специалистов по K8s наиболее востребованы Python (21%), Go (16%) и Java (13%). Сервисные сети были названы всего в 4% вакансий.

Прогнозы

Важность оркестратора как одного из ключевых инструментов облачной экосистемы с каждым годом растет. Старания сообщества приносят плоды: теперь им могут воспользоваться не только технологические гиганты с огромными командами эксплуатации, но и сравнительно небольшие компании. Частично это стало возможным благодаря развитию managed-решений и платформ вроде OpenShift и Deckhouse, которые сочетают в себе все инструменты, необходимые для развертывания кластера, управления им и его защиты.

Увы, экосистема Kubernetes все еще страдает от ряда проблем (достаточно вспомнить угрозы безопасности). Так что же нас ждет в текущем году? Каким он будет для оркестратора?

Многие отраслевые эксперты полагают, что 2023-й станет еще одним переломным годом. Зрелость Kubernetes и его способность справляться со все более сложными сценариями использования, пожалуй, наиболее очевидна в области ИИ и машинного обучения. Почти половина специалистов (48%), опрошенных VMware, прогнозируют рост числа кластеров Kubernetes в текущем году более чем на 50%; еще 28% ожидают, что их количество увеличится заметно (т. е. на 20–50%).

D2IQ полагает, что дефицит квалифицированных специалистов приведет к тому, что организации будут отдавать предпочтение простым в обслуживании технологиям. Кроме того:

  • Платформенная инженерия придет на смену DevOps’у. Нехватка специалистов не позволяет в полной мере раскрыть потенциал DevOps-практик. Учитывая это, в текущем году многие организации могут пересмотреть DevOps-модель и обратиться к платформенной инженерии в качестве альтернативы. Быстрое развитие cloud-native-приложений приведет к тому, что этот новый подход постепенно заменит DevOps во многих организациях.

  • С ростом децентрализации особое значение приобретет централизованное управление. Централизованная платформа управления обеспечит согласованность и сократит время и усилия, затрачиваемые на управление распределенными локациями, устройствами и данными.

  • Большое внимание будет уделяться безопасности cloud-native и Kubernetes-проектов. Учитывая, что кластеры Kubernetes не являются безопасными по умолчанию, а также рост числа угроз и повышение изощренности атак, компании в 2023-м все чаще будут сталкиваться с необходимостью переоценки своих методов обеспечения безопасности. Популярностью будут пользоваться Kubernetes-платформы со встроенными (и включенными по умолчанию) инструментами безопасности.

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

Поделился своими прогнозами на 2023 год и Chris Aniszczyk — СТО в Linux Foundation и CNCF, курирующий Open Container Initiative (OCI). Chris полагает, что 2023-й может стать ключевым годом для FinOps. Дело в том, что затраты на облако в последние годы растут опережающими темпами и постепенно становятся серьезной статьей расходов для компаний, уступая по значимости только заработным платам. FinOps-практики позволят оптимизировать облачные траты. Кроме того прогнозируется, что управление расходами и FinOps по умолчанию станут частью observability-решений (например, Datadog некоторое время назад представила свой продукт для управления издержками).

Что такое FinOps

Другой важной инновацией по мнению Chris Aniszczyk станет широкое внедрение так называемых стандартов для поставки ПО SBOM (Software Bill of Materials) Они включают в себя подробные сведения о взаимосвязи различных компонентов, используемых в программном обеспечении, включая библиотеки и модули. Эти компоненты могут представлять собой ПО с открытым или закрытым исходным кодом, быть бесплатными или платными, а данные — в открытом или ограниченном доступе.

Вот еще несколько прогнозов от техдиректора Linux Foundation:

  • GitOps достигнет зрелости и «вступит на плато продуктивности». Способствовать этому будет, среди прочего, переход проектов Argo и Flux в статус «graduated». Интересно, что эти проекты демонстрируют одни из самых высоких темпов развития в экосистеме CNCF.

  • OpenTelemetry — еще одно перспективное направление, от которого в 2023 году ждут больших свершений. Последние данные о скорости развития проектов с открытым исходным кодом показывают, что OpenTelemetry занимает второе место сразу после Kubernetes, что невероятно круто для такого молодого проекта. Aniszczyk считает, что не только передовые технологические компании, но и многие традиционные предприятия воспользуются преимуществами этой технологии.

  • WASM в ближайшем будущем «станет доминирующей формой вычислений», убежден Aniszczyk. Поможет этому применение данной технологии за пределами браузера (например, для edge-вычислений или серверных рабочих нагрузок), в том числе в экосистеме облачных решений.  

  • Kubernetes переживет момент «зрелости в стиле Linux». Было время, когда Linux оставалась уделом исключительно гиков. Однако со временем операционная система прижилась на смартфонах, в автомобилях, системах реального времени и других устройствах. С Kubernetes происходит аналогичная эволюция: он постепенно мигрируя в новые типы сред, для которых изначально не предназначался (например, для работы во встроенных устройствах). Новые сценарии использования стимулируют инновации в Kubernetes и связанной с ним экосистеме, подобно тому, как это произошло с Linux.

Что касается более отдаленной перспективы, по оценкам Gartner, в 2026 году более 90% глобальных организаций будут работать с контейнеризированными приложениями в production — по сравнению с менее чем 40% в 2020-м. К 2025-му более 95% новых рабочих нагрузок будут разворачиваться на cloud-native-платформах — значительный прирост по сравнению с 30% в 2021-м.


Источник: https://habr.com/ru/companies/flant/articles/732152/