DevOps
Ir al canal en Telegram
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Mostrar más8 759
Suscriptores
-224 horas
-307 días
+830 días
Archivo de publicaciones
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_DevOps8 759
Представь: суббота, никакой рабочей суеты – только ты и онлайн-воркшоп с практикой в Linux.
За 7 часов ты узнаешь, как самостоятельно развернуть облачное хранилище на базе NextCloud и настроить его под отказоустойчивость и безопасность. А рядом будут менторы из K2 Cloud, чтобы ответить на все вопросы.
Переходи по ссылке и успевай зарегистрироваться до 21-го октября
8 759
ContainerSSH
SSH-сервер, запускающий контейнеры в Kubernetes и Docker
https://github.com/ContainerSSH/ContainerSSH
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Как бороться с вызовами импортозамещения в разработке?
Борьба с вызовами импортозамещения коснулась и разработчиков — с начала 2024 года западные вендоры закрывают доступ для пользователей и прекращают поддержку Atlassian, Docker Hub и других значимых решений.
Отечественный ответ зарубежным вендорам — конвейер разработки. Это комплексное предложение для рынка для безболезненной замены важных решений на всех этапах разработки.
На онлайн-митап «Запускаем конвейер: отечественные решения для всех этапов разработки» К2Тех пригласил российских вендоров, предлагающих решения для разработки. 22 октября в 11:00 на онлайн-митапе эксперты расскажут о каждом из них.
Участников ждет демо конвейера, где тестировщики в реальном времени покажут основные принципы работы с инструментами и ответят на вопросы.
Митап будет полезен:
◾ ИТ-директорам
◾ Руководителям разработки
◾ Руководителям группы тестировщиков
◾ Скрам-мастерам
◾ Системным аналитикам
Смотрите программу и регистрируйтесь на мероприятие
8 759
Какие инструкции есть у Dockerfile?
FROM Задаёт базовый (родительский) образ.
LABEL. Описывает метаданные. Например — сведения о том, кто создал и поддерживает образ.
ENV Устанавливает постоянные переменные среды.
RUN. Выполняет команду и создаёт слой образа. Используется для установки в контейнер пакетов.
COPY. Копирует в контейнер файлы и директории.
ADD. Копирует файлы и директории в контейнер, может распаковывать локальные .tar-файлы.
CMD Описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен. Аргументы могут быть переопределены при запуске контейнера. В файле может присутствовать лишь одна инструкция CMD.
WORKDIR. Задаёт рабочую директорию для следующей инструкции.
ARG Задаёт переменные для передачи Docker во время сборки образа.
ENTRYPOINT Предоставляет команду с аргументами для вызова во время выполнения контейнера. Аргументы не переопределяются.
EXPOSE Указывает на необходимость открыть порт.
VOLUME Создаёт точку монтирования для работы с постоянным хранилищем.
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Хотите узнать, как защитить свои Python-приложения от уязвимостей и обеспечить надежность систем?
На вебинаре мы рассмотрим:
- Предотвращение уязвимостей в Python: XSS, SQL-инъекции, безопасная обработка входных данных.
- Защита данных и шифрование: работа с конфиденциальной информацией, управление паролями.
- Анализ безопасности кода: использование Bandit и SonarQube для выявления уязвимостей.
- Управление зависимостями и инструментами: предотвращение уязвимостей в библиотеках, pip-audit, безопасные фреймворки (Flask-Security, Django Security).
После вебинара вы:
- Получите углубленные знания и практические навыки в области безопасной разработки на Python.
- Улучшите свои профессиональные компетенции и конкурентоспособность на рынке труда.
Урок пройдет 22 октября в 20:00 мск и будет приурочен к старту большого курса «Внедрение и работа в DevSecOps». После вебинара вы получите специальную цену на обучение и персональную консультацию от менеджеров!
Регистрируйтесь на открытый вебинар прямо сейчас! 👇
https://vk.cc/cCMrgq
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru8 759
Mount — ещё один способ уменьшения размера Docker-образа
Делюсь лайфхаком по уменьшению размеров Docker-образов. Как-то нам попалась на поддержку и развитие CRM-система, написанная на Ruby. Пришли со словами: предыдущий разработчик не передал исходный код, но систему нужно развивать. Я уверен, что по условиям контракта передавали исходный код, но заказчики всегда относятся попустительски: им присылают архив на почту, а они потом стирают старое барахло, чтобы ящик почистить.
Так вот, зайдя на продакшен-сервер, я нашел развернутую платформу, да ещё и с .git папочкой. Ура, у меня были исходники с историей (она потом мне ни разу не понадобилась). Загрузил в нашу репу исходники, поизучал. В ходе контракта нужно было изменить деплой с rsync на контейнеризацию и перетащить все на Alt Linux (или Astra, уже не помню).
Обновили Ruby-пакеты (gems), обновили под них код и написали Dockerfile. Первая сборка была удручающей: образ в 2Гб. Это нормальный размер, если ты собираешь образ с Torch и другой ML-штуковиной, но CRM - нет. В результате дальнейших действий, удалось сократить размер образа до 200Мб.
https://habr.com/ru/articles/851384/
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Основы Docker: контейнеризация, Dockerfile и Docker Compose. Часть 2
Меня зовут Толя, я лидер компетенции Java в Цифровом СИБУРе. Наш прошлый материал о Docker собрал классный фидбэк, поэтому мы решили развить тему и подготовить ещё несколько статей, двигаясь от простого к сложному.
В этом материале речь пойдёт о том, что помогает избежать конфликтов зависимостей и проблем с изоляцией, возникающих при запуске нескольких приложений на одном сервере. Для решения этих задач используются технологии контейнеризации, которые позволяют создавать изолированные окружения для приложений, устраняя проблемы совместимости и упрощая процесс развёртывания. Рассмотрим, как работает контейнеризация и какие инструменты помогают сделать её максимально эффективной.
https://habr.com/ru/companies/sibur_official/articles/846350/
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Сегодня специалисты DevOps — одни из самых востребованных на рынке.
По данным hh.ru, на 2000 вакансий приходится 1900 соискателей. Если вы хотите работать с методологией DevOps — попробуйте курс Практикума.
После курса вы:
— начнёте применять DevOps в работе,
— разберётесь в Docker и Kubernetes,
— изучите современные инструменты,
— почувствуете себя опытным SRE.
Поможем сделать релизы более быстрыми и безопасными, инфраструктуру — стабильной, а взаимодействие команд — более эффективным и слаженным. А дальше — получить новый грейд или ответственную роль в команде.
Программа рассчитана на 6 месяцев, учёба займет от 15 часов в неделю. В финале — итоговый проект для портфолио, в котором нужно подготовить инфраструктуру и настроить конвейер деплоя.
Осваивать принципы DevOps начнём уже в этом месяце.
Приходите учиться!
8 759
Ускорьте запуск pod'ов, повторно используя слои образов с других узлов с помощью Spegel.
Предположим, что в кластере Kubernetes есть StatefulSet с 20 репликами pod'ов. Если образы, используемые для контейнеров pod'ов, имеют значительный размер, это требует времени для загрузки образов на рабочие узлы. Это значительно замедляет процесс запуска всех pod'ов StatefulSet, так как они запускаются по очереди.
В другом сценарии, допустим, один из рабочих узлов становится неисправным, и pod'ы, работающие на нём, выселяются. Тогда pod'ы переназначаются на другой узел, но им снова нужно загружать образы из контейнерного реестра через интернет, что увеличивает время простоя.
https://medium.com/linux-shots/speed-up-pod-startup-by-re-using-image-layers-from-other-nodes-with-spegel-817f88d40a92
#devops #девопс
Подпишись 👉@i_DevOps
8 759
😑 Нельзя просто взять и развернуть отказоустойчивый кластер
Или можно?
Говорят, что выпускники курса «Kubernetes Мега» от учебного центра Слёрм даже не задаются этим вопросом. Они точно знают, как:
👉 перенести свой продукт на платформу k8s
👉 ускорить траблшутинг
👉 обновить систему без простоя
👉 автоматизировать развертывание кластеров
👉 повысить отказоустойчивость своего продукта
А еще умеют развертывать и обслуживать кластеры с автоматической ротацией сертификатов, автодеплоем, резервным копированием и правильным хранением секретов.
⭐️ Новый поток стартует 28 октября. До 24 октября при покупке места на курсе можно получить в подарок запись интенсива по Service Mesh и сэкономить 50 000 ₽.➡️ Забрать промокод на скидку — через бота. Присоединяйтесь! Реклама ООО «Слёрм» ИНН 3652901451
8 759
Certified Kubernetes Security Specialist — мой опыт сдачи экзамена
- отнеситесь серьезно к качеству интернет-соединения. Из РФ ВПН не нужен
- популярные курсы не охватывают экзамен полностью (есть смысл поискать старые дампы на github)
- назначайте первую попытку хотя бы за месяц до окончания времени сдачи экзамена, таким образом, если завалите первую попытку, будет время подготовится ко второй
- за несколько дней пройдите killer.sh, получите выкладку ответов и после прохождения несколько раз пройдите у себя в домашней лабораторной
- обязательно будет задание на анализ поведения, на выбор дают falco и sysdig. Возьмите sysdig, на экзамене он сэкономит время, потренируйтесь в этом перед сдачей
https://habr.com/ru/articles/721136/
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Если вы ждали появления платформы контейнеризации с сертификатом от ФСТЭК России, этот вебинар для вас!
18 октября в 12:00 в прямом эфире эксперты Deckhouse расскажут подробности о прохождении сертификации в ФСТЭК России и новых возможностях Deckhouse Kubernetes Platform (DKP) для защиты информации после получения сертификата от регулятора.
На вебинаре вы узнаете:
🔹 какие требования по безопасности информации к средствам контейнеризации устанавливает приказ ФСТЭК России от 4.07.2022 №118 и как DKP проходила сертификацию;
🔹о DKP Certified Security Edition — эксперты продемонстрируют основные функции и расскажут, в чём преимущества версии DKP Certified Security Edition по сравнению с DKP Enterprise Edition;
🔹о планах по развитию платформы с учётом новых требований и сертификации других продуктов экосистемы Deckhouse.
Присоединяйтесь к вебинару! Все участники в приоритетном порядке смогут оставить заявку на пилотную версию DKP Certified Security Edition.
8 759
DevToys
DevToys помогает в ежедневных задачах разработки, предлагая набор небольших инструментов, предназначенных для быстрого выполнения конкретных задач. Нет необходимости использовать множество ненадежных сайтов для простого декодирования текста или сжатия изображения. С помощью функции Smart Detection приложение интуитивно выбирает лучший инструмент для данных, находящихся в буфере обмена.
DevToys 2.0 включает 30 инструментов по умолчанию:
Конвертеры: JSON <> YAML, Дата, Числовые системы и т.д.
Кодировщики/Декодировщики: HTML, URL, Base64, GZip, JWT, QR-код и т.д.
Форматтеры: JSON, SQL, XML и т.д.
Генераторы: Хэш и Контрольная сумма, Lorem Ipsum, Пароли и т.д.
Инструменты для графики: Симулятор цветовой слепоты, Сжатие PNG/JPEG и т.д.
Тестеры: JSONPath, RegEx, XML и т.д.
Текстовые утилиты: Предварительный просмотр Markdown, Сравнение текста, Анализ и утилиты...
https://github.com/DevToys-app/DevToys
#devops #девопс
Подпишись 👉@i_DevOps8 759
Введение в Docker и Kubernetes: основы контейнерных технологий. Часть 1
Docker и Kubernetes — два инструмента, которые прочно вошли в арсенал современных разработчиков. Хотите разобраться в основах контейнеризации и оркестрации? Наша статья поможет вам в этом, раскрывая ключевые концепции и принципы работы этих технологий.
https://habr.com/ru/companies/sibur_official/articles/826964/
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Теряете важные записи видео встреч?
С DION – ни одна встреча не потеряется! Хотите узнать, как?
Посетите онлайн-вебинар, который состоится 17 октября в 11.00 и будет посвящен новым возможностям и тарифам ВКС DION.
DION - это не только стабильная видеосвязь, но и комплексное решение для эффективной коммуникации. Платформа объединяет ВКС, видеохостинг для хранения записей важных встреч, облачный диск для файлов, встроенный ИИ и защищенные чаты.
DION обеспечивает
✔️высокое качество связи даже при низкой скорости интернета,
✔️поддержку видеоконференций до 5000 участников
✔️автоматическое сохранение записи встреч
✔️независимость от зарубежных поставщиков.
Регистрируйтесь на вебинар и узнайте, как получить надежную видеосвязь по доступной цене.
erid: LjN8Jwisu
8 759
Как мы ищем деградации на нодах в кластерах Kubernetes
Меня зовут Станислав Егоркин, я инженер юнита IaaS департамента разработки Infrastructure в Авито. В этой статье я расскажу про инструмент, который мы используем для обнаружения деградаций на нодах в кластерах Kubernetes, а также покажу дашборд, где мы наблюдаем за состоянием всех наших нод.
Причины деградаций на нодах
Инфраструктура Авито — это тысячи bare-metal серверов, большая часть из которых объединена в десятки Kubernetes-кластеров. Понятно, что в таких масштабах отказ отдельных кубонод — событие регулярное. Причины могут быть разные: от поломки планки памяти до возникновения проблем с container runtime.
Хорошо, если нода отказала полностью, тогда Kubernetes сам обработает отказ, и рабочая нагрузка пострадает минимально. Хуже, когда деградация частичная. В этом случае нода может долго находиться в плохом состоянии, заставляя «страдать» все сервисы, которые оказались запущены на ней.
Обычно события в этом случае развиваются следующим образом: кто-то из разработчиков замечает деградацию своего микросервиса, локализовывает ее до ноды и приходит к нам. Мы диагностируем и прочиниваем ноду. Однако некоторые проблемы встречались на разных нодах снова и снова. И каждый раз они требовали нашего вмешательства.
https://habr.com/ru/companies/avito/articles/847466/
#devops #девопс
Подпишись 👉@i_DevOps
8 759
Открытый вебинар «Мифы о надёжности Kubernetes: Ошибки, которые стоят вам продакшена» от Слёрм
➡ Когда надежное становится ненадежным и почему многие системы обречены на падение?
На вебинаре покажем самые эпичные фейлы сбоев и фатальные ошибки в настройке кластеров k8s, стоившие компаниям многих часов простоя:
- Кластеры разваливаются
- API-сервера выходят покурить
- А coredns не понимает, кто он и где
Все ошибки невыдуманные, с подробным разбором анализа, что происходило и как нашли первопричину.
Советы, как превратить ваш кластер из катастрофы в более-менее стабильную штуку, которая может прожить без падений хотя бы 2 дня, тоже будут😉
⚡Спикеры:
- Виталий Лихачев. SRE в bооking.соm
- Всеволод Севостьянов. Staff engineer в Lokalise
➡ Когда вебинар: 23 октября в 19:00 мск
➡ Регистрация — через бот
Реклама ООО «Слёрм» ИНН 3652901451
8 759
Keycloak. Мапинг учеток через mTLS c двойной проверкой сертификатов в kubernetes
Продолжаем с делиться экспертизой отдела Security services infrastructure (департамент Security Services компании «Лаборатории Касперского»). В данном посте мы разберем, как легко настроить mTLS, обращаясь к ресурсам в k8s через ingress-контроллер, и подсоединить это все к keycloak. Пост будет полезен тем, кто в своей инфраструктуре использует PKI и, в частности, клиентские сертификаты.
https://habr.com/ru/companies/kaspersky/articles/846326/
#devops #девопс
Подпишись 👉@i_DevOps
8 759
🔔 Хотите узнать, как Service Mesh и Istio могут улучшить управление трафиком и безопасность ваших микросервисов?
Ждем вас на открытом вебинаре 21 октября в 20:00 мск, где мы разберем:
- что такое Service Mesh и его значение в современной разработке ПО;
- основные функции и возможности Istio;
- как установить Istio в кластер Kubernetes и настроить базовые политики управления трафиком.
⌨️ Урок для DevOps-инженеров, системных администраторов, Backend-разработчиков и архитекторов программного обеспечения.
Встречаемся в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». Все участники вебинара получат специальную цену на обучение!
➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cCxJjO
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
