Kubernetes — это мощный инструмент, который помогает нам эффективно и надежно управлять и развертывать наше программное обеспечение. Однако по мере того как наши системы становятся все более сложными, может возникнуть проблема с обеспечением их безопасности и соответствия правилам и нормам. Именно здесь на помощь приходит Open Policy Agent (OPA). Перевели туториал, где рассматривается, как OPA можно использовать в Kubernetes для обеспечения безопасности наших систем и соблюдения политик.
Kubernetes *
Фреймворк для работы с контейнерными приложениями
Работа с хранилищами в Kubernetes: руководство для инженеров
Как DevOps-инженер я часто сталкиваюсь с необходимостью глубокого понимания тонких аспектов Kubernetes. Одним из таких ключевых элементов является управление хранилищем данных. Хотя этот элемент иногда остаётся в тени других задач, его важность для успешного развёртывания и поддержки приложений велика.
Накопленный мною опыт в этой области стал основой для этой статьи.
Я сфокусируюсь на трёх ключевых элементах управления хранилищем в Kubernetes:
- PersistentVolumes (PV).
- PersistentVolumeClaims (PVC).
- Storage Classes.
Эти компоненты играют важную роль не только в выборе подходящих типов хранилищ, но и в их эффективном управлении, особенно в сценариях высокой нагрузки.
Так, при развёртывании масштабируемого веб-приложения, которое обрабатывает большие объёмы пользовательских данных и транзакций, хорошо настроенное управление хранилищем заметно повышает производительность и доступность данных. И тогда при увеличении нагрузки на приложение доступ к данным остаётся быстрым и надёжным, задержки уменьшаются, общее взаимодействие пользователя с приложением улучшается.
Например, у нас была задача обеспечить надёжное и масштабируемое хранение данных в веб-приложении для управления клиентскими заказами. Мы настроили в Kubernetes Storage Class на основе SSD для базы данных (что не является хорошей практикой): это помогло обеспечить быстрый доступ и обработку транзакций. А для логов и нечасто применяемых данных использовали отдельный Storage Class с HDD, и это позволило снизить затраты.
А главное, Storage в Kubernetes — это такая штука, которую ты сделал и забыл, дальше оно там само работает.
Рассказываю детально.
Kubernetes, ищем базу
В этой статье я хочу показать, что меняется в состоянии кластера kubernetes при создании базовых ресурсов. В качестве кластерной платформы был выбран minikube чтобы каждый мог повторить проделанные мной шаги безо всяких проблем.
Знакомство с Kubernetes на практике
Если Вы хоть раз работали с высоконагруженными приложениями, то наверняка знаете, какое количество головной боли возникает в процессе. Как правило, в таких проектах все направлено на максимальную оптимизацию и увеличение быстродействия, но по достижению критической массы пользователей только на оптимизации уже не уехать. Частично эти проблемы помогает решить контейнеризация, которая сегодня есть уже почти у каждого сервиса. При попытке выложить свое приложение во всеобщий доступ, Вам наверняка придется неоднократно столкнуться с этим термином.
В этой статье мы поговорим о том, как начать свой путь в Kubernetes и даже разработаем полноценный fullstack проект и локально развернем его в Kubernetes.
Kubernetes и Kernel Panic
Команда VK Cloud перевела статью о том, как на контейнерной платформе Netflix увязали ошибку Kernel Panic ядра Linux с подами Kubernetes.
ТОП-7 статей на Хабр по Кубернетесу
Перенос приложения на Kubernetes может быть связан с определенными сложностями, знать о которых лучше заранее. Собрали для вас дайджест лучших статей Хабра по k8s.
Kubernetes 1.29: бэкенд на nftables, изменение атрибутов тома и другие фичи
Сегодня ожидается выход очередной версии Kubernetes — 1.29. Среди главных изменений — бэкенд на основе nftables для kube-proxy, множественные CIDR для сервисов и функция QueueingHint, которая помогает решить, как повторно ставить поды в очередь. TaintManager стал отдельным контроллером, а список допустимых значений лейблов для метрики теперь можно настраивать динамически. Еще появился объект VolumeAttributesClass — он позволяет менять атрибуты тома после его заказа. Также стал доступен инструментарий для реализации структурированной auth-конфигурации, предусмотренный в KEP’е от «Фланта», и появилась нативная поддержка операции sleep для PreStop-хуков.
Настройки безопасности контейнеров и Kubernetes
В этой статье представлен список инструментов Linux и функционала Kubernetes, регулирующих безопасность контейнеров. Статья имеет описательный характер для базового понимания настроек безопасности, а также для систематизации полезных инструментов и полей спецификации k8s для этих целей. Статья основана на книгах, представленных в главе «Литература».
Безопасность контейнеров в Linux
Основной особенностью контейнеров является изоляция процессов средствами Linux. При этом, приложения в контейнере делят общее ядро операционной системы с другими приложениями. Какие же ограничения применяют контейнеры?
Контейнеры должны контролировать права процесса, доступ к ресурсам хоста и доступ к другим файлам файловой системы. Разберемся со всем по порядку.
Ограничения прав процесса
Можно настроить очень простое разграничение доступа для процесса: наличие или отсутствие прав root.
Также можно разрешить запускать некоторые процессы с привилегиями root обычному пользователю, повесив файлу флаг Setuid (если владелец файла - пользователь root). Setuid позволяет вызвать процесс от имени владельца, а не от имени запускающего пользователя.
Обычно флаг setuid (+s) используют вспомогательные программы для назначения capabilities - возможностей, для которых требуются повышенные привилегии.
Это небезопасно, например, можно задать бит +s для bash-скрипта и через него под привилегиями root выполнить любое содержимое этого скрипта. Но это более правильный вариант, чем давать исполняемому файлу полные права админа.
Serverless на бюджете
Serverless на бюджете: Делаем FaaS (функция-как-сервис) с помощью OpenWhisk, чтобы было как в облаках.
Пишем оператор Kubernetes: руководство для начинающих
Перевели туториал об основах контроллеров, операторов и CRD. В качестве практики вы можете создать кастомный оператор ConfigmapSync для синхронизации Configmap между пространствами имен. Рассказываем, как его написать и развернуть его с помощью Kubebuilder.
Авторизация для приложения в облаке
Начал писать свой пэт проект и дошел до момента, когда мне понадобилось авторизовывать пользователя в своем приложении. До этого был опыт использования спринга с кейклок, но поскольку сейчас развернул приложение в облаке, решил узнать, как принято использовать кейклок в облаке. Может можно использовать кейклок как авторизационную прокси?
Как сделать Kubernetes еще круче: секреты безупречной работы
Отказоустойчивость информационных систем необходима для обеспечения непрерывности работы системы и минимизации возможности потери данных в случае сбоев или отказов в работе оборудования. Это особенно важно для критических для бизнеса систем.
Мы начали использовать геораспределенные кластеры и повысили надежность сервисов. В статье опишем, какими инструментами это делали, какие сложности возникали и какие получили результаты.
Привет, Хабр, меня зовут Артур Мечетин, и в этой статье мы со Станиславом Столбовым из Byndyusoft расскажем о том, как повысили стабильность приложений в К8s кластерах с высокой критичностью для бизнеса.
Как работает аутентификация в Kubernetes: ServiceAccount и RBAC
Эта статья является кратким агрегатором сведений, характеризующих аутентификацию и авторизацию в Kubernetes и позволяет познакомиться с базовыми понятиями, такими как ServiceAccount, RBAC, Role, RoleBinding, ClusterRole и ClusterRoleBinding.
Ближайшие события
Практическая магия Istio при построении архитектуры крупных микросервисных систем. Часть 1 — функциональная
Под Новый Год мы с женой пересматриваем одну популярную магическую сагу — хочется знаете ли в жизни волшебства. В IT волшебства тоже хватает — от танцев с бубнами до самых современных технологий, принцип работы которых проще объяснить тёмной магией. Так, например, бытует мнение, что настройка service mesh — это магия, подвластная лишь волшебникам DevOps. Но у нас в Альфа-Банке разработчики исторически не маглы, а, как минимум, полукровки, поэтому имеют право приобщиться к волшебному миру.
В этой серии статей я хочу поделиться опытом изучения технологии service mesh, а именно Istio, на примере практической задачи, возникшей какое то время назад в одной из систем Альфа Банка, системным архитектором которой я являюсь.
В первой статье я расскажу о наших архитектурных подходах, породивших задачу, а также в подробностях, со схемами и примерами, покажу как мы ее решали и с какими трудностями столкнулись.
Вторая статья будет посвящена нагрузочному тестированию и выводам об эффективности полученного решения.
Как построить локальный self-managed Kubernetes-кластер
Возможно, у вас была мысль запустить собственную услугу Infrastructure as a Service (IaaS) либо разместить свои проекты на Kubernetes, но не платить за managed-услуги, или ваш проект — это и есть self-managed Kubernetes. У full-stack-разработчика и предпринимателя Нейта Бакареффа эти желания сошлись воедино.
Он решил научиться развертывать собственный кластер на виртуальных выделенных серверах, о чем и рассказал в своем блоге. Эта статья является переводом его материала.
7 ошибок джунов в DevOps, которые мешают им стать мидлами
В прошлой статье мы рассмотрели, каким должен быть джуниор-DevOps-инженер. Сегодня пойдём чуть дальше, вспомним наш опыт и расскажем, какие ошибки могут мешать джуниорам перейти на грейд «мидл».
Процессы в РСХБ: взаимодействие с СБП через ЕСПП, App.Farm и различные нюансы импортозамещения
Привет, Хабр! Меня зовут Игорь Шестаков. Я занимаюсь тестированием ЕСПП (единая система приема платежей) в Блоке обеспечения и контроля качества выпуска изменения ПО в РСХБ‑Интех. Сегодня обсудим тему выживания в контейнере и ветвистых путей импортозамещения, его плюсы, минусы и возможности.
Как работает Kubernetes пока ты спишь
Эта статья - базовое описание того, из каких компонентов состоит Kubernetes, как он работает «под капотом». Это важно так как платформа сложная и:
• понимание ее работы влияет на факторы разработки;
• становится понятно, что можно и чего нельзя;
• помогает объяснить, почему одно не работает;
• или почему другое работает не так, как ты рассчитываешь.
Kubernetes настраивается с помощью YAML-ов и сам состоит из нескольких независимых компонентов (поддерживает свою же идею). Сами компоненты написаны на Go.
Внутреннюю структуру можно рассмотреть с разных сторон, что мы и сделаем в этой статье.
Правильные, но (не)простые бэкапы. Как настроить резервное копирование в Kubernetes?
Разработчикам и системным администраторам важно обеспечивать надежность и доступность данных в приложениях Kubernetes. Несмотря на высокую степень автоматизации и управления контейнерами, всегда остаются риски сбоев или человеческих ошибок — поэтому необходимо заранее задуматься о резервном копировании.
Меня зовут Филипп, я системный администратор в отделе Data- и ML-продуктов Selectel. В этой статье постараюсь раскрыть, какие есть решения для резервного копирования в Kubernetes, и на простом примере покажу, как с ними работать. Подробности под катом.
Как получить сертификат CKA в 2023-2024 году
Не секрет что Kubernetes является де-факто стандартом для развертывания приложений и на специалистов со знанием Kubernetes существует стабильный спрос. Одним из самых востребованных сертификатов подтверждающих эту квалификацию является Certified Kubernetes Administrator или коротко CKA. В данной статье я делюсь своим опытом подготовки и прохождения экзамена CKA.