Публикация дополнена и обновлена 16 мая 2024 г.
Основы работы с хранилищами в Kubernetes
В Kubernetes принято разделение хранилищ на два основных типа: постоянные и временные.
Постоянные хранилища (PV) представляют собой сегменты дискового пространства, которые могут быть подключены к подам и сохранять данные даже после перезапуска или удаления контейнеров. Эти объемы предоставляются через механизм Persistent Volume Claims, который позволяет юзерам и приложениям запрашивать хранилище определенного размера и класса, абстрагируясь от физической реализации хранилища.
А вот временные хранилища связаны с жизненным циклом контейнера и используются для хранения данных, актуальных только во время работы контейнера.
Деплоим приложение в k8s через Jenkins+Helm3+ArgoCD
В мире современной разработки программного обеспечения Kubernetes (K8s) стал неотъемлемой частью инфраструктуры, предоставляя масштабируемость и гибкость в развертывании контейнеризированных приложений. В этой статье мы рассмотрим эффективный способ деплоя приложений в среде Kubernetes, используя мощные инструменты: Jenkins, Helm 3 и ArgoCD.
SaltStack: управление конфигурациями
SaltStack позволяет администраторам и DevOps-специалистам взаимодействовать с различными уровнями своих инфраструктур, от индивидуальных серверов до центров обработки данных. Система использует модель Salt Minion.
Salt Master координирует действия и распределяет задачи среди узлов Salt Stack. Salt Minions, установленные на управляемых серверах и устройствах, слушают команды от мастера и выполняют их, обеспечивая таким образом моментальное распространение конфигурационных изменений и обновлений по всей инфраструктуре.
Kubelet в Kubernetes
Kubelet — это агент, который работает на каждом узле в кластере Kubernetes. Он отвечает за то, чтобы контейнеры в Pod’ах были запущены и функционировали в соответствии с предоставленными спецификациями PodSpec. Kubelet непрерывно общается с сервером API Kubernetes, чтобы проверять и поддерживать состояние узлов и контейнеров. Без Kubelet, управление контейнерами стало бы нестабильным и непредсказуемым, так как он обеспечивает регулярную проверку состояния и восстановление контейнеров, управляет их жизненным циклом и реагирует на изменения в конфигурации.
4 частых вопроса на собеседовании по части Kubernetes, с которыми может столкнуться каждый. Часть 1
В этой статье мы подготовили для вас подборку из пяти наиболее частых вопросов, которые могут встретиться на собеседованиях по Kubernetes, и кратко ответили на каждый из них.
Начнем с основной архитектуры Kubernetes и роли основных компонентов.
Тюнинг Wireshark
Анализатор пакетов Wireshark является мощным инструментом как для сбора, так и для анализа трафика. Ранее мы уже рассматривали использование Wireshark для работы с пакетами DNS. В этой статье мы рассмотрим различные приемы гибкой настройки данного инструмента для того, чтобы сделать работу с ним более удобной и эффективной.
Настройки Wireshark спрятаны в разделе Edit -> Preferences… Здесь нам доступно множество различных настроек и подробно останавливаться на каждой мы не будем. В разделе Appearance мы можем указать различные настройки для визуального отображения: шрифты, используемые цвета, сохранение размеров и расположения основного окна и многое другое.
Инфраструктурные пайплайны в Jenkins
Jenkins позволяет автоматизировать всё, от сборки и тестирования кода до деплоя на продакшн. Jenkins работает по принципу пайплайнов, которые можно настраивать под любые нужды проекта.
Инфраструктурный пайплайн – это серия автоматизированных шагов, которые преобразуют ваш код в готовое к использованию на продакшне программное обеспечение. Главная цель всего этого – сделать процесс доставки ПО как можно более быстрым.
MERGE и её улучшение производительности с помощью work_mem
С выходом PostgreSQL 15 мы застали появление долгожданной команды MERGE
, которая позволяет реализовывать эффективные способы синхронизации обновлений.
Суть MERGE
заключается в ее универсальности: она позволяет объединить операции INSERT
, UPDATE
и DELETE
в одном запросе, автоматически выбирая нужное действие в зависимости от того, существует ли соответствующая запись в целевой таблице.
Helm Charts
Helm — это менеджер пакетов для Kubernetes. Этот инструмент позволяет нам обернуть Kubernetes приложения в удобные пакеты, называемые чартами, которые можно легко развертывать, обновлять и управлять ими в любой момент времени.
Чарты — это пакеты, которые могут включать в себя все для запуска приложения в Kubernetes, от deployments до services. Все это дает возможность работать с приложениями как с единой сущностью, а не как с набором отдельных ресурсов, которые еще и в ручную нужно настраивать…
Обзор балансировщика traefik
Traefik — современный и мощный балансировщик нагрузки.
Traefik может автоматически обнаруживать и настраивать маршруты к новым сервисам без необходимости перезагрузки или внесения изменений в его конфигурацию вручную.
Создание базового образа с Packer
Packer – это инструмент для создания однородных образов виртуальных машин и контейнеров для использования на различных платформах от HashiCorp. C ним можно легко автоматизировать процесс сборки образов на основе одного исходного конф. файла, используя предопределённые шаблоны.
Рассмотрим создание базового образа с Packer.
Packer: мультисборка, пост-процессоры и пользовательские плагины
Рассмотрим его возможности мультисборки, пост-процессоров и пользовательских плагинов.
Интеграция SonarQube в Kubernetes
В современном мире разработка программного обеспечения стала неотъемлемой частью бизнес-процессов, требующей не только высокой производительности, но и надежной защиты от угроз безопасности. В этом контексте DevSecOps выступает как ключевая парадигма, интегрируя принципы безопасности непосредственно в процессы разработки и поставки. Особое внимание уделяется инструментам, способствующим обеспечению безопасности приложений на каждом этапе их жизненного цикла. В данной статье мы сосредоточим взгляд на сочетании двух мощных технологий — Kubernetes и SonarQube, и рассмотрим, как их совместное использование в рамках DevSecOps способствует созданию надежных и безопасных решений.
Укрощаем DNS в Wireshark
О том, как поставить и начать работу в Wireshark, написано множество различных публикаций. Такие базовые вещи, как применение параметров перехвата и работа с фильтрами рассматриваются в различных публикациях. Поэтому в данной статье я не буду подробно рассматривать базовые вещи, вместо этого предлагаю поработать с помощью Wireshark с протоколами прикладного уровня, в частности с DNS. В этой статье мы поговорим о простых DNS запросах, а в следующей рассмотрим более сложные случаи. Но, для начала вспомним немного теории.
Взгляд в хранилище данных. Анализ диска с помощью Kali Linux
В данной статье мы рассмотрим основные инструменты и методы, предоставляемые Kali Linux, для анализа содержимого дисков, включая методы извлечения данных, анализ файловой системы, поиск удаленных следов и многое другое. Погрузимся в мир цифровой форензики и обнаружения информации, спрятанной в глубинах хранилищ данных с помощью инструментов, предоставляемых этой мощной операционной системой.
Отладка дедлока FUSE в ядре Linux
Наша команда вычислительных ресурсов Netflix (Compute team) отвечает за администрирование AWS, в том числе за автомасштабирование и развертывание контейнеризованных приложений, включая решение возникающих проблем. В мои обязанности входит разбор разного рода странных ошибок, о которых сообщают пользователи.
Проблема, описываемая далее, была связана с ndrive — внутренней файловой системой, реализованной с помощью FUSE. Я расскажу, как я копался в /proc в поисках причины, и узнал, как на самом деле работает wait в ядре.
Kustomize в Kubernetes
Если вы когда-либо сталкивались с вызовами управления множественными и сложными Kubernetes конфигурациями, то Kustomize — это то, что может очень круто упростить вашу жизнь.
Чем больше масштаб работы Kubernetes, тем более витиеватыми становятся конфигурации. И здесь очень помогает Kustomize, он позволяет «конфигурировать конфигурации», управлять сложностью и делать процесс более понятным.
Собственные CRD в Kubernetes
Custom Resource Definition в Kubernetes — это хороший инструмент, который позволяет расширять API Kubernetes, добавляя собственные, пользовательские ресурсы. Эти определения не просто новые названия для существующих концепций; они создают новые типы ресурсов, которые Kubernetes будет распознавать и обрабатывать так же, как и встроенные ресурсы, такие как Pods, Deployments и Services.
Microk8s, еще один легковесный K8s
В современном мире разработки и развертывания приложений, контейнеризация стала ключевым элементом для обеспечения масштабируемости, гибкости и надежности. В этом контексте технология Kubernetes, как ведущая платформа оркестрации контейнеров, становится неотъемлемым инструментом для управления и развертывания многокомпонентных приложений.
Microk8s предоставляет собой легковесное решение для установки и управления Kubernetes-кластером на локальной машине или в облаке, делая процесс эксплуатации контейнеризированных приложений доступным для широкого круга разработчиков и системных администраторов. В этой статье мы рассмотрим основные шаги быстрого старта с Microk8s, от установки до первого развертывания приложения, чтобы обеспечить эффективное использование Kubernetes в ваших проектах.