10 задач для инженеров DevOps, когда нечего делать
Это хорошо, если у вас закончились задачи DevOps. Это означает, что все основные корректировки позади для вас и вашей команды. Но она легко превращается в страшную проблему, которая может привести к деградации навыков и выгоранию. Прочитайте эту статью, если вы чувствуете себя потерянным, не зная, что делать и как оставаться проактивным ради вашего душевного благополучия и ваших коллег по команде.
#devops #девопс
Подпишись 👉@i_DevOps
Это хорошо, если у вас закончились задачи DevOps. Это означает, что все основные корректировки позади для вас и вашей команды. Но она легко превращается в страшную проблему, которая может привести к деградации навыков и выгоранию. Прочитайте эту статью, если вы чувствуете себя потерянным, не зная, что делать и как оставаться проактивным ради вашего душевного благополучия и ваших коллег по команде.
#devops #девопс
Подпишись 👉@i_DevOps
👍3
Реальное собеседования DevOps инженер Junior++
Недавно мне знакомый прислал свое DevOps собеседование. Он DevOps инженер уровня Junior++. Опыт работы больше года. До этого работал сисадмином 2 года. Пришлось изменить голоса и убрать видео чтобы участников собеседования никто не узнал. А так же не узнал в какую компанию собеседовался Девопс инженер.
https://www.youtube.com/watch?v=oUeOLfwfQOU
#devops #девопс
Подпишись 👉@i_DevOps
Недавно мне знакомый прислал свое DevOps собеседование. Он DevOps инженер уровня Junior++. Опыт работы больше года. До этого работал сисадмином 2 года. Пришлось изменить голоса и убрать видео чтобы участников собеседования никто не узнал. А так же не узнал в какую компанию собеседовался Девопс инженер.
https://www.youtube.com/watch?v=oUeOLfwfQOU
#devops #девопс
Подпишись 👉@i_DevOps
YouTube
Реальное собеседования DevOps инженер Junior++
Недавно мне знакомый прислал свое DevOps собеседование. Он DevOps инженер уровня Junior++. Опыт работы больше года. До этого работал сисадмином 2 года. Пришлось изменить голоса и убрать видео чтобы участников собеседования никто не узнал. А так же не узнал…
👍2
Настройка LDAP-аутентификации в кластере Kubernetes под управлением Deckhouse
Deckhouse — Kubernetes-платформа с открытым кодом, с помощью которой можно создавать идентичные Kubernetes-кластеры в любой инфраструктуре и автоматически управлять ими. Для проверки подлинности в Deckhouse используется модуль user-authn. Он настраивает единую систему аутентификации, интегрированную с Kubernetes и веб-интерфейсами других модулей — например, с Grafana.
user-authn поддерживает несколько внешних провайдеров и протоколов аутентификации: GitHub, GitLab, Bitbucket Cloud, Crowd, LDAP и OIDC. В статье расскажу, как развернуть сервер LDAP и настроить через него доступ к приложению.
#devops #девопс
Подпишись 👉@i_DevOps
Deckhouse — Kubernetes-платформа с открытым кодом, с помощью которой можно создавать идентичные Kubernetes-кластеры в любой инфраструктуре и автоматически управлять ими. Для проверки подлинности в Deckhouse используется модуль user-authn. Он настраивает единую систему аутентификации, интегрированную с Kubernetes и веб-интерфейсами других модулей — например, с Grafana.
user-authn поддерживает несколько внешних провайдеров и протоколов аутентификации: GitHub, GitLab, Bitbucket Cloud, Crowd, LDAP и OIDC. В статье расскажу, как развернуть сервер LDAP и настроить через него доступ к приложению.
#devops #девопс
Подпишись 👉@i_DevOps
👍2🤔1
Docker + Ansible - с нуля, деплой и управление Swarm
Полный курс для тех, кто хочет стать DevOps специалистом по устройству Docker и работе с Ansible от Антона Ларичева. Средний рейтинг ⭐ 4.8 на всех платформах. В программе 15 часов лекций, 19 тестовых заданий и упражнений.
Детально разбираются такие технологии, как Docker, Docker Compose, Docker Swarm и Ansible. При этом курс содержит не только базу для новичков, но и более сложные темы, к примеру отладку и асинхронные задачи в Ansible или управление кластером при помощи модулей Docker. Есть возможность как самостоятельного прохождения, так и с наставником.
Цена от 1 790 ₽, а для вас промокод JANUARY на скидку 5%👇
🔗 Docker + Ansible - с нуля, деплой и управление Swarm
Полный курс для тех, кто хочет стать DevOps специалистом по устройству Docker и работе с Ansible от Антона Ларичева. Средний рейтинг ⭐ 4.8 на всех платформах. В программе 15 часов лекций, 19 тестовых заданий и упражнений.
Детально разбираются такие технологии, как Docker, Docker Compose, Docker Swarm и Ansible. При этом курс содержит не только базу для новичков, но и более сложные темы, к примеру отладку и асинхронные задачи в Ansible или управление кластером при помощи модулей Docker. Есть возможность как самостоятельного прохождения, так и с наставником.
Цена от 1 790 ₽, а для вас промокод JANUARY на скидку 5%👇
🔗 Docker + Ansible - с нуля, деплой и управление Swarm
👍3❤1
Что такое MLOps? Самый подробный текст про работу с ML-системами, который вы найдете в интернете
В этом материале мы подробно разбираем концепцию MLOps. Более того, делаем это тремя способами. Сначала теоретически — через самую толковую, на наш взгляд, схему MLOps. Затем — концептуально, через артефакты, которые заложены в подходе. И наконец, через понимание MLOps как информационной системы.
Сохраняйте текст в закладки, потому что на данный момент это, возможно, самое полное описание MLOps на русском языке (и не перевод очередной англоязычной статьи!).
https://habr.com/ru/company/selectel/blog/703460/
#devops #девопс
Подпишись 👉@i_DevOps
В этом материале мы подробно разбираем концепцию MLOps. Более того, делаем это тремя способами. Сначала теоретически — через самую толковую, на наш взгляд, схему MLOps. Затем — концептуально, через артефакты, которые заложены в подходе. И наконец, через понимание MLOps как информационной системы.
Сохраняйте текст в закладки, потому что на данный момент это, возможно, самое полное описание MLOps на русском языке (и не перевод очередной англоязычной статьи!).
https://habr.com/ru/company/selectel/blog/703460/
#devops #девопс
Подпишись 👉@i_DevOps
👍3🤩2
How we diagnosed and resolved Redis latency spikes with BPF and other tools
https://about.gitlab.com/blog/2022/11/28/how-we-diagnosed-and-resolved-redis-latency-spikes/
#devops #девопс
Подпишись 👉@i_DevOps
https://about.gitlab.com/blog/2022/11/28/how-we-diagnosed-and-resolved-redis-latency-spikes/
#devops #девопс
Подпишись 👉@i_DevOps
13 распространенных задач в Kubernetes и способы их решения
Занимательная статья от команды VK Cloud, которая рассказывает о задачах в Kubernetes, с которыми часто сталкиваются инженеры-разработчики при запуске новых масштабируемых отказоустойчивых веб-сервисов. Здесь вы найдете не только их описание, но и подробное руководство к действию и несколько полезных советов.
#devops #девопс
Подпишись 👉@i_DevOps
Занимательная статья от команды VK Cloud, которая рассказывает о задачах в Kubernetes, с которыми часто сталкиваются инженеры-разработчики при запуске новых масштабируемых отказоустойчивых веб-сервисов. Здесь вы найдете не только их описание, но и подробное руководство к действию и несколько полезных советов.
#devops #девопс
Подпишись 👉@i_DevOps
👍5
5 приемов оптимизации сборки Docker-образов
Прием 1 — уменьшаем количество слоев в образе
Уменьшить количество слоев в образе можно сворачиванием нескольких однородных инструкций в одну. Например, несколько логически связанных инструкций RUN можно объединить в одну инструкцию с помощью конвейера Linux:
Прием 2 — удаляем ненужный кэш apt-get
Пакетный менеджер apt-get, обновляя репозиторий, сохраняет кэш, который в большинстве случаев не нужен, и его можно удалить, уменьшив тем самым собираемый образ на 100+ Мбайт. Сделать это совсем несложно, достаточно в инструкции RUN последней командой указать: && rm -f /var/lib/apt/lists/*.
Соединим оба приёма в одну инструкцию:
Такая конструкция работает именно в одной инструкции RUN, если вы вынесете rm -f /var/lib/apt/lists/* в отдельный RUN — ничего не сработает, так как кеш будет очищаться в другом слое, а его обновление будет оставаться в предыдущем слое.
Прием 3 — копируем только нужные файлы проекта в образ с помощью .dockerignore-файла
Обычно для копирования проекта в образ используется инструкция COPY с указанием места расположения проекта, как «.», что указывает на текущею директорию. Такой подход имеет один недостаток — будут скопированы все вложенные подкаталоги и файлы, что может значительно увеличить размер образа.
Исправить ситуацию призван .dockerignore-файл, который работает так же как и .gitignore-файл. В этих файлах указываются те папки и файлы, которые «не надо трогать». Gitignore-файл располагается в корневом каталоге копируемого в образ проекта. Обратите внимание на точку в начале названия файла — «.gitignore», так и должно быть.
Рассмотрим пример работы .gitignore-файла. Например, мы работаем с GIT, и в нашем проекте есть GIT-репозиторий. В образе он нам не нужен, поэтому его можно не копировать, а ещё в образе нам не нужен Dockerfile. Укажем эти файлы в .gitignore-файле:
При сборке образа Docker прочтет .dockerignore-файл и не включит в образ указанные в нем папки и файлы.
Приём 4 — используем минималистические Linux-образа Alpine
Как правило, для сборки образов применяются дистрибутивы Debian, Ubuntu, CentOS. Но это оправдано в том случае, если ваш проект будет использовать всё обилие возможностей ядра и пакетов, которые предоставляет выбранный дистрибутив. Если же вам нужно просто создать контейнер с Nginx или иной другой программой — используйте Alpine-сборки.
Alpine-образ весит считанные мегабайты, а не сотни Мбайт как Debian или Ubuntu, при этом в нём есть всё необходимое для запуска большинства приложений. Например, так выглядит dockerfile Nginx-образа на Alpine-сборке, который занимает 7 Мбайт:
Еще один бесспорный плюс Alpine — скорость сборки образа. Она разительно отличается в лучшую сторону по сравнению со скоростью сборки на любом другом дистрибутиве Linux.
Прием 5 — часто изменяемые слои ставим в конец dockerfile
Слоистая структура Docker-образов имеет одно неприятное свойство — при внесении изменения в один из слоев, это слой и все последующие слои будут пересобраны. Поэтому, чтобы сэкономить время на сборке образа — старайтесь ставить инструкции копирования кода проекта и конфигов в конец dockerfile до команды CMD или ENTRYPOINT.
#devops #девопс
Подпишись 👉@i_DevOps
Прием 1 — уменьшаем количество слоев в образе
Уменьшить количество слоев в образе можно сворачиванием нескольких однородных инструкций в одну. Например, несколько логически связанных инструкций RUN можно объединить в одну инструкцию с помощью конвейера Linux:
RUN apt-get update && apt-get install -y nginxПрием 2 — удаляем ненужный кэш apt-get
Пакетный менеджер apt-get, обновляя репозиторий, сохраняет кэш, который в большинстве случаев не нужен, и его можно удалить, уменьшив тем самым собираемый образ на 100+ Мбайт. Сделать это совсем несложно, достаточно в инструкции RUN последней командой указать: && rm -f /var/lib/apt/lists/*.
Соединим оба приёма в одну инструкцию:
RUN apt-get update && apt-get install -y nginx && rm -f /var/lib/apt/lists/*Такая конструкция работает именно в одной инструкции RUN, если вы вынесете rm -f /var/lib/apt/lists/* в отдельный RUN — ничего не сработает, так как кеш будет очищаться в другом слое, а его обновление будет оставаться в предыдущем слое.
Прием 3 — копируем только нужные файлы проекта в образ с помощью .dockerignore-файла
Обычно для копирования проекта в образ используется инструкция COPY с указанием места расположения проекта, как «.», что указывает на текущею директорию. Такой подход имеет один недостаток — будут скопированы все вложенные подкаталоги и файлы, что может значительно увеличить размер образа.
Исправить ситуацию призван .dockerignore-файл, который работает так же как и .gitignore-файл. В этих файлах указываются те папки и файлы, которые «не надо трогать». Gitignore-файл располагается в корневом каталоге копируемого в образ проекта. Обратите внимание на точку в начале названия файла — «.gitignore», так и должно быть.
Рассмотрим пример работы .gitignore-файла. Например, мы работаем с GIT, и в нашем проекте есть GIT-репозиторий. В образе он нам не нужен, поэтому его можно не копировать, а ещё в образе нам не нужен Dockerfile. Укажем эти файлы в .gitignore-файле:
.GIT
DockerfileПри сборке образа Docker прочтет .dockerignore-файл и не включит в образ указанные в нем папки и файлы.
Приём 4 — используем минималистические Linux-образа Alpine
Как правило, для сборки образов применяются дистрибутивы Debian, Ubuntu, CentOS. Но это оправдано в том случае, если ваш проект будет использовать всё обилие возможностей ядра и пакетов, которые предоставляет выбранный дистрибутив. Если же вам нужно просто создать контейнер с Nginx или иной другой программой — используйте Alpine-сборки.
Alpine-образ весит считанные мегабайты, а не сотни Мбайт как Debian или Ubuntu, при этом в нём есть всё необходимое для запуска большинства приложений. Например, так выглядит dockerfile Nginx-образа на Alpine-сборке, который занимает 7 Мбайт:
FROM alpine
RUN apk add --no-cache nginx && mkdir -p /run/nginx
EXPOSE 80
COPY custom.conf /etc/nginx/conf.d
dockerCOPY . /opt/
CMD ["nginx”,”-g”,”daemon off;”]Еще один бесспорный плюс Alpine — скорость сборки образа. Она разительно отличается в лучшую сторону по сравнению со скоростью сборки на любом другом дистрибутиве Linux.
Прием 5 — часто изменяемые слои ставим в конец dockerfile
Слоистая структура Docker-образов имеет одно неприятное свойство — при внесении изменения в один из слоев, это слой и все последующие слои будут пересобраны. Поэтому, чтобы сэкономить время на сборке образа — старайтесь ставить инструкции копирования кода проекта и конфигов в конец dockerfile до команды CMD или ENTRYPOINT.
#devops #девопс
Подпишись 👉@i_DevOps
👍15🔥3❤1
Двадцать бабушек – уже рубль. Как GraalVM Native Image позволяет экономить джавистам и девопсам деньги на облако
https://habr.com/ru/company/bar/blog/704494/
#devops #девопс
Подпишись 👉@i_DevOps
https://habr.com/ru/company/bar/blog/704494/
#devops #девопс
Подпишись 👉@i_DevOps
DevSecOps
DevSecOps. Общее погружение
DevOps на пальцах
SecOps. Защита кластера
DevSec. Встраивание ИБ в конвейер разработки
DevSecOps. Process edition
Что такое Audit Policy? Вебинар из цикла DevSecOps 2-й сезон
Зачем GitOps в Enterprise? Вебинар из цикла DevSecOps 2-й сезон
Управление секретами: основы
Persistent данные и резервное копирование в кластере
8 Bad Pods: атаки на Kubernetes
Kubernetes в Enterprise: VMware Tanzu
Kubernetes в Enterprise. Обзор, проблематика, решения
DevOps – начало работы в кластере Kubernetes
DevOps в Enterprise. Tech Talks Юрий Семенюков на High Load ++ 2021
Как пережить сертификацию по Kubernetes. Личный опыт
Все видео доступны на youtube
#devops #девопс
Подпишись 👉@i_DevOps
DevSecOps. Общее погружение
DevOps на пальцах
SecOps. Защита кластера
DevSec. Встраивание ИБ в конвейер разработки
DevSecOps. Process edition
Что такое Audit Policy? Вебинар из цикла DevSecOps 2-й сезон
Зачем GitOps в Enterprise? Вебинар из цикла DevSecOps 2-й сезон
Управление секретами: основы
Persistent данные и резервное копирование в кластере
8 Bad Pods: атаки на Kubernetes
Kubernetes в Enterprise: VMware Tanzu
Kubernetes в Enterprise. Обзор, проблематика, решения
DevOps – начало работы в кластере Kubernetes
DevOps в Enterprise. Tech Talks Юрий Семенюков на High Load ++ 2021
Как пережить сертификацию по Kubernetes. Личный опыт
Все видео доступны на youtube
#devops #девопс
Подпишись 👉@i_DevOps
👍9
❓Хотите узнать о новой платформе для контейнерной оркестрации?
2 февраля подключайтесь к вебинару о «Штурвале» — российской enterprise-платформе по управлению кластерами Kubernetes.
👉На вебинаре вы узнаете:
▪️об архитектуре решения и ее ключевых компонентах
▪️о функционале «из коробки» и преимуществах использования для инженера эксплуатации и ИБ
▪️о сервисной поддержке и политике лицензирования
‼️ И, конечно, вы увидите live-demo решения.
Подробности и регистрация здесь
2 февраля подключайтесь к вебинару о «Штурвале» — российской enterprise-платформе по управлению кластерами Kubernetes.
👉На вебинаре вы узнаете:
▪️об архитектуре решения и ее ключевых компонентах
▪️о функционале «из коробки» и преимуществах использования для инженера эксплуатации и ИБ
▪️о сервисной поддержке и политике лицензирования
‼️ И, конечно, вы увидите live-demo решения.
Подробности и регистрация здесь
Update Istio the GitOps way
https://medium.com/blablacar/update-istio-the-gitops-way-15d74204fa05
#devops #девопс
Подпишись 👉@i_DevOps
https://medium.com/blablacar/update-istio-the-gitops-way-15d74204fa05
#devops #девопс
Подпишись 👉@i_DevOps
Мониторинг контейнеров Docker с помощью Zabbix
https://blog.zabbix.com/docker-container-monitoring-with-zabbix/20175/
👉 @i_devops
https://blog.zabbix.com/docker-container-monitoring-with-zabbix/20175/
👉 @i_devops
👍2😁1
Инженерия данных != инженерия ПО
В последние годы мы видим, как инженерия данных всё больше сливается с индустрией DevOps. В обоих этих направлениях для доставки надёжных цифровых продуктов клиентам используется облачная инфраструктура, контейнеризация, CI/CD и GitOps. Это схождение в плане использования одного набора инструментов заставило многих думать, что инженерия данных не имеет значительных отличий от инженерии программного обеспечения. Как следствие, первая оказывается «несовершенной», поскольку дата-инженеры отстают с внедрением эффективных практик разработки ПО.
Rus https://habr.com/ru/company/ruvds/blog/701366/
Eng https://betterprogramming.pub/data-engineering-is-not-software-engineering-af81eb8d3949
#devops #девопс
Подпишись 👉@i_DevOps
В последние годы мы видим, как инженерия данных всё больше сливается с индустрией DevOps. В обоих этих направлениях для доставки надёжных цифровых продуктов клиентам используется облачная инфраструктура, контейнеризация, CI/CD и GitOps. Это схождение в плане использования одного набора инструментов заставило многих думать, что инженерия данных не имеет значительных отличий от инженерии программного обеспечения. Как следствие, первая оказывается «несовершенной», поскольку дата-инженеры отстают с внедрением эффективных практик разработки ПО.
Rus https://habr.com/ru/company/ruvds/blog/701366/
Eng https://betterprogramming.pub/data-engineering-is-not-software-engineering-af81eb8d3949
#devops #девопс
Подпишись 👉@i_DevOps
👍2
Solving a Murder Mystery
https://www.honeycomb.io/blog/solving-murder-mystery-columnar-datastore
#devops #девопс
Подпишись 👉@i_DevOps
https://www.honeycomb.io/blog/solving-murder-mystery-columnar-datastore
#devops #девопс
Подпишись 👉@i_DevOps
This media is not supported in your browser
VIEW IN TELEGRAM
KubeStalk обнаруживает Kubernetes и связанную с ним инфраструктуру на основе поверхности атаки с точки зрения "черного ящика".
Установка
KubeStalk написан на языке Python и требует наличия библиотеки requests.
Чтобы установить инструмент, вы можете клонировать репозиторий в любую директорию:
https://github.com/redhuntlabs/KubeStalk
#devops #девопс
Подпишись 👉@i_DevOps
Установка
KubeStalk написан на языке Python и требует наличия библиотеки requests.
Чтобы установить инструмент, вы можете клонировать репозиторий в любую директорию:
git clone https://github.com/redhuntlabs/kubestalkhttps://github.com/redhuntlabs/KubeStalk
#devops #девопс
Подпишись 👉@i_DevOps