ch
Feedback
ДевОпс Інженер 🇺🇦

ДевОпс Інженер 🇺🇦

前往频道在 Telegram

ДевОпс Інженер - авторський канал @mukolaich - Head of DevOps у SQUAD. Я розглядаю технології та рішення, роблю огляд архітектурних проблем, включаючи контейнери, оркестратори, скейлінг, моніторинг, etc.

显示更多
5 364
订阅者
无数据24 小时
-87
-2030
帖子存档
Об IT без галстуков Дмитрий Меньшиков - мой хороший друг и наш подписчик, СТО в Aurora Technologies, знает о топ-10 фейлах на highload проекте и умеет менеджерить людей. А еще у Димы есть свой личный телеграм канал, в котором он пишет о: - технической составляющей (всегда полезно для девопсов) - культуре и взаимодействии - личностном развитии (надеюсь будет цикл "Как стать СТО" 😁) Рекомендую подписаться, читать и использовать: @notieinIT 👍

Docker Hub Hacked В соседнем чате проскочила печальная информация. В Docker Hub обнаружили утечку данных 190 000 пользователей 🙁 Это касается не только связки логин/пароль, а и токенов (github, bitbucket). Как минимум стоит переслать в SecOps team, а в идеальном кейсе - поменять эти данные. Тут можно почитать, что делать более детально: https://news.ycombinator.com/item?id=19763413 Вот так выглядит письмо: https://cdn.changelog.com/uploads/news_items/AJOA/large.png?v=63723566056 Стоит сказать, что пароли были в виде hashed passwords, а не как у Facebook - в plain text 😄 Кстати, если у вас в Docker images были захардожены пароли к каким-то базам данных, или любая сенситив дата - тоже нужно менять.

Developer Survey Results 2019 by StackOverflow В двух словах: мы в топах! Короткая выжимка по DevOps и SRE: - больше всех довольны своей работой - сами почти никогда не ищем новую компанию - у нас самые высокие зарплаты https://insights.stackoverflow.com/survey/2019 Смотрите зарплаты остальных специализаций (на графике): https://cdn.sstatic.net/insights/Img/Survey/2019/salary_devtype-1.svg

Teleport Если у вас в компании принято раздавать всем доступы на все сервера - у меня есть плохие новости. А если это делается мануально, то очень плохие. Смотрите, есть вот такая тема: https://gravitational.com/teleport Teleport позволяет контролить доступ, логгировать выполненные команды и прочее. Очень удобно, например, для долгих Ansible деплоев: когда ноут не тянет кучу хостов, а на сервере с Teleport есть для этого достаточно ресурсов. Teleport отлично миксуется с паттерном bastion host и отлично его дополняет. Мы используем, мы довольны, рекомендую.

CNCF Cloud Native Interactive Landscape Если у кого-то devops-депрессия или кризис продуктивности, зайдите сюда: https://landscape.cncf.io/

DevOps Fest 2019 6 апреля, Киев, и еще есть Smart Bird, так что можно начинать пушить менеджмент оплатить конфу 😁 Промо на 10% - DEVOPSENGINEER Программа ниже 🔽 http://devopsfest.com.ua

DevOps learning roadmap Для тех, кто только присоединился или еще в начале пути: https://raw.githubusercontent.com/kamranahmedse/developer-roadmap/master/images/devops.png Схема поможет эффективно построить ваше обучение 🙂

Terraform MySQL provider Хотел поделиться с вами методикой работы с (forced new resource), (new resource required) и прочего. Вот, например, самая банальная штука - это динамически вытягивать последнюю AMI из AWS для создания EC2. И сразу же получаем: при обновлении AMI (почти каждый день)- (forced new resource) - потому что AMI изменился, и нужно (нет) пересоздать. Что делать:
lifecycle {
    ignore_changes        = ["ami"]
}
Тут как бы все понятно - если меняется переменная ami - все ок, ничего делать не нужно. Подобная штука будет прокатывать с большинством ресурсов. Недавно обновился MySQL Terraform provider - и появились нужные нам штуки. Но вот, проблема - при апгрейде Terraform маркает большинство ресурсов на пересоздание. Я пробовал сюда вставить пример кода - но Telegram ломает форматирование. Опишу словами: tls_option - была пустая строка, а теперь - будет NONE. Это произошло потому, что раньше эта опция не была реализована в модуле, а сейчас появилась. Окей, как сохранить обратную совместимость? Втулить ему то, что было раньше:
tls_option = ""
Более подробно с кусками кода я описал тут: https://github.com/terraform-providers/terraform-provider-mysql/issues/55#issuecomment-461610419 Вроде банальные вещи, но часто вижу, что много кто не знает. Good luck!

Hashicorp Vault pricing: OMG Периодически всплывают вопросы: сколько стоит Hashicorp Vault? Тот который с HA, MFA, auto unseal, Disaster recovery, Replication, etc. Пару лет назад (средина 2017) я у них спрашивал: ответ был краток - меньше $10 000/per year не подходи, и это еще самый базовый план. Где-то пол года назад подобную инфу риквестил Игорь Бородин: ценник был чуть поболее, но плюс-минус такой же. А теперь посмотрите, что ответили Ярославу Молочко 😂 http://i68.tinypic.com/10qw9y1.png P.S. Проверьте бекапы вашего, надеюсь не стенделон Vault, попробуйте отресториться с бекапа, и на вскидку прикиньте что будет, если тупо дропнуть все секреты.

Envoy hot restart: обидно В доке у Envoy описано кучу классных юзабельных техник, к примеру hot restart. Это значит, что можно релоадить Envoy без оборванных соединений, применять новую конфигурацию на лету, и быть счастливым. Вот тут описано, как должно работать: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/hot_restart.html Давайте проверим, как оно бывает в реальном мире 😱 Как читаю я, и что понимаю: docker kill --signal=SIGHUP envoy - и применилась новая конфигурация Как пишут доку, и что в нее вкладывают: сделаем скрипт на Python, который будет запускать Envoy, ловить сигналы и делать магию Обидно! CNCF, Lyft, кто там еще замешан 🙁 Вот, прям в доке описано: https://www.envoyproxy.io/docs/envoy/latest/operations/hot_restarter

AWS Lambda: 15 minutes of execution Новость старая, но я не знал. Оказывается, теперь таймаут на выполнение не 5 минут, как было раньше, а целых 15. Теперь это чуть более useful, спасибо, AWS! 👍 https://aws.amazon.com/ru/about-aws/whats-new/2018/10/aws-lambda-supports-functions-that-can-run-up-to-15-minutes/

Ребят, кто хочет в Вену на релокейт 🔽 https://jobs.lever.co/tourradar/963f1e14-a4af-4fcc-91fb-26932ea6577d Пишите сразу @denys_popov - работали вместе 🔥

GitHub: Announcing unlimited free private repos До 3 коллабораторов, но все равно - очень классно! https://blog.github.com/2019-01-07-new-year-new-github/

Ребят, и еще тема: скоро выходит девопс дайджест на DOU, а у меня еще ничего не готово 😱 Подкиньте-ка , ̶м̶е̶л̶о̶ч̶и̶ классных новостей или статей за последний месяц в личку: @mukolaich ⬅️

Envoy proxy: отличная тема, даже без кубера 🔥 Envoy - это L4/L7 proxy, раньше был в Lyft, а теперь - CNCF. https://github.com/envoyproxy/envoy Он позволяет легко и быстро построить service-to-service, front proxy или double proxy (или даже все в месте). Вот, например, так: https://www.envoyproxy.io/docs/envoy/latest/intro/deployment_types/double_proxy Конфигурация кажется немного запутанной, но через пару часов все ясно и понятно - намного проще и быстрее чем HAproxy/nginx, etc. Пример double proxy конфигурации: https://github.com/envoyproxy/envoy/blob/master/configs/envoy_double_proxy_v2.template.yaml Он очень классно интегрируется с Consul (в том числе как communication bus для Consul Connect), и может динамически слушать порты, строить роуты, делать всякую магию, которую в случае с HAproxy/nginx нужно было решать всякими ужасными темплейтами и генерацией конфигурации. Все вы знаете реализацию Envoy внутри Istio, но кто хочет попроще или не в k8s - можно брать просто Envoy. Из сомнительных моментов могу упомянуть: ▶️ Если хотите запустить несколько Envoy контейнеров на одной ноде, нужно передавать дополнительный параметр - иначе не будет работать: https://www.envoyproxy.io/docs/envoy/latest/operations/cli#cmdoption-base-id ▶️ Prometheus exporter встроен прямо в Envoy, но с оговорками. Путь - /stats/prometheus (what?, почему не /metrics, или почему даже редиректа нету?), и второй момент - метрики отдаются через админский интерфейс, а он не защищен. Вот issue: https://github.com/envoyproxy/envoy/issues/2763 - должны сделать. Мы сейчас как раз в процессе внедрения, пока что впечатления крайне положительные, могу рекомендовать 🙂 И еще расшарю для вас gist с relabel_configs для prometheus, который берет таргеты из Consul: https://gist.github.com/Mykolaichenko/9ab505876237999466a6e3b506ef598a

Буду краток: с Новым Годом!

Consul Connect: TLS + сайдкар прокси из коробки Ребята, смотрите какая крутая тема для service-to-service коннектов: - забирает инфу из Consul - делает sidecar proxy - умеет TLS из коробки Что это значит: можно ходить внутри сети, или через интернет, секурно (mTLS). Из коробки. Выпиливайте мануальные туннели на haproxy/nginx 🔥 https://www.consul.io/docs/connect/index.html

Нативный Docker Compose on Kubernetes Как-то пролетела новость, и никто не заметил. Раньше делали как: генерили кубер манифесты из компоуз файлов, с помощью, например, Kompose. Наконец Docker расчехлились, и уже практически официально этим решением депрекейтнули Docker Swarm. Они напилили нативный контроллер, который позволяет применять compose манифесты в кубер. Вот, смотрите: https://blog.docker.com/2018/12/simplifying-kubernetes-with-docker-compose-and-friends/ Репа на гитхабе: https://github.com/docker/compose-on-kubernetes В общем, у кого compose (омг) или Swarm в проде - можно безболезненно пересесть в k8s как первый шаг в процессе миграции. Это будет очень полезно ребятам, у которых мало инженерных ресурсов, но есть огромное желание в k8s. Как новость?)

Ребят, кто на XPdays - сходите на этот доклад (рекомендую)🔥: SLA, SLO, SLI, Error budgets, or how to keep calm and do your job - Yaroslav Molochko https://xpdays.com.ua/programs/sla-slo-sli-error-budgets-or-how-to-keep-calm-and-do-your-job/

От подписчика: https://hackernoon.com/8-devops-trends-to-be-aware-of-in-2019-b4232ac8f351 Все супер, подростаем 👍 Kubernetes, DevSecOps, etc https://blog.gruntwork.io/5-lessons-learned-from-writing-over-300-000-lines-of-infrastructure-code-36ba7fadeac1 Какие тулзы выбирать в 2k19, тестировать обязательно и деплой процесс инфраструктуры 😎