⚡️ Лекции: Основы контейнеризации, микросервисы, Kubernetes и как это защитить?
Контейнеры, микросервисы, лямбды и где они обитают
Устройство сети в Kubernetes
Calico для сети в Kubernetes
Межсетевой экран и Kubernetes
Сетевые политики Kubernetes
CloudGuard для Kubernetes - Обзор и демо
📌 источник
#devops #девопс
Контейнеры, микросервисы, лямбды и где они обитают
Устройство сети в Kubernetes
Calico для сети в Kubernetes
Межсетевой экран и Kubernetes
Сетевые политики Kubernetes
CloudGuard для Kubernetes - Обзор и демо
📌 источник
#devops #девопс
⚙️ Инновации в CI/CD на основе Kubernetes и Helm Charts
Каждый день CI/CD становится более важным для быстрого развертывания приложений. Kubernetes и Helm Charts упрощают рабочие процессы, позволяя вам бесперебойно интегрировать и развертывать ваши приложения. 🚀
Использование GitOps для управления конфигурациями является новым трендом.
🔗 Подробности по теме: Kubernetes CI/CD
📈 Имейте в виду лучшие практики в DevOps!
Каждый день CI/CD становится более важным для быстрого развертывания приложений. Kubernetes и Helm Charts упрощают рабочие процессы, позволяя вам бесперебойно интегрировать и развертывать ваши приложения. 🚀
Использование GitOps для управления конфигурациями является новым трендом.
🔗 Подробности по теме: Kubernetes CI/CD
📈 Имейте в виду лучшие практики в DevOps!
⚙️ Kubernetes pentest
Эта статья посвящена тестированию на проникновение Kubernetes. Предварительно статья разделена на сервисы и как их можно найти, эксплуатировать и может быть закрепиться.
📌 Ссылка на статью.
#Kubernetes #pentest
Kubernetes в телеграм
Эта статья посвящена тестированию на проникновение Kubernetes. Предварительно статья разделена на сервисы и как их можно найти, эксплуатировать и может быть закрепиться.
📌 Ссылка на статью.
#Kubernetes #pentest
Kubernetes в телеграм
🖥 Karpenter — это автомасштабирующий кластер, который автоматически запускает только необходимые вычислительные ресурсы для обработки модулей вашего кластера. Он разработан, чтобы позволить вам в полной мере использовать преимущества облака с помощью быстрого и простого предоставления вычислительных ресурсов!
🔗 Ссылка: *клик*
▪️Github
🔗 Ссылка: *клик*
▪️Github
kubewall : Свободный графический интерфейс Kubernetes с открытым исходным кодом
https://github.com/kubewall/kubewall
Kubernetes в телеграм
https://github.com/kubewall/kubewall
Kubernetes в телеграм
GitHub
GitHub - kubewall/kubewall: kubewall - Single-Binary Kubernetes Dashboard with Multi-Cluster Management & AI Integration. (OpenAI…
kubewall - Single-Binary Kubernetes Dashboard with Multi-Cluster Management & AI Integration. (OpenAI / Claude 4 / Gemini / DeepSeek / OpenRouter / Ollama / Qwen / LMStudio) - kubewall/kubewall
Juices - это облачная высокопроизводительная распределенная файловая система, основанная на объектном хранилище и базе данных, для создания архитектуры разделения данных и метаданных
В ней легко хранятся десятки миллиардов файлов
➤ https://github.com/juicedata/juicefs
Kubernetes в телеграм
В ней легко хранятся десятки миллиардов файлов
➤ https://github.com/juicedata/juicefs
Kubernetes в телеграм
GitHub
GitHub - juicedata/juicefs: JuiceFS is a distributed POSIX file system built on top of Redis and S3.
JuiceFS is a distributed POSIX file system built on top of Redis and S3. - juicedata/juicefs
👣 helm-chartsnap — предоставляет инструмент для Snapshot тестов (snapshot testing) Helm-чартов.
💡 Snapshot тесты — это тесты, которые делают скриншот экрана (эталонный скриншот) и сравнивают с актуальным скриншотом, который делается во время прогона тестов.
Helm - это менеджер пакетов для Kubernetes. Этот инструмент позволяет нам обернуть Kubernetes приложения в удобные пакеты, называемые чартами, которые можно легко развертывать, обновлять и управлять ими в любой момент времени.
Чарты – это пакеты, которые могут включать в себя все для запуска приложения в Kubernetes, от deployments до services.
helm-chartsnap помогает тестировать Kubernetes Helm-чарты, автоматически сравнивая текущее состояние с предыдущими снимками, что позволяет выявлять изменения и предотвращать нежелательные конфигурации
🔐 Лицензия: MIT
▪️Github
💡 Snapshot тесты — это тесты, которые делают скриншот экрана (эталонный скриншот) и сравнивают с актуальным скриншотом, который делается во время прогона тестов.
Helm - это менеджер пакетов для Kubernetes. Этот инструмент позволяет нам обернуть Kubernetes приложения в удобные пакеты, называемые чартами, которые можно легко развертывать, обновлять и управлять ими в любой момент времени.
Чарты – это пакеты, которые могут включать в себя все для запуска приложения в Kubernetes, от deployments до services.
helm-chartsnap помогает тестировать Kubernetes Helm-чарты, автоматически сравнивая текущее состояние с предыдущими снимками, что позволяет выявлять изменения и предотвращать нежелательные конфигурации
🔐 Лицензия: MIT
▪️Github
💻 Kubernetes для современной инженерии данных!
🌟 В этом видео вы подробно окунетесь в мир Kubernetes — мощного инструмента для управления контейнеризированными приложениями, а также рассмотрите его применение в области инжиниринга данных!
🕞 Продолжительность: 1:25:17
🔗 Ссылка: *клик*
🌟 В этом видео вы подробно окунетесь в мир Kubernetes — мощного инструмента для управления контейнеризированными приложениями, а также рассмотрите его применение в области инжиниринга данных!
🕞 Продолжительность: 1:25:17
🔗 Ссылка: *клик*
💻 Разрешения Kubernetes RBAC, о которых вы могли не знать, но должны знать!
🌟 K8s RBAC предлагает три разрешения со скрытыми полномочиями, которые могут быть использованы злонамеренно. Узнайте, как контролировать их использование!
🔗 Читать: *клик*
Kubernetes в телеграм
🌟 K8s RBAC предлагает три разрешения со скрытыми полномочиями, которые могут быть использованы злонамеренно. Узнайте, как контролировать их использование!
🔗 Читать: *клик*
Kubernetes в телеграм
❓ Как Kubernetes определяет готовность узла: детальный разбор
💡 В Kubernetes узлы играют ключевую роль, предоставляя ресурсы для запуска контейнеров. Чтобы гарантировать, что узел может эффективно выполнять свои функции, Kubernetes использует статус "Node Ready", который указывает, что узел готов к обработке рабочих нагрузок. Однако этот статус не статичен и может изменяться в зависимости от состояния различных компонентов узла.
❓ Как работает определение готовности узла?
❗️ Kubernetes использует компонент kubelet для управления состоянием узла. Kubelet — это агент, который работает на каждом узле кластера и отвечает за запуск и мониторинг контейнеров через контейнерный runtime (например, Docker или containerd). Этот агент регулярно отправляет обновления в контроллер управления жизненным циклом узлов (node lifecycle controller), который определяет состояние узла и решает, может ли узел принимать новые задачи.
💡 Чтобы узел считался "готовым", kubelet проверяет состояние различных критичных компонентов, включая:
🌟 Контейнерный runtime. Он отвечает за выполнение контейнеров, и если он не функционирует корректно, узел будет считаться неготовым.
🌟 Сетевые компоненты. Узел должен иметь рабочее сетевое соединение, чтобы взаимодействовать с другими узлами кластера и внешними ресурсами.
🌟 Физическое состояние узла. Например, узел может стать неготовым, если заканчиваются ресурсы (память, процессор и т.д.).
🔍 Проверка состояния узла
💡 Kubelet периодически отправляет Heartbeat сигналы, которые содержат данные о состоянии узла. Если контроллер не получает такие сигналы в течение определённого времени, он считает, что узел "упал", и изменяет его статус на Unknown (неизвестно), чтобы предотвратить отправку задач на этот узел.
Если хотя бы один из критичных компонентов перестает работать, статус узла изменяется на NotReady (не готов). В такой ситуации узел продолжает функционировать, но новые задачи на него не отправляются.
🔍 Метки состояния узла
Каждый узел в Kubernetes имеет набор меток (conditions), которые описывают его текущее состояние. Например, для статуса "Node Ready" используются следующие метки:
🌟 Ready: True, False или Unknown. Определяет, может ли узел принимать новые задачи.
🌟 MemoryPressure: указывает, если на узле нехватка оперативной памяти.
🌟 DiskPressure: показывает, есть ли проблемы с дисковым пространством.
🌟 PIDPressure: информирует о том, что узел исчерпал лимиты процессов.
Эти метки позволяют Kubernetes принимать автоматические решения, например, мигрировать рабочие нагрузки с узла, который испытывает проблемы
❓ Как отслеживать готовность узлов?
Чтобы узнать статус узлов в кластере, можно использовать команду:
💡 Она покажет список всех узлов и их состояние. Узлы со статусом "NotReady" могут временно не принимать задачи, что может быть вызвано, например, недостатком ресурсов или проблемами с контейнерным runtime.
Для более детальной информации можно использовать:
💡 Это предоставит подробное описание всех меток состояния и диагностики узла, что поможет быстрее обнаружить причину проблем
Kubernetes в телеграм
💡 В Kubernetes узлы играют ключевую роль, предоставляя ресурсы для запуска контейнеров. Чтобы гарантировать, что узел может эффективно выполнять свои функции, Kubernetes использует статус "Node Ready", который указывает, что узел готов к обработке рабочих нагрузок. Однако этот статус не статичен и может изменяться в зависимости от состояния различных компонентов узла.
❓ Как работает определение готовности узла?
❗️ Kubernetes использует компонент kubelet для управления состоянием узла. Kubelet — это агент, который работает на каждом узле кластера и отвечает за запуск и мониторинг контейнеров через контейнерный runtime (например, Docker или containerd). Этот агент регулярно отправляет обновления в контроллер управления жизненным циклом узлов (node lifecycle controller), который определяет состояние узла и решает, может ли узел принимать новые задачи.
💡 Чтобы узел считался "готовым", kubelet проверяет состояние различных критичных компонентов, включая:
🌟 Контейнерный runtime. Он отвечает за выполнение контейнеров, и если он не функционирует корректно, узел будет считаться неготовым.
🌟 Сетевые компоненты. Узел должен иметь рабочее сетевое соединение, чтобы взаимодействовать с другими узлами кластера и внешними ресурсами.
🌟 Физическое состояние узла. Например, узел может стать неготовым, если заканчиваются ресурсы (память, процессор и т.д.).
🔍 Проверка состояния узла
💡 Kubelet периодически отправляет Heartbeat сигналы, которые содержат данные о состоянии узла. Если контроллер не получает такие сигналы в течение определённого времени, он считает, что узел "упал", и изменяет его статус на Unknown (неизвестно), чтобы предотвратить отправку задач на этот узел.
Если хотя бы один из критичных компонентов перестает работать, статус узла изменяется на NotReady (не готов). В такой ситуации узел продолжает функционировать, но новые задачи на него не отправляются.
🔍 Метки состояния узла
Каждый узел в Kubernetes имеет набор меток (conditions), которые описывают его текущее состояние. Например, для статуса "Node Ready" используются следующие метки:
🌟 Ready: True, False или Unknown. Определяет, может ли узел принимать новые задачи.
🌟 MemoryPressure: указывает, если на узле нехватка оперативной памяти.
🌟 DiskPressure: показывает, есть ли проблемы с дисковым пространством.
🌟 PIDPressure: информирует о том, что узел исчерпал лимиты процессов.
Эти метки позволяют Kubernetes принимать автоматические решения, например, мигрировать рабочие нагрузки с узла, который испытывает проблемы
❓ Как отслеживать готовность узлов?
Чтобы узнать статус узлов в кластере, можно использовать команду:
kubectl get nodes
💡 Она покажет список всех узлов и их состояние. Узлы со статусом "NotReady" могут временно не принимать задачи, что может быть вызвано, например, недостатком ресурсов или проблемами с контейнерным runtime.
Для более детальной информации можно использовать:
kubectl describe node <node-name>
💡 Это предоставит подробное описание всех меток состояния и диагностики узла, что поможет быстрее обнаружить причину проблем
Kubernetes в телеграм
💻 kube-startup-cpu-boost от Google — контроллер для Kubernetes, который временно увеличивает запросы и лимиты CPU во время старта рабочих нагрузок. Это помогает приложениям быстрее запускаться в контейнерах, выделяя дополнительные ресурсы в критический момент. После инициализации ресурсы возвращаются к обычным значениям.
🔐 Лицензия: Apache-2.0
🖥 Github
🔐 Лицензия: Apache-2.0
🖥 Github
💻 Kubernetes для современной инженерии данных!
🌟 В этом видео вы подробно окунетесь в мир Kubernetes — мощного инструмента для управления контейнеризированными приложениями, а также рассмотрите его применение в области инжиниринга данных!
🕞 Продолжительность: 1:25:17
🔗 Ссылка: *клик*
🌟 В этом видео вы подробно окунетесь в мир Kubernetes — мощного инструмента для управления контейнеризированными приложениями, а также рассмотрите его применение в области инжиниринга данных!
🕞 Продолжительность: 1:25:17
🔗 Ссылка: *клик*
👣 Holocron — библиотека для управления выбором лидера в распределённых системах
💡 Библиотека использует объектное хранилище, чтобы несколько узлов в системе могли координироваться и выбирать ведущий узел (лидера), который будет управлять процессами. Лидер выбирается с помощью условных записей: только один узел может стать лидером, пока другие остаются в ожидании. Это важно для систем, где нужно избегать конфликтов между узлами при управлении ресурсами, особенно при сбоях
🔐 Лицензия: MIT
🖥 Github
💡 Библиотека использует объектное хранилище, чтобы несколько узлов в системе могли координироваться и выбирать ведущий узел (лидера), который будет управлять процессами. Лидер выбирается с помощью условных записей: только один узел может стать лидером, пока другие остаются в ожидании. Это важно для систем, где нужно избегать конфликтов между узлами при управлении ресурсами, особенно при сбоях
🔐 Лицензия: MIT
🖥 Github
🛟🛟 Архитектура кластеров Kubernetes — выбор размера рабочего узла
Если вы создаете on-premises кластер, стоит ли вам использовать несколько мощных серверов последнего поколения или использовать около дюжины старых машин, которые будут валяться в центре обработки данных?
Или, если вы используете управляемый сервис Kubernetes, такой как Google Kubernetes Engine (GKE), следует ли вам использовать восемь экземпляров n1-standard-1 или два экземпляра n1-standard-4 для достижения желаемой вычислительной мощности?
Продолжение здесь
#гайд
Если вы создаете on-premises кластер, стоит ли вам использовать несколько мощных серверов последнего поколения или использовать около дюжины старых машин, которые будут валяться в центре обработки данных?
Или, если вы используете управляемый сервис Kubernetes, такой как Google Kubernetes Engine (GKE), следует ли вам использовать восемь экземпляров n1-standard-1 или два экземпляра n1-standard-4 для достижения желаемой вычислительной мощности?
Продолжение здесь
#гайд
💻 Kube Trace NFS — это инструмент для мониторинга сетевых файловых систем (NFS) в Kubernetes-кластерах с использованием eBPF!
🌟 Он отслеживает операции чтения, записи, открытия и получения атрибутов для сбора телеметрии на уровне узла, экспортируя данные в Prometheus для анализа в Grafana. Инструмент предназначен для более детального контроля NFS-трафика между клиентами и серверами, поддерживает метрики по производительности и задержкам, а также интегрируется с Helm для установки.
🖥 Github
🌟 Он отслеживает операции чтения, записи, открытия и получения атрибутов для сбора телеметрии на уровне узла, экспортируя данные в Prometheus для анализа в Grafana. Инструмент предназначен для более детального контроля NFS-трафика между клиентами и серверами, поддерживает метрики по производительности и задержкам, а также интегрируется с Helm для установки.
🖥 Github
🔥 Keep — полезный инструмент для управления инженерными оповещениями!
🌟 Он позволяет командам разработчиков и DevOps эффективно фильтровать, группировать и анализировать инциденты, предоставляя мощные инструменты визуализации и интеграции. Keep собирает оповещения из различных систем мониторинга и автоматизации, включая Prometheus, Datadog, Sentry, и другие, а затем предоставляет контекст для их анализа.
🌟 Основные функции Keep включают настройку уведомлений, создание аналитических дашбордов, а также возможность интеграции с внешними API. Он ориентирован на улучшение реакции на инциденты и минимизацию шума от незначительных событий, помогая командам сосредотачиваться на решении критических проблем.
🖥 Github
Kubernetes в телеграм
🌟 Он позволяет командам разработчиков и DevOps эффективно фильтровать, группировать и анализировать инциденты, предоставляя мощные инструменты визуализации и интеграции. Keep собирает оповещения из различных систем мониторинга и автоматизации, включая Prometheus, Datadog, Sentry, и другие, а затем предоставляет контекст для их анализа.
🌟 Основные функции Keep включают настройку уведомлений, создание аналитических дашбордов, а также возможность интеграции с внешними API. Он ориентирован на улучшение реакции на инциденты и минимизацию шума от незначительных событий, помогая командам сосредотачиваться на решении критических проблем.
🖥 Github
Kubernetes в телеграм
Прогрессивный инструмент, автоматизирующий процесс релизов приложений, работающих на #Kubernetes
на базе #golang
https://github.com/fluxcd/flagger
Kubernetes в телеграм
на базе #golang
https://github.com/fluxcd/flagger
Kubernetes в телеграм
GitHub
GitHub - fluxcd/flagger: Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)
Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments) - fluxcd/flagger
Content-CheatsheetKubernetes.pdf
4.4 MB
💻 Шпаргалка метрик Kubernetes
Полезная шпаргалка по k8s с листингом метрик диска, джобов, сервисов и событий.
#kubernetes #шпаргалка
Полезная шпаргалка по k8s с листингом метрик диска, джобов, сервисов и событий.
#kubernetes #шпаргалка
👣 helm-cel — плагин для валидации значений в Helm-чартах с помощью CEL
💡 helm-cel помогает валидировать значения(values.yaml) helm чартов через CEL(Common Expression Language) - язык для написания простых логических выражений), что дает более выразительную валидацию, возможность переиспользования правил, разные уровни строгости и четкие сообщения об ошибках, в отличие от стандартной
Пример правил:
❤️ Проект от подписчика, если хотите поделиться своим проектом - пишите сюда...
💡 helm-cel помогает валидировать значения(values.yaml) helm чартов через CEL(Common Expression Language) - язык для написания простых логических выражений), что дает более выразительную валидацию, возможность переиспользования правил, разные уровни строгости и четкие сообщения об ошибках, в отличие от стандартной
JSON Schema валидации (values.schema.json), которая более ограничена в возможностях написания сложных правил и переиспользования кода.Пример правил:
expressions:
portRange: 'values.service.port >= 1 && values.service.port <= 65535'
nodePortRange: 'values.service.nodePort >= 30000 && values.service.nodePort <= 32767'
rules:
- expr: "${portRange}"
desc: "Service port must be valid"
- expr: 'values.service.type == "NodePort" ? ${nodePortRange} : true'
desc: "NodePort must be valid when type is NodePort"
❤️ Проект от подписчика, если хотите поделиться своим проектом - пишите сюда...