DevOps
8.46K subscribers
1.47K photos
809 videos
28 files
1.74K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
Рабочие процессы Арго - паттерны, проверенные на продакшене

Argo Workflows представляет собой отличную платформу для автоматизации инфраструктуры и заменил Jenkins в качестве основного инструмента для выполнения запланированных или управляемых событиями задач автоматизации.

За время работы с Argo Workflows мне приходилось убивать кластеры, ломать рабочие процессы и вообще вносить беспорядок в работу. Я также создал множество рабочих процессов, которые нуждались в рефакторинге, поскольку их стало сложно поддерживать.

Цель этой статьи - поделиться некоторыми уроками, которые я извлек, и некоторыми паттернами, которые я разработал, чтобы помочь вам избежать тех же ошибок, которые совершил я.

https://hodgkins.io/argo-workflow-proven-patterns-from-production

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Who are you, Platform Engineering. Часть 3: знакомство с Dev Platform

Внутренние платформы разработки (Internal Development Platform, IDP), как один из артефактов реализации платформенного подхода (Platform Engineering), становятся важной точкой роста для многих компаний, занимающихся разработкой: помогают унифицировать стек, снизить нецелевую нагрузку на команды, сократить time-to-market. Поэтому многие компании начинают двигаться в сторону создания своих IDP.

Мы продолжаем серию статей о Platform Engineering и Internal Development Platform (IDP). В первом и втором материалах цикла мы уже рассмотрели базовую теорию, познакомились с типовой архитектурой IDP и вариантами реализации. А в этой статье остановимся на обзоре Dev Platform, разрабатываемой командой VK Cloud.

https://habr.com/ru/companies/vk/articles/827022/

#devops #девопс

Подпишись 👉@i_DevOps
2👍2
В чем разница между Registry и Repository?

Registry — это сервис хранения и распространения образов, также DockerHub — это Registry по умолчанию. Repository — это набор связанных образов. У них одно и то же имя, но разные метки.


Расскажите об образах Docker, DockerHub, Dockerfile

Образы: файлы, содержащие несколько слоев, используемые для выполнения кода внутри контейнера. Они собираются по инструкциям для получения исполняемой версии приложения. Образы могут ускорить сборку в Docker с помощью кэширования каждого этапа.

DockerHub: сервис для поиска и совместного использования образов контейнеров. Вы можете выгружать туда свои образы, скачивать их оттуда, работать с частными репозиториями образов контейнеров, собирать автоматически образы с помощью GitHub (Bitbucket), а затем закачивать их в DockerHub. Этот сервис предоставляет компания Docker.

Dockerfile: текстовый файл, используемый для сборки образа. Он содержит инструкции и команды по сборке образа. Docker читает их и автоматически собирает образ.

#devops #девопс

Подпишись 👉@i_DevOps
👍43
Вопросы с собеседования

df сообщает о наличии 20 Гб занятого пространства, подсчёт занятого файлами места при помощи du даёт результат в 20 Мб. При каких обстоятельствах может возникнуть описанная ситуация?

Когда файл удален т. к. файловый дескриптор «держит» его.

Ищем файл через:

lsof -a +L1 | grep var | grep httpd

При удалении файла, который в этот момент был «занят» процессом — его имя удаляется, но inode — остаётся в файловой системе до тех пор, пока не завершится процесс, который «держит» этот файл.

Соответственно, что бы «освободить» уже удалённые файлы — необходимо перезапустить процесс, который этот файл держит.

#devops #девопс

Подпишись 👉@i_DevOps
👍16
Топ-10 распространенных проблем с линтингом Dockerfile

Мы добавили возможность линтинга Docker-файлов по требованию в Depot. В этом посте мы рассмотрим 10 наиболее распространенных проблем с линтингом Dockerfile, которые мы наблюдали в Depot.

https://depot.dev/blog/dockerfile-linting-issues

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Обучение у команды Google SRE

Недавно команда Google Site Reliability Engineering опубликовала в своем блоге пост под названием «Уроки, извлеченные за двадцать лет работы над надежностью сайтов». В нем рассказывается об уроках, которые доказали свою ценность с течением времени и в условиях трудностей; они получены в результате инцидентов, затронувших некоторые из основных систем и продуктов Google, таких как Youtube и Google Calendar.

В этом блоге мы хотим рассказать о первых 5 уроках, которыми поделилась команда инженеров по надежности сайтов Google, и рассмотреть примеры их практического применения. Наша цель - показать, как вы можете применить эти уроки для обеспечения надежности и работоспособности ваших систем. Опираясь на реальные сценарии, мы надеемся обеспечить более глубокое понимание этих идей, что позволит вам усовершенствовать свои стратегии по поддержанию работоспособности систем и общей эффективности работы. Кроме того, мы стремимся преодолеть разрыв между теорией и практикой, способствуя более обоснованному подходу к решению проблем в мире SRE.

Часть 1 https://www.codereliant.io/20-sre-lessons-from-google-part1/
Часть 2 https://www.codereliant.io/learning-from-google-sre-team-part-2/

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Глубокое погружение в сетевые технологии Kubernetes

На вебинаре описывается сетевая модель Kubernetes (узлы, поды, сервисы), ее преобразование в сетевые конструкции Linux, интеграция с физической сетью и оркестровка виртуальных сетевых устройств, таких как маршрутизаторы, балансировщики нагрузки и NAT-шлюзы.

https://my.ipspace.net/bin/list?id=Kubernetes#INTRO

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Мониторинг черных ящиков и котов в мешке через eBPF

Привет! Меня зовут Петр Бобров, в QIWI я отвечаю за отказоустойчивость, расскажу немного историй про сторонних вендоров, у всех они разные. У нас есть карточный процессинг, потому что мы банк, у нас банковская лицензия, проводим много платежей. Еще можно черными ящиками считать и базы данных: кто знает, как там работает Oracle, кто знает, как работает Linux внутри? Думаю, очень немного людей разбирается в этом, как оно работает на низком уровне.

https://habr.com/ru/companies/qiwi/articles/738968/

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Kubernetes: контейнеры и «потерянные» сигналы SIGTERM

У нас есть API-сервис с Gunicorn в Kubernetes, который периодически возвращает 502, 503, 504 ошибки.

Я начал его отлаживать и обнаружил странную вещь: в логах не было сообщений о полученном SIGTERM, поэтому я сначала пошел разбираться с Kubernetes - почему он его не отправляет?

https://itnext.io/kubernetes-containers-and-the-lost-sigterm-signals-40007f35759a

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Использование брокера сообщений Apache Kafka в распределенных очередях

24 июля в 20:00 мск

Хотите узнать, как эффективно управлять сообщениями в масштабируемых распределенных системах? Тогда этот открытый вебинар для вас!

Мы разберем основы и архитектуру Apache Kafka, принципы работы с распределенными очередями, а также научимся настраивать и развертывать кластер Kafka в Docker. Вы увидите реальные примеры использования Kafka для обмена сообщениями между сервисами и узнаете о лучших практиках и рекомендациях по интеграции Kafka в ваши проекты.

💻 Урок будет полезен Fullstack и Backend-разработчикам, DevOps-инженерам, архитекторам ПО и администраторам систем, а также всем, кто хочет углубить свои знания об Apache Kafka и его применении.

🔴 Регистрация открыта: https://vk.cc/cyziEN

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
11 советов по повышению безопасности контейнеров 🔐

1 🔒 Используйте официальные образы

Для минимизации уязвимостей всегда используйте официальные, проверенные образы контейнеров из надежных источников. Проверяйте подписи образов, чтобы убедиться в их подлинности.

2 📦 Регулярно обновляйте образы

Поддерживайте образы контейнеров в актуальном состоянии с помощью последних исправлений и версий, чтобы устранить известные уязвимости. По возможности автоматизируйте обновления.

3 🔍 Сканирование образов на наличие уязвимостей

Используйте такие инструменты, как Clair, Trivy или Anchore, для проверки образов контейнеров на уязвимости перед развертыванием. Сделайте это частью вашего CI/CD pipeline.

4 📜 Следуйте принципу наименьших привилегий

Запускайте контейнеры с минимально необходимыми привилегиями. Избегайте запуска контейнеров от имени root и используйте пространства имен пользователей для разграничения привилегий.

5 🛠️ Используйте средства обеспечения безопасности на этапе выполнения

Используйте инструменты безопасности во время выполнения, такие как Falco или Sysdig Secure, для мониторинга и защиты запущенных контейнеров от угроз и аномалий.

6 🔐 Внедрите сегментацию сети

Изолируйте контейнерные сети, чтобы ограничить связь между контейнерами. Используйте инструменты вроде сетевых политик Kubernetes для обеспечения сегментации.

7 📋 Ограничение использования ресурсов

Ограничьте ресурсы (процессор, память), которые могут использовать контейнеры, чтобы предотвратить атаки на исчерпание ресурсов. Используйте квоты и лимиты ресурсов Kubernetes.

8 🛡️ Включение контекстов безопасности

Определите контексты безопасности в платформе оркестровки контейнеров для контроля доступа и разрешений. Используйте PodSecurityPolicies в Kubernetes.

9 🧩 Используйте решения для управления секретами

Безопасное управление и хранение конфиденциальных данных, таких как пароли и ключи API, с помощью таких инструментов, как HashiCorp Vault, AWS Secrets Manager или Kubernetes Secrets.

10 🌐 Регулярные аудиты и проверки на соответствие требованиям

Регулярно проводите аудиты безопасности и проверки на соответствие требованиям, чтобы обеспечить соблюдение политик и стандартов безопасности. Автоматизируйте аудиты с помощью таких инструментов, как kube-bench.

11 🔄 Постоянно обучайте свою команду

Постоянно информируйте свою команду о последних практиках и тенденциях в области безопасности. Регулярно проводите тренинги и делитесь ресурсами.

#devops #девопс #docker #containers #security

Подпишись 👉@i_DevOps
👍8🔥2
Практическое руководство по Kubernetes: Сетевая политика 🛠️

Сетевые политики Kubernetes представляют собой надежный механизм контроля взаимодействия между подами и другими конечными точками сети. Они необходимы для обеспечения безопасности ваших приложений путем определения правил, определяющих, как поды могут взаимодействовать друг с другом и другими сетевыми ресурсами. В этом практическом руководстве мы рассмотрим основы и продемонстрируем, как реализовать сетевые политики на практическом примере, включающем фронтенд и бэкенд-приложения.

https://medium.com/@muppedaanvesh/a-hands-on-guide-to-kubernetes-network-policy-%EF%B8%8F-041bebe19a23

#devops #девопс #docker #containers #security

Подпишись 👉@i_DevOps
👍5
Talos Linux & VirtualBox: готовим свой Kubernetes

Есть множество путей развернуть свой Kubernetes. Все они разные, выбор зависит от вашего бюджета, от того, какие задачи вы планируете решать, для каких нагрузок и что в конечном итоге вы планируете получить. В этой статье мы быстро пройдёмся по различным способам инсталляции, а затем попробуем развернуть свой K8s кластер на виртуальных машинах, воспользовавшись гипервизором второго типа (VirtualBox). Но это будет не условная Ubuntu, на которую мы будем ставить необходимые компоненты, а целая операционная система, разработанная специально для Kubernetes — Talos Linux!

https://habr.com/ru/articles/825682/

#devops #девопс #docker #containers #security

Подпишись 👉@i_DevOps
👍8
Высокотехнологичная компания-производитель IT-инфраструктуры YADRO в поиске опытных DevOps-специалистов:

1️⃣ Старший DevOps инженер
2️⃣ DevOps engineer (Senior, Lead)
3️⃣ Инженер технической поддержки
4️⃣ Инженер по резервному копированию

Ты сможешь присоединиться к специалистам с огромным опытом, профессиональными знаниями, открытостью взглядов и инновационными идеями, чтобы создавать технологические решения и раскрыть свой творческий потенциал.

А ещё у тебя будут:

– Гибридный или удалённый формат работы;
– Возможность гибкого начала и окончания рабочего дня;
– Конкурентный уровень заработной платы и премирование по результатам работы;
– Возможность горизонтального и вертикального роста;
– Обучение за счёт компании: учебный портал с курсами и лекциями от экспертов, дополнительное профессиональное обучение, изучение английского, участие в конференциях;
– Личное участие в становлении процессов и продуктов, возможность увидеть результат своей работы;
– Большое инженерное сообщество, которое постоянно развивается;
– ДМС со стоматологией с первого дня, консультации юристов, психологов, экспертов по ЗОЖ и управлению финансами;
– Программа поддержки инноваций;
– Скидки для сотрудников, дополнительные day-off;
– Комфортные офисы в Москве, Санкт-Петербурге, Нижнем Новгороде и Минске.

Откликайся по ссылкам и стань частью YADRO!
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Xeol

Cканер образов контейнеров, SBOM и файловых систем на проверку пакетов на end-of-life (EOL)

https://github.com/xeol-io/xeol

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Media is too big
VIEW IN TELEGRAM
Diun. Система оповещения о новых Docker контейнерах.

Diun следит за установленными контейнерами и сравнивает их версии с версиями на репозиториях.

00:00 | Intro
00:16 | Проблема обновления docker
00:36 | Diun
00:53 | Сравнение с Watchtower. Основные функции
01:27 | Особенности обновления с Watchtower
03:02 | Проблема с образами image в Watchtower
04:21 | Diun обзор
04:56 | Diun системы уведомлений и провайдеры
06:15 | Diun. docker compose. Установка
08:21 | Расширенные параметры. Настройка diun.
11:00 | Запуск diun. Тест
12:03 | Crontab.guru - сервис настройски времени crontab (Scheduler)
12:30 | Тест diun. Уповещения в логе
13:34 | Настройка уведомлений в diun. Подключение к gotify
16:27 | Как обновить docker контейнер вручную.
17:13 | Преимущество diun уведомлений
18:12 | Gotify установка. docker compose.
18:34 | Спасибо

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Media is too big
VIEW IN TELEGRAM
Sealos

Облачная операционная система, предназначенная для управления облачными приложениями.
Это готовый к продакшену дистрибутив Kubernetes, который представляет собой универсальное решение для публичных и частных облаков.

https://github.com/labring/sealos

#devops #девопс

Подпишись 👉@i_DevOps
👍10
Tyk Gateway

Это современный, сверхпроизводительный, специально разработанный API-шлюз с открытым исходным кодом.

Tyk Operator предоставляет возможности полного жизненного цикла управления API в Kubernetes. Вы можете настраивать Ingress, API, политики безопасности, аутентификацию, авторизацию, посредничество, используя лучшие практики GitOps с помощью пользовательских ресурсов и примитивов, присущих Kubernetes.

https://github.com/TykTechnologies/tyk-operator

#devops #девопс

Подпишись 👉@i_DevOps
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Checkov

Предотвратите неправильную конфигурацию облака и найдите уязвимости во время сборки в инфраструктуре как коде, образах контейнеров и пакетах с открытым исходным кодом с помощью Checkov от Bridgecrew.

https://github.com/bridgecrewio/checkov

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Расскажите о ключевом различии между виртуализацией и контейнеризацией

Виртуализация позволяет запустить несколько операционных систем на одном физическом сервере. Контейнеризация работает на одной и той же операционной системе, в которой приложения упакованы в контейнеры и запускаются на одном сервере/виртуальной машине.

Где хранятся тома Docker?

Тома, создаваемые и управляемые Docker (у не-Docker процессов к ним нет доступа), хранятся в файловой системе сервера Docker по пути /var/lib/docker/volumes/. Тома — наиболее эффективный способ сохранения данных в Docker.

Расскажите кратко о жизненном цикле контейнера Docker

Жизненный цикл контейнера:
Создание контейнера
Работа контейнера
Приостановка контейнера
Возобновление работы контейнера
Запуск контейнера
Остановка контейнера
Перезапуск контейнера
Принудительная остановка контейнера
Удаление контейнера

#devops #девопс

Подпишись 👉@i_DevOps
👍7