Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Лекторий по SRE
Примеры сбоев
Что такое SRE
Цели мониторинга, логи и метрики
Детектирование проблем до и во время сбоя
SLA, SLO, SLI
Причины сбоев
Устранение сбоев
Постмортемы
Приемы уменьшения количества сбоев
Устойчивый к сбою код
источник
👉 @devops_star
Примеры сбоев
Что такое SRE
Цели мониторинга, логи и метрики
Детектирование проблем до и во время сбоя
SLA, SLO, SLI
Причины сбоев
Устранение сбоев
Постмортемы
Приемы уменьшения количества сбоев
Устойчивый к сбою код
источник
👉 @devops_star
👍6
Docker справочник cli
👉 @devops_star
docker images
— показать все локальные образы dockerdocker rmi [-f] <id|label>
— удалить образ c локальной машиныdocker rmi -f $(docker images -q)
— удалить все докер образыdocker build [-t <label>] <path>
— построить образ на основе докерфайлаdocker run [-dt] [--name <name>] [-v <path:path>] [-p <port:port>] [--...] <id|label> [cmd]
— запустить образ в контейнере c cmd-командой (необязательно)-d
— в фоновом режиме-t
— прикрепляет к контейнеру терминал-i
— перенаправляет ввод/вывод на текущий терминал--name
— явно указать имя контейнера, по которому можно будет обращаться к нему (иначе будет сгенерировано рэндомно)-p <external_port:internal_port>
— проброс портов-v --volume <external_path:internal_path>
— монтирует папки хоста в контейнер--rm
— удаляет контейнер после завершения работы--memory <n>
— позволяет указать количество ОЗУ, доступной контейнеру-P
— пробрасывает все порты контейнера в хост-систему--expose
— позволяет пробросить несколько портов из контейнера в хост-систему-e <"FOO=bar">
— добавляет переменную окружения в контейнерdocker ps [-a]
— показать все запущенные [существующие] докер контейнеры`docker ps -q | xargs docker stats —no-stream`
— посмотреть ресурсы, потребляемые запущенными контейнерамиdocker stop <name>
— останавливает указанный образ (с сохранением данных)docker kill <name>
— то же самое без сохранения данныхdocker rm <name>
— удаляет указанный контейнерdocker attach <name>
— подключиться к выбранному докер-контейнеруdocker exec [-ti] <name> <cmd>
— выполняет команду в докер-контейнереdocker push <imagename>
— отправить образ в удаленный реестрdocker ps -q | xargs docker stats --no-stream
— посмотреть нагрузку на процессор и память каждого из контейнеровdocker stats
— похожа на предыдущую команду, но более короткаяdocker info --format '{{.LoggingDriver}}'
— посмотреть используемый по умолчанию лог драйвер (json-file)docker logs [<container_name>] [-f --tail 100]
— показать логи [конкретного контейнера] в терминал [последние 100 строк]docker inspect --format='{{.LogPath}}' <containername>
-показать, где хранятся логи для конкретного контейнера👉 @devops_star
👍5
Media is too big
VIEW IN TELEGRAM
Нюансы Kubernetes
Контейнеризация и, в частности, Kubernetes – стандарт для запуска приложений в бою. Это несложно, но есть нюансы. Вместе с Андреем Новиковым из Evil Martians обсуждаем, что нужно сделать, чтобы приложение работало быстро и надежно. Смотрим, как работают requests и limits на ресурсы, чем должны отличаться liveness и readiness пробы и на что следует обращать внимание в мониторинге.
👉 @devops_star
Контейнеризация и, в частности, Kubernetes – стандарт для запуска приложений в бою. Это несложно, но есть нюансы. Вместе с Андреем Новиковым из Evil Martians обсуждаем, что нужно сделать, чтобы приложение работало быстро и надежно. Смотрим, как работают requests и limits на ресурсы, чем должны отличаться liveness и readiness пробы и на что следует обращать внимание в мониторинге.
👉 @devops_star
👍4❤2
Задаём порядок деплоя ресурсов в Kubernetes с помощью werf/Helm
При деплое в Kubernetes часто требуется выкатывать ресурсы в определённом порядке, а иногда и дожидаться готовности сторонних ресурсов. Например, сначала нужно запустить БД, дождаться создания динамического Secret’а сторонним оператором, потом выполнить инициализацию/миграции БД, а уже затем запустить само приложение.
Рассмотрим, как решать такие задачи с помощью Helm, а также сравним с более быстрым и удобным вариантом, который предлагает Open Source-утилита werf.
https://habr.com/ru/companies/flant/articles/682804/
👉 @devops_star
При деплое в Kubernetes часто требуется выкатывать ресурсы в определённом порядке, а иногда и дожидаться готовности сторонних ресурсов. Например, сначала нужно запустить БД, дождаться создания динамического Secret’а сторонним оператором, потом выполнить инициализацию/миграции БД, а уже затем запустить само приложение.
Рассмотрим, как решать такие задачи с помощью Helm, а также сравним с более быстрым и удобным вариантом, который предлагает Open Source-утилита werf.
https://habr.com/ru/companies/flant/articles/682804/
👉 @devops_star
👍2
Buildg - Интерактивный отладчик для Dockerfile, с поддержкой IDE (VS Code, Emacs, Neovim и т.д.).
Source-level inspection
Breakpoints and step execution
Interactive shell on a step with your own debugigng tools
Based on BuildKit (with unmerged patches)
Supports rootless
https://github.com/ktock/buildg
👉 @devops_star
Source-level inspection
Breakpoints and step execution
Interactive shell on a step with your own debugigng tools
Based on BuildKit (with unmerged patches)
Supports rootless
https://github.com/ktock/buildg
👉 @devops_star
👍5🫡1
Grafana OnCall — Open Source хаб для алертов и инцидентов
Если кратко, OnCall — это инструмент, который поможет организовать надежные оповещения/реагирование на инциденты в команде, соблюдать SLA и не просыпаться ночью от звонков.
OnCall — новичок в мире Open Source, но уже совсем не новичок как продукт. Он начался как отдельный SaaS под названием Amixr. IO несколько лет назад. Потом Amixr. IO приобрела Grafana Labs и интегрировала в свою экосистему. И вот недавно, наконец, мы смогли выложить исходный код OnCall в открытый доступ 🎉 А это значит, что он стал доступен большему кругу пользователей — и тем, кто работает в инфраструктуре без интернета, и тем, кто просто любит Open Source. Далее
https://habr.com/ru/articles/688794/
👉 @devops_star
Если кратко, OnCall — это инструмент, который поможет организовать надежные оповещения/реагирование на инциденты в команде, соблюдать SLA и не просыпаться ночью от звонков.
OnCall — новичок в мире Open Source, но уже совсем не новичок как продукт. Он начался как отдельный SaaS под названием Amixr. IO несколько лет назад. Потом Amixr. IO приобрела Grafana Labs и интегрировала в свою экосистему. И вот недавно, наконец, мы смогли выложить исходный код OnCall в открытый доступ 🎉 А это значит, что он стал доступен большему кругу пользователей — и тем, кто работает в инфраструктуре без интернета, и тем, кто просто любит Open Source. Далее
https://habr.com/ru/articles/688794/
👉 @devops_star
👍5🫡1
Media is too big
VIEW IN TELEGRAM
Реальное собеседования DevOps инженер Junior++
Недавно мне знакомый прислал свое DevOps собеседование. Он DevOps инженер уровня Junior++. Опыт работы больше года. До этого работал сисадмином 2 года. Пришлось изменить голоса и убрать видео чтобы участников собеседования никто не узнал. А так же не узнал в какую компанию собеседовался Девопс инженер.
источник
👉 @devops_star
Недавно мне знакомый прислал свое DevOps собеседование. Он DevOps инженер уровня Junior++. Опыт работы больше года. До этого работал сисадмином 2 года. Пришлось изменить голоса и убрать видео чтобы участников собеседования никто не узнал. А так же не узнал в какую компанию собеседовался Девопс инженер.
источник
👉 @devops_star
👍2
Haskell Dockerfile Linter
Интеллектуальный распаковщик Dockerfile, помогающий создавать лучшие образы Docker. Линтер разбирает Docker-файл на AST и выполняет правила поверх AST. Он опирается на поддержку ShellCheck для проверки Bash-кода внутри инструкций RUN.
https://github.com/hadolint/hadolint
👉 @devops_star
Интеллектуальный распаковщик Dockerfile, помогающий создавать лучшие образы Docker. Линтер разбирает Docker-файл на AST и выполняет правила поверх AST. Он опирается на поддержку ShellCheck для проверки Bash-кода внутри инструкций RUN.
https://github.com/hadolint/hadolint
👉 @devops_star
👍3
Настройка LDAP-аутентификации в кластере Kubernetes под управлением Deckhouse
Deckhouse — Kubernetes-платформа с открытым кодом, с помощью которой можно создавать идентичные Kubernetes-кластеры в любой инфраструктуре и автоматически управлять ими. Для проверки подлинности в Deckhouse используется модуль user-authn. Он настраивает единую систему аутентификации, интегрированную с Kubernetes и веб-интерфейсами других модулей — например, с Grafana.
user-authn поддерживает несколько внешних провайдеров и протоколов аутентификации: GitHub, GitLab, Bitbucket Cloud, Crowd, LDAP и OIDC. В статье расскажу, как развернуть сервер LDAP и настроить через него доступ к приложению.
https://habr.com/ru/companies/flant/articles/710010/
👉 @devops_star
Deckhouse — Kubernetes-платформа с открытым кодом, с помощью которой можно создавать идентичные Kubernetes-кластеры в любой инфраструктуре и автоматически управлять ими. Для проверки подлинности в Deckhouse используется модуль user-authn. Он настраивает единую систему аутентификации, интегрированную с Kubernetes и веб-интерфейсами других модулей — например, с Grafana.
user-authn поддерживает несколько внешних провайдеров и протоколов аутентификации: GitHub, GitLab, Bitbucket Cloud, Crowd, LDAP и OIDC. В статье расскажу, как развернуть сервер LDAP и настроить через него доступ к приложению.
https://habr.com/ru/companies/flant/articles/710010/
👉 @devops_star
👍1