DevOps
8.47K subscribers
1.46K photos
812 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
Контейнеризация

От Docker до Kubernetes: историческая ретроспектива
Введение в Docker
Введение в Kubernetes. Часть 1. Установка кластера
Введение в Kubernetes. Часть 2. Поды и сервисы
Введение в Kubernetes. Часть 3. Горизонтальное маштабирование.
Введение в Kubernetes. Часть 4. Отказоустойчивость для клиентов
Введение в Kubernetes. Часть 5. Интеграция с NFS
Что такое операторы в Kubernetes?

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Расскажите, как вы будете запускать приложение в Kubernetes, если из инструментов у вас только kubectl?

Общий процесс запуска приложения в Kubernetes выглядит следующим образом:

1. Сначала необходимо упаковать приложение в контейнер.
2. Далее запускаем контейнер в виде реплик с использованием Deployment.
3. Для доступности приложения в интернете и возможности подключения к нему настраиваем сервис LoadBalancer, который присваивает публичный IP-адрес и позволяет подключаться к кластеру извне.
4. Для маршрутизации трафика через балансировщик создаем Ingress в кластере, описывающий правила маршрутизации, и запускаем Ingress-контроллер.

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

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


Terraform Backend. Какой лучше?

AWS S3 — Standard (с блокировкой через DynamoDB). Сохраняет состояние в виде заданного ключа в заданном сегменте на Amazon S3. Этот бэкэнд также поддерживает блокировку состояния и проверку согласованности через DynamoDB.

terraform enterprise — Standard (без блокировки).

etcd — Standard (без блокировки). Сохраняет состояние в etcd 2.x по заданному пути.

etcdv3 — Standard (с блокировкой). Сохраняет состояние в хранилище etcd в виде K/V с заданным префиксом.

gcs — Standard (с блокировкой). Сохраняет состояние как объект в настраиваемом префиксе в заданном сегменте в Google Cloud Storage (GCS). Этот бэкэнд также поддерживает блокировку состояния.

Gitlab Terraform state (с блокировкой). Хранит состояние в Gitlab Terraform state хранилище, используя HTTP протокол и права Gitlab для доступа.

Существуют также и другие Backend для Terraform.

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Who are you, Platform Engineering: разбираемся с одним из главных технологических трендов. Часть 1

Platform Engineering — один из главных технологических трендов 2024 года. По оценке Gartner, к 2026 году 80% компаний, занимающихся разработкой, будут иметь внутренние платформенные сервисы и команды для повышения эффективности разработки.

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

В первом материале серии начнем с базы — остановимся на трудностях повышения эффективности команд разработки, разберем, что такое Platform Engineering и Internal Development Platform, что дает внедрение комплексных платформ и какие могут быть сложности.

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

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Who are you, Platform Engineering. Часть 2: типовая архитектура, варианты и примеры реализации IDP

В докладе Gartner методология Platform Engineering определена в качестве одного из стратегических технологических трендов на 2024 год, что свидетельствует о дальнейшем эволюционном развитии подходов DevOps. Несмотря на это, для многих компаний Platform Engineering и Internal Development Platform (IDP) как один из примеров реализации прохода до сих остается «черным ящиком».

Мы в VK Cloud создаем Dev Platform — платформу разработки, которую могут использовать другие компании. В рамках серии статей мы рассказываем о методологии Platform Engineering и подходах к созданию платформ. В первом материале мы рассказали о том, зачем строить IDP, а в этом перейдем от базовой теории к более прикладным вещам и разберем типовую архитектуру IDP: из чего она состоит и как ее компоненты взаимодействуют между собой. Также рассмотрим, какие продукты могут выступить основой для построения IDP.

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

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Рабочие процессы Арго - паттерны, проверенные на продакшене

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