DevOps
Открыть в Telegram
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Больше8 759
Подписчики
-224 часа
-307 дней
+830 день
Архив постов
8 759
5 вариантов генерации конфигурационных файлов Shell-скриптами
Подготовка конфигурационных файлов из шаблонов — весьма распространённая задача системного администрирования. Решать её можно разными способами, каждый из которых хорош по-своему, здесь же мы рассмотрим, как это сделать с помощью Shell-скриптов.
https://habr.com/ru/companies/ruvds/articles/843048/
#devops #девопс
Подпишись 👉@i_DevOps
8 759
8 759
Kargo
Это платформа следующего поколения для организации непрерывной доставки и оркестрации жизненного цикла приложений для Kubernetes. Она основывается на принципах GitOps и интегрируется с существующими технологиями, такими как Argo CD, чтобы упростить и автоматизировать поэтапный выпуск изменений на различных этапах жизненного цикла приложения.
https://github.com/akuity/kargo
#devops #девопс
Подпишись 👉@i_DevOps
8 759
⁉️Хотите повысить свою квалификацию и стать дата-инженером?
Инвестируйте в успех своей карьеры прямо сейчас начав обучение на курсе «Data Engineer» от OTUS.
После обучения вы сможете:
✔️ Разворачивать, налаживать и оптимизировать инструменты обработки данных
✔️ Адаптировать датасеты для дальнейшей работы и аналитики
✔️ Создадите сервисы, которые используют результаты обработки больших объемов данных
✔️ Принимать участие в разработке архитектуры данных в компании
➡️ Пройдите короткий тест прямо сейчас, чтобы получить специальную цену на обучение: https://vk.cc/cDb7iO
🎁 А еще приятный бонус: до конца октября действует скидка 10% на обучение.
Реклама. ООО «Отус онлайн-образование», ОГРН 11777466185768 759
Brain board
Визуальный редактор для terraform.
Создавайте свою облачную инфраструктуру без особых усилий с помощью вебморды
https://www.brainboard.co/
#devops #девопс
8 759
Полный рабочий процесс CI/CD с Skaffold для вашего приложения
Современный способ построения полного рабочего процесса от локального до продакшена с помощью Skaffold и Gitlab на кластере Kubernetes для снижения когнитивной нагрузки и операционной сложности в стеках приложений.
(Часть I)
https://blog.equationlabs.io/cicd-workflow-with-skaffold-for-your-application-part-i
(Часть II)
https://blog.equationlabs.io/how-to-build-a-cicd-workflow-with-skaffold-for-your-application-part-ii
(Часть III)
https://blog.equationlabs.io/how-to-build-a-cicd-workflow-with-skaffold-for-your-application-part-iii
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Расширить свой стек – легко! ⚡️
Приглашаем инженеров на обучение: Ansible, Golang, CI/CD с Jenkins, Grafana, Keycloak, SRE и еще более 10 востребованных направлений ждут вас в формате видеокурсов в учебном центре Слёрм.
Учёба в Слёрм – это:
✔️ старт в любое время: вы не привязаны к расписанию и проходите курс в комфортном для вас темпе;
✔️ фокус на практику: она занимает около 80% обучения;
✔️ гибкие условия оплаты: рассрочка, налоговый вычет, оплата зарубежной картой и даже оформление оплаты от работодателя;
✔️ передача знаний от ведущих экспертов современн
ого IT рынка.
Цените свое время и приходите осваивать best practices и прокачивать свои навыки вместе с нами!
Подробнее — на сайте 😉
Реклама ООО «Слёрм» ИНН 3652901451
8 759
Технологический стек Netflix - CI/CD Pipeline
Эта статья основана на материалах многих инженерных блогов Netflix и проектов с открытым исходным кодом.
Планирование: Netflix Engineering использует JIRA для планирования и Confluence для документирования.
Код: Java - основной язык программирования для сервисов бэкенда, другие языки используются для различных задач.
Сборка: Для сборки в основном используется Gradle, а для поддержки различных вариантов использования создаются плагины Gradle.
Упаковка: Пакет и зависимости упаковываются в машинный образ Amazon (AMI) для выпуска.
Тестирование: Тестирование подчеркивает ориентацию продакшен-культуры на создание хаос-инструментов.
Развертывание: Для развертывания Netflix использует самостоятельно созданный Spinnaker.
Мониторинг: Метрики мониторинга централизованы в Atlas, а для выявления аномалий используется Kayenta.
Отчет об инцидентах: Инциденты рассылаются в соответствии с приоритетом, а для их обработки используется PagerDuty.
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Устранение проблем с отсутствующими логами Kubernetes в Elasticsearch
Отсутствующие логи могут стать настоящей проблемой для многих пользователей Kubernetes. В этой статье мы разберемся, почему это происходит, и как этого избежать.
Я исследовал случай отсутствующих логов Kubernetes в Elasticsearch, который в моем случае агрегирует логи для подов Kubernetes. У меня стандартная настройка Elasticsearch и Fluentd, и время от времени в Elasticsearch появляется пропуск, когда в течение нескольких секунд нет логов.
https://povilasv.me/troubleshooting-missing-kubernetes-logs-in-elasticsearch/
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Ищешь работу DevOps/SRE, но получаешь отказы? Хочешь скорее добиться повышения грейда или з/п?
Помогу прокачать скиллы, расширить стек и получить оффер на 200+ тысяч 🔥
Меня зовут Антон. Я опытный DevOps-инженер, TeamLead SRE и ментор.
Помогу:
⚡️ получить необходимые навыки DevOps/SRE и найти первую работу уже через 3,5 месяца
⚡️ расширить стек и перейти с Junior на Middle/Senior DevOps, TeamLead SRE позицию
⚡️ составить сильное резюме, чтобы HR писали первыми
⚡️ пройти собеседование в компанию мечты
Мои ученики получают 250 000–400 000₽ на руки на рынках РФ, РБ и $3 000–9 000 на руки на валютных удалёнках Польши, ОАЭ и др.
Узнать подробности и почитать отзывы учеников можно здесь
Или пиши сразу мне @sandoromarini
Отвечу на все вопросы 🤝
Реклама. Калабин А.В. ИНН 781632832809.erid: LjN8KVzKw
8 759
Топ 4 лучших типа сервисов Kubernetes в одной диаграмме.
🔹 ClusterIP
ClusterIP - это стандартный и наиболее распространенный тип службы. Kubernetes назначает сервису ClusterIP внутренний IP-адрес кластера. Это делает службу доступной только в пределах кластера.
🔹 NodePort
Это позволяет вывести сервис за пределы кластера, добавив общекластерный порт поверх ClusterIP. Мы можем запросить сервис по NodeIP:NodePort.
🔹 LoadBalancer
Этот способ раскрывает сервис извне, используя балансировщик нагрузки облачного провайдера.
🔹 ExternalName
Сопоставляет службу с доменным именем. Обычно это используется для создания службы в Kubernetes для представления внешней базы данных.
#devops #девопс
Подпишись 👉@i_DevOps
8 759
РЕД ОС подходит для использования в гос. учреждениях, объектах КИ. Она востребована везде, где важен вопрос безопасности и санкционная устойчивость.
30 октября узнайте все о работе с дисками в РЕД ОС! Вместе с Никитой Климовым разберемся в темах:
- Современная адресация дисков: Поймете, как эффективно управлять дисковым пространством.
- Логические диски и их применение: Узнаете, где и как использовать логические диски для оптимизации работы.
- Инструменты ОС для работы с дисками: Освоите полезные утилиты, такие как fdisk и lsblk.
Используйте время с пользой, чтобы:
1️⃣ Получить практические знания, задать вопросы и получить конкретные решения для своих задач.
2️⃣ Оценить все возможности РЕД ОС и ее мощные инструменты.
✔️Запишитесь сейчас и поднимите свой уровень администрирования: https://clck.ru/3DzCzi/?erid=2VtzquZvpnf
8 759
Как определить состояние контейнера Docker?
1. Проверить статус всех контейнеров:
docker ps -a
Эта команда выводит список всех контейнеров, их идентификаторы, имена, статус и время работы. В колонке "STATUS" можно увидеть текущее состояние контейнера, например:
- Up X hours — контейнер работает.
- Exited (code) — контейнер завершил работу с определённым кодом выхода.
2. Проверить состояние конкретного контейнера:
Используйте команду docker inspect, чтобы получить подробную информацию о состоянии контейнера:
docker inspect <container_id>
Эта команда выводит всю информацию о контейнере, включая статус, ошибки, время работы и другие параметры. Для удобства можно использовать фильтрацию JSON-вывода, например:
docker inspect -f '{{.State.Status}}' <container_id>
Возможные статусы:
- running — контейнер запущен.
- exited — контейнер завершил работу.
- paused — контейнер приостановлен.
- restarting — контейнер перезапускается.
3. Проверить логи контейнера:
Чтобы увидеть последние действия контейнера, можно просмотреть его логи:
docker logs <container_id>
Это поможет понять, что происходило с контейнером, особенно если он неожиданно завершил работу.
#devops #девопс
Подпишись 👉@i_DevOps8 759
Molecule
Проект Molecule предназначен для помощи в разработке и тестировании ролей Ansible.
Molecule обеспечивает поддержку тестирования с несколькими экземплярами, операционными системами и дистрибутивами, провайдерами виртуализации, тестовыми фреймворками и сценариями тестирования.
Molecule поощряет подход, который приводит к последовательному развитию ролей, которые хорошо написаны, легко понимаются и поддерживаются.
https://github.com/ansible/molecule
#devops #девопс
Подпишись 👉@i_DevOps
8 759
В кругах корпоративных архитекторов всё чаще говорят о «потоках создания ценности» или Value Streams. Это мощный инструмент для анализа и проектирования целевого состояния организации.
На открытом онлайн-уроке «Value Streams: инструмент анализа потоков создания ценности в организации» вы узнаете:
- что такое Value Streams
- для чего нужен Value Streams
- о примерах Value Streams
- о связи Value Streams и Capability Map
👨💻🛠👨🏻💻 Будет интересно: руководителям всех уровней, корпоративным и бизнес-архитекторам, бизнес-аналитикам, системным аналитикам, руководителям проектов и владельцам продуктов. После вебинара вы можете приобрести курс «Enterprise Architect».
🗓 6 ноября, 20:00
🆓 Бесплатно. Урок в рамках старта курса «Enterprise Architect»
🔴 Записаться на событие: https://vk.cc/cD2wV5
Реклама. ООО «Отус онлайн-образование», ОГРН 11777466185768 759
+1
KubeSkoop
KubeSkoop — это инструмент диагностики сетей Kubernetes для различных CNI плагинов и провайдеров IAAS. KubeSkoop автоматически строит граф сетевого трафика Pod в кластере Kubernetes, осуществляет мониторинг и анализ критических путей ядра с помощью eBPF, чтобы решать большинство сетевых проблем кластера Kubernetes.
https://github.com/alibaba/kubeskoop
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Как эффективно находить и устранять проблемы в Zabbix для оптимизации мониторинга ваших систем?
🔹Расскажем на открытом уроке «Поиск и устранение проблем системы мониторинга Zabbix», урок приурочен к курсу «Observability: мониторинг, логирование, трейсинг» от Otus.
✅ Практика: Архитектура системы мониторинга Zabbix. Научитесь быстро выявлять и устранять распространённые проблемы.
👉 Регистрация и подробности:
https://otus.pw/v68v/?erid=2Vtzqv4GJtb
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru8 759
Что такое эфемерные контейнеры?
Эфемерные контейнеры стали бета-функцией в Kubernetes v1.23 и теперь включены по умолчанию. Эфемерные контейнеры предназначены для транзитных задач, когда вам нужно временно подключить дополнительный контейнер к существующему поду. Это идеально подходит для отладочных операций, когда вы хотите проверить поды, не затрагивая живые экземпляры контейнеров.
https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/
https://kubernetes.io/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Чем отличается CMD от ENTRYPOINT в Dockerfile?
Инструкции CMD и ENTRYPOINT выполняются в момент запуска контейнера, тольо инструкция CMD позволяет переопределить передаваемые команде аргументы.
Пример 1. CMD: Опишем сборку образа в Dockerfile.
FROM alpine
CMD ["ping", "8.8.8.8"]
В инструкцию CMD передаются 2 аргумента. Выполним сборку образа docker build -t test . и запустим контейнер.
$ docker run test
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=43 time=32.976 ms
64 bytes from 8.8.8.8: seq=1 ttl=43 time=31.998 ms
64 bytes from 8.8.8.8: seq=2 ttl=43 time=31.843 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 31.708/33.316/36.823 ms
Теперь передадим 2 новых аргумента для запуска контейнера.
$ docker run test traceroute 1.1.1.1
traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 46 byte packets
1 172.17.0.1 (172.17.0.1) 0.017 ms 0.016 ms 0.009 ms
2 192.168.168.1 (192.168.168.1) 0.996 ms 1.553 ms 2.069 ms
3 * * *
4 lag-2-435.bgw01.samara.ertelecom.ru (85.113.62.125) 1.454 ms 1.427 ms 1.984 ms
5 172.68.8.3 (172.68.8.3) 19.685 ms 15.722 ms 15.565 ms
6 172.68.8.2 (172.68.8.2) 15.846 ms 22.696 ms 35.093 ms
7 one.one.one.one (1.1.1.1) 17.439 ms 17.670 ms 24.202 ms
ping заменен на traceroute, IP адрес заменен на 1.1.1.1.
Пример 2. ENTRYPOINT: Опишем сборку образа в Dockerfile.
FROM alpine
ENTRYPOINT ["ping", "8.8.8.8"]
В инструкцию ENTRYPOINT передаются 2 аргумента. Выполним сборку образа docker build -t test . и запустим контейнер.
$ docker run test2
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=43 time=36.189 ms
64 bytes from 8.8.8.8: seq=1 ttl=43 time=44.120 ms
64 bytes from 8.8.8.8: seq=2 ttl=43 time=44.584 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 36.189/41.631/44.584 ms
Теперь передадим изменим один из аргументов для запуска контейнера.
$ docker run test2 ping 1.1.1.1
BusyBox v1.31.1 () multi-call binary.
Usage: ping [OPTIONS] HOST
Send ICMP ECHO_REQUEST packets to network hosts
-4,-6 Force IP or IPv6 name resolution
-c CNT Send only CNT pings
-s SIZE Send SIZE data bytes in packets (default 56)
-i SECS Interval
-A Ping as soon as reply is recevied
-t TTL Set TTL
-I IFACE/IP Source interface or IP address
-W SEC Seconds to wait for the first response (default 10)
(after all -c CNT packets are sent)
-w SEC Seconds until ping exits (default:infinite)
(can exit earlier with -c CNT)
-q Quiet, only display output at start
and when finished
-p HEXBYTE Pattern to use for payload
Как видим, аргумент передать контейнеру нельзя.
#devops #девопс
Подпишись 👉@i_DevOps
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
