Запускаем новую рубрику в блоге beeline cloud — дайджест материалов, в которых авторы и реальные эксперты в одном лице делятся опытом решения различных ИТ-задач. Сегодня в выпуске: как развернуть Kubernetes-кластер в домашних условиях, провести аудит его безопасности, выстроить ИТ-архитектуру и не только.
Что там с Kubernetes
[ru] Простыми словами о K8s — материалы для менеджеров. В нашем блоге на Хабре есть подборка полезностей для технарей, однако по ссылке выше вы найдете материалы, которые помогут разобраться в устройстве Kubernetes управленцам в ИТ.
Авторы затрагивают как общие вопросы по Kubernetes, так и простые технические аспекты. В одной из статей описано, как выглядит настройка кластера, в другой — как в нем взаимодействуют Kibana и Elasticsearch. Есть и более верхнеуровневые материалы о преимуществах и недостатках Kubernetes. Они пригодятся руководителям, которые взвешивают за и против внедрения технологии, а также пытаются разобраться, является ли тренд на K8s временным. Что касается примеров инструментов, то их объединяет понятный подход к взаимодействию и простые интерфейсы для управления кластерами.
[ru] Как провести аудит безопасности Kubernetes. Материал из нашего DIY-медиа — автор представил пошаговое руководство по выявлению уязвимостей в кластере. К ним относятся наличие вредоносного кода или бэкдора в образах, неправильно настроенные права доступа, отсутствие шифрования между компонентами кластера.
Аудит разбит на четыре подтемы: среда выполнения, внутренняя сеть, компоненты кластера, образы контейнеров. Автор приводит примеры использования инструментов Kube-bench, Kube-hunter, Kubescape и Trivy. Он составил таблицы, в которых ёмко описал объекты проверки, принцип работы и преимущества решения.
Для каждой утилиты — свой кейс:
Kube-bench — аудит одного, нескольких или всех компонентов кластера
Kube-hunter — моделирование атаки на кластер
Kubescape — проверка конфигурации кластера
Trivy — сканирование образов
Автор также рассказывает об отчетах по итогам использования каждого инструмента и делится шаблоном для общего отчета по результатам аудита безопасности. Плюс — объясняет, где найти рекомендации по устранению уязвимостей.
[en] Как масштабировать базы данных в Kubernetes. Статья из блога компании-разработчика, предоставляющей решение для масштабирования баз данных. Автор отвечает на некоторые вопросы по теме, например, пишет о репликации и восстановлении данных, а также — о нюансах в развертывании приложений, работающих с сохранением состояния. Для них в официальной документации Kubernetes рекомендуют использовать контроллер StatefulSets, однако автор делает акцент на реализации управления с помощью Vitess.
Это — открытое решение для горизонтального масштабирования cloud native инфраструктуры. Для этого в нем есть компоненты поверх MySQL, такие как stateless прокси (VTGate) и сервер для хранения данных о топологии кластера. Но этими возможностями нужно управлять — разворачивать и масштабировать существенное число кластеров, о чем и идет речь.
[en] Kubernetes-кластер у мамы дома. DevOps реализует решение, чтобы привлечь внимание коллег и потенциальных работодателей. Для этого он развернул кластер на бюджетном оборудовании в домашних условиях. В качестве железа — выбрал одноплатник Orange Pi 5. Забавно, что из-за общей нехватки IPv4-адресов и отсутствия поддержки IPv6 у провайдера в Нью-Йорке, он поехал разворачивать кластер к маме.
Для настройки сети и маршрутизатора он использовал операционную систему VyOS. Далее автор описывает процесс от выбора дистрибутива (k0s) и инструментов, таких как Argo CD и Istio, до проблем с k0s в связке с используемым железом.
[ru] Устанавливаем отказоустойчивый кластер Kubernetes. Статья-руководство с разбором примера на двух мастер- и двух рабочих нодах вместе с балансировщиком HAProxy. Автор показывает, как подготовить ОС Ubuntu 20.04.6 LTS к развертыванию и приводит таблицы с диапазонами портов, которые нужно открыть для мастер-ноды и рабочих нод, в том числе дает команды для загрузки и активации сетевых модулей.
Далее речь идет об установке CRI-O и загрузке утилит kubelet, kubeadm, kubectl для управления кластером. Настройка HAProxy происходит в три шага, затем следует развертка мастер- и рабочих нод с настройкой сетевого взаимодействия.
[ru] Как установить кластер Kubernetes с CRI-O в качестве Container Engine. В Kubernetes 1.24 уже нет поддержки Docker, поэтому в качестве альтернативы специалисты предлагают использовать CRI-O. Автор объясняет, как развернуть на нем кластер.
От настройки ОС, загрузки и активации сетевых модулей до установки и проверки работоспособности CRI-O, а также Kubernetes с запуском мастер-ноды и двух рабочих нод. Для управления сетевым взаимодействием автор использует flannel.
Минутка DevOps и архитектуры
[RU] Как мы делали курс Base Cloud DevOps и что он дает новичкам. Рассказываем, как мы за пару месяцев запустили своего рода настольный помощник для начинающих разработчиков и администраторов. Его главная цель — научить джунов решать прикладные задачи, ведь именно этого от них ждут работодатели. Мы представили три темы: DevOps, архитектуру приложений и Kubernetes — эксперты рассказывают о них в видеолекциях и демо-уроках. Здесь нет дедлайнов и тестов — можно учиться в удобное время. Курс короткий, все материалы можно освоить за несколько часов.
За помощью во время обучения можно обратиться в специальный чат-комьюнити — задать любые вопросы по темам курса и просто найти коллег для обмена опытом.
[ru] Используем Terraform для работы с Docker. В статье автор использовал Ubuntu 22.04.2 LTS. Он приводит команды для скачивания, установки и проверки Terraform.
Наиболее интересная часть — подготовка конфигурации, которая позволяет создавать объекты в Docker’е. Автор объясняет, за что отвечают параметры, а еще — разбирает вариант для контейнера с Nginx, плюс — показывает конфигурации для Docker-объектов.
[ru] Как использовать Ansible для простых и сложных задач. В материале описаны кейсы применения инструмента в работе администратора и DevOps’a. Решение не требует установки дополнительных агентов, поэтому речь в основном идет о том, как прописать параметры и использовать плейбуки для автоматизации рутинных операций: проверки свободного места, оперативной памяти и прочих задач.
Для более комплексных кейсов вроде установки Docker и работы с LEMP-стеком автор приводит примеры конфигураций и дает более подробные комментарии.
[ru] От AxonIQ до микросервисов: через грабли к звездам. Разработчик системы автоматизации для общепита рассказал, как им пришлось менять «модульный монолит» на микросервисы. Он говорит о работе с фреймворком AxonIQ: описывает исходных вариант реализации системы и то, как все было устроено, а далее — объясняет, как недостатки фреймворка, сопутствующие сложности и ошибки привели к необходимости реконфигурации.
Конечно же, автор делится опытом перехода на микросервисы: от поддержки гибридной инфраструктуры до выбора других архитектурных решений.
Дополнительное чтение [en]
Неполный DevOps-словарь. Забавный материал, который точно не стоит отправлять менеджерам и вышестоящему руководству для быстрого погружения в тему. Автор подсвечивает несоответствие между идеальным миром DevOps «из учебников» и реальной ситуацией с помощью определения ключевых терминов.
Культура решает все. Это — ключевые моменты из DevOps-отчета «Accelerate State of DevOps Report» одного из крупнейших облачных вендоров. Коротко о нюансах, которые позволят построить адекватный подход к корпоративной культуре и получить не только продуктивную работу, но и снизить риски выгорания коллег.
Head First Software Architecture. Серия Head First от O’Reilly отличается обилием примеров, и эта книга не должна стать исключением (публикация полной версии запланирована на февраль следующего года). Материал поможет познакомиться с темой и разобраться в архитектурных стилях, проектировании и компонентах.
beeline cloud — secure cloud provider. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.