В предыдущей статье мы рассмотрели архитектуру Kubernetes, и обсудили те виды уязвимостей, которые можно встретить в его программных компонентах и их настройках. Теперь перейдем к практическим аспектам защиты и поговорим о том, как обнаружить уязвимости и как грамотно от них защититься.
Kubernetes *
Фреймворк для работы с контейнерными приложениями
Новости
Развёртывание Kubernetes-кластера на домашнем сервере
Дано: домашний сервер под управлением Debian 11 с установленным гипервизором Xen.
Требуется: развернуть Kubernetes-кластер для получения опыта, связанного с настройкой и управлением Kubernetes-кластера, и дальнейшего его использования для разработки и хостинга персональных проектов.
Развёртывание Debian и Xen, а также миграция с Hyper-V на Xen нескольких Windows-виртуальных машин описана в моей статье Миграция домашнего сервера с Hyper-V на Xen Project на Debian. В ней также описана конфигурация моей сети.
В данной статье я исхожу из того, что читатель имеет представление о том, что такое Kubernetes, как он работает, из каких компонентов состоит и знаком с необходимой терминологией. Многие идеи и код я брал из статьи Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian), но местами адаптировал под свои нужды и окружение. Задача данной статьи дать читателям готовое решение, требующее минимальных усилий для повторения и, вместе с тем, не требующее дополнительных инструментов (вроде Ansible или Terraform), а также показать новичкам некоторые моменты работы с Linux, Kubernetes и используемыми пакетами. Повествование разбито на несколько шагов, каждый из которых заключается в запуске скрипта и нескольких ручных командах.
Исследование производительности свободных хранилищ LINSTOR, Ceph, Mayastor и Vitastor в Kubernetes
Кажется это уже стало традицией: каждый раз, когда я выхожу на новое рабочее место, моя деятельность начинается с бенчмарков различных SDS-решений. Мой приход во «Флант» не стал исключением. Я попал в команду разработки Kubernetes-платформы Deckhouse, где решили развивать возможность запуска виртуальных машин в Kubernetes. Но для этого сначала потребовалось найти простое и надежное хранилище блочного типа, которое можно предложить клиентам платформы.
Я взял несколько свободных решений и протестировал, как они поведут себя в тех или иных условиях. В первую очередь интересовала производительность DRBD в различных конфигурациях и сравнение с Ceph.
Но рынок программно-определяемых хранилищ не стоит на месте и постоянно растёт. Появляются новые амбициозные проекты, включая недавно релизнутый Mayastor и pet-проект моего товарища-соратника Vitastor. Результаты оказались очень интересными.
Деплой — это лава! Как Managed Kubernetes помогает бизнесу тушить пожары
Новое время потребовало от бизнеса искать новые решения, чтобы отвечать на запросы клиентов и предвосхищать ожидания от сервиса. Повсеместная монолитная архитектура не отвечала запросам, связанным с быстрым масштабированием проектов. Кроме этого, компоненты монолита при «выгорании» часто нарушали работу всего сервиса.
Внедрение Postgres из Docker в Kubernetes
Создание контейнера для базы данных отнюдь не является излишеством. На самом деле, это позволит вам привнести все преимущества контейнеров в вашу БД.
Мы рассмотрим, как создавать контейнеры Postgres с помощью Docker и перезапускать их без потери данных, а в конце статьи с помощью нестандартного метода (использующего ConfigMaps и StatefulSets) мы развернём внутри подов Kubernetes — Postgres.
Helmwave v0.19.3
Продолжаю делиться новостями ченджлогов. В этот раз небольшой апдейт.
Практические истории из наших SRE-будней. Часть 6
В очередном сборнике из недавних кейсов в нашей практике расскажу, как мы продлевали root-сертификаты Let's Encrypt для старой CentOS, боролись с внезапным переключением DNS и Ingress, решали непростую задачу с шардами в Elasticsearch и не только.
Куда уходит время? Боремся за миллисекунды в Kubernetes
Привет, Хабр! Меня зовут Вова, я разрабатываю observability-платформу в Ozon. Как-то раз в наш уголок на 42 этаже заглянули коллеги — и поделились наблюдением. Если открыть рядом графики времён запросов и ответов двух живущих в Kubernetes и общающихся между собой микросервисов, то иногда можно наблюдать большую разницу в высоких квантилях: клиент считает, что один ответ из сотни ему приходит за сто миллисекунд, сервер же говорит, что успевает ответить за десять.
Куда ушло время? Можно ли его вернуть? Под катом расскажу о том, с какими граблями может столкнуться микросервис, живущий в типичной инсталляции Kubernetes.
Kubernetes: как выбрать между self-hosted и managed-решением
Привет, Хабр! Сергей Бондарев, архитектор Southbridge и спикер в Слёрме, недавно провёл вебинар «Kubernetes'22: выбор между self-hosted и managed-решением». Сегодня публикуем текстовую версию вебинара.
Kubernetes 1.24: обзор нововведений
Этой ночью представят новую версию Kubernetes. Удаление Dockershim — если не самое значимое, то уж точно самое обсуждаемое изменение в релизе 1.24. Также среди интересных нововведений: «мониторинг здоровья» томов; Network Policy Status для оценки состояния подресурсов; набор тестов, с помощью которых определяется готовность Windows-кластеров к production.
В обзоре рассказываем обо всех улучшениях — новых (alpha) и о тех, что перешли на уровень выше (beta, stable).
Особенности платформы Rancher для управления кластерами Kubernetes
Spaceship Central Bridge concepts by SolarSouth
За последние годы Kubernetes стал де-факто стандартом оркестровки контейнерных приложений. Но его самостоятельная установка и настройка — нетривиальная задача, которая может занять несколько дней. Именно поэтому многие компании предпочитают готовые решения.
Команда Kubernetes aaS VK Cloud Solutions написала статью, посвященную платформе управления Kubernetes Rancher. Мы собрали для вас в одном месте всю основную справочную информацию об этой платформе: ее основных функциональных особенностях, кластерных операциях, внутреннем устройстве, безопасности и интеграции с внешними системами. И расскажем, когда вам подойдет именно Rancher, а когда стоит обратить внимание на другие инструменты.
CROC&TALK. Как создавать распределенные системы с Kubernetes и без
Хабр, привет!
28 апреля в 18:00 собираем онлайн-митап о создании систем по разные стороны Kubernetes. Да, уже многие поиграли с ним в песочнице и используют в dev и prod средах, но чем глубже погружаешься, тем больше вопросов возникает.
Приглашаем инженеров, разработчиков, архитекторов, девопсов и всех сочувствующих разобраться вместе. Подробнее о докладах и спикерах – рассказываем ниже. Если мы уже вас убедили – регистрироваться здесь.
О безопасности Kubernetes. Часть 1. Об угрозах
Технологии контейнеризации в последние годы получили широкое распространение и наиболее известным решением по управлению контейнерами по праву считается Kubernetes, или, сокращенно, K8s. Kubernetes это система автоматизации развертывания и масштабирования контейнеризированных приложений и управления ими. Данная система построена на базе программного обеспечения с открытым исходным кодом. Изначально решение разрабатывалось специалистами Google, начиная с 2014 года и предназначалось для решения внутренних задач корпорации. Однако, впоследствии Kubernetes стал решением Open-Source и получили широкое распространение по всему миру.
Kubernetes, как система управления кластерами из контейнеров, является динамическим решением, которое позволяет в режиме реального времени реагировать на события, оживлять “упавшие” сервисы и масштабироваться по запросу. Особенно преимущества Kubernetes в части живучести оценили разработчики. В качестве примера можно привести историю, когда у помещенного в контейнеры приложения начала “течь” память. Однако, разработчики узнали об этом только через несколько месяцев, когда заинтересовались, логами приложения. А все это время Kubernetes исправно следил за контейнерами с этими приложениями и в случае их “подвисания” тут же рестартовал их. Так что живучесть контейнеризированным приложениям данная система обеспечивает на “отлично”.
В целом, K8s можно назвать стандартом для современных DevOps-сред в организациях различного уровня. Например, Kubernetes используется в таких облачных сервисах, как: AWS, Microsoft Azure или Google Cloud.
Обзор self-hosted serverless-фреймворков для Kubernetes
В статье расскажу про serverless computing и какие есть Open Source-реализации self-hosted-фреймворков с поддержкой Kubernetes, об их возможностях и ограничениях. Еще поделюсь опытом нашего клиента, который использует одно из таких решений (OpenFaaS). Идея обзора как раз и возникла в процессе изучения этого кейса.
Custom Pod Autoscaler – сверхгибкое автоскалирование в Kubernetes
Преимущества использования системы оркестрации контейнеров — удобство их развертывания, обновления и масштабирования. И одним из наиболее популярных таких инструментов является Kubernetes.
Многие знают, что Kubernetes имеет встроенный механизм для автоскалирования подов — Horizontal Pod Autoscaling (HPA). Но что, если надо принимать решение с учетом множества факторов: суммы метрик, зависимости от количества готовых контейнеров, процента или доли доступных/недоступных подов или даже времени суток? А если эти показатели важны для нас все вместе?
Мы в студии Whalekit смогли решить эту задачу. И отличным решением для этого стал Custom Pod Autoscaler (CPA).
Как защитить инфраструктуру от вредоноса в OpenSource-компонентах
В марте IT-сообщество возмутили новости о том, что в некоторых OpenSource-продуктах обнаружили вредоносы. Многие задумались, как защититься от опасного ПО. Рекомендации по безопасности дают Павел Селиванов, архитектор в Yandex.Cloud, и Дмитрий Евдокимов, Founder и CTO компании Luntry.
«Меняем коней на переправе»: опыт замены компонентов Kubernetes на работающем кластере
Fix by MacRebisz
Привет, я Андрей Квапил, Solution Architect в компании «Флант». Моя специализация — архитектурные решения на базе Kubernetes, в том числе на bare metal, а также разработка и эксплуатация облачных платформ и software-defined storage.
В Kubernetes часто можно столкнуться с ограничениями, immutable-полями и прочими особенностями. Я хочу показать, что при необходимости такие ограничения можно обходить, а также познакомить вас с паттерном controller и наглядно продемонстрировать работу CNI-, CSI- и CRI-плагинов.
Пошаговое руководство, как создать собственный Kubernetes оператор
В статье разберет базовые понятия, которые нужны для создания оператора (CRD - Custom Resource Definition, контроллеры) и покажем на практике как можно написать собственный оператор с использованием инструмента Operator SDK без единой строчки кода.
Инструкция: Как построить процесс доставки приложения в Kubernetes, используя gitlab ci и gitlab runner
Привет, Хабр! Меня зовут Егор Комаров, я тестировщик в команде #CloudMTS.
Сегодня я расскажу, как настроить процесс развертывания и обновления микросервисного приложения от разработчика до облака в две команды.
Когда в приложении появляется новый функционал (например, изменился ответ от сервера), запускается ряд стандартных действий:
- получить фичу от разработчика;
- сбилдить контейнер с новым приложением;
- загрузить контейнер в репозиторий;
- изменить и применить манифест кубера.
Эти рутинные действия можно автоматизировать через функционал gitlab ci.
Безопасное хранение secrets в Kubernetes
В Kubernetes есть такая сущность, как secrets, или секреты. Из названия понятно, что эти данные не могут быть общедоступными, и их нужно как-то защищать и особым образом доставлять в кластеры Kubernetes. В статье разберём, что такое secrets и в чём особенности их хранения и доставки. А также рассмотрим два популярных инструмента для работы с секретами: Hashicorp Vault и Helm Secrets.