Обновляемся, зарелизился Prometheus 2.5.0:
https://github.com/prometheus/prometheus/releases/tag/v2.5.0
Release notes:
https://github.com/prometheus/prometheus/blob/master/CHANGELOG.md#250--2018-11-06
По быстрому:
- починили мемори лики в Remote Read
- добавили кучу метрик
- научились работать с Marathon 1.5+
- добавили в UI корректировку синтаксиса
- и еще метрик добавили 😂
https://github.com/prometheus/prometheus/releases/tag/v2.5.0
Release notes:
https://github.com/prometheus/prometheus/blob/master/CHANGELOG.md#250--2018-11-06
По быстрому:
- починили мемори лики в Remote Read
- добавили кучу метрик
- научились работать с Marathon 1.5+
- добавили в UI корректировку синтаксиса
- и еще метрик добавили 😂
GitHub
Release 2.5.0 / 2018-11-06 · prometheus/prometheus
[CHANGE] Group targets by scrape config instead of job name. #4806 #4526
[CHANGE] Marathon SD: Various changes to adapt to Marathon 1.5+. #4499
[CHANGE] Discovery: Split prometheus_sd_discovered_ta...
[CHANGE] Marathon SD: Various changes to adapt to Marathon 1.5+. #4499
[CHANGE] Discovery: Split prometheus_sd_discovered_ta...
Классная тема подъехала в Linkerd 2.1:
https://twitter.com/linkerd/status/1060693123959930885
https://twitter.com/linkerd/status/1060693123959930885
Twitter
Linkerd
Sneak peek at a very cool feature landing in Linkerd 2.1: per-route metrics!
И под вечер апдейт AWS: теперь можно использовать свои блоки IPv4 адресов 😱
Самый оптимальный юз кейс:
Новость: https://aws.amazon.com/about-aws/whats-new/2018/10/announcing-the-general-availability-of-bring-your-own-ip-for-amazon-virtual-private-cloud/
Дока: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html
Хороших выходных, ребят 😁
Самый оптимальный юз кейс:
If your applications are using trusted IP addresses that your partners and customers have whitelisted in their firewalls, you can now move these applications to AWS without requiring your partners and customers to change their IP address whitelists
Новость: https://aws.amazon.com/about-aws/whats-new/2018/10/announcing-the-general-availability-of-bring-your-own-ip-for-amazon-virtual-private-cloud/
Дока: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html
Хороших выходных, ребят 😁
Amazon
Announcing the general availability of Bring Your Own IP for Amazon Virtual Private Cloud
ДевОпс Інженер 🇺🇦 pinned «И под вечер апдейт AWS: теперь можно использовать свои блоки IPv4 адресов 😱 Самый оптимальный юз кейс: If your applications are using trusted IP addresses that your partners and customers have whitelisted in their firewalls, you can now move these applications…»
The State of the Octoverse: top programming languages of 2018
Аналитика от Github: кто регистрируется, на чем пишут, какие репозы растут и т.д.
Быстрый обзор:
- больше всего новых юзеров приходит с US, China, India
- больше всего из новых юзеров контрибьютят чуваки из Hong Kong, Singapore, Egypt, Nigeria (хмммм)
- самый популярный реп 2018 это Microsoft/vscode - 19к контрибьюторов
- из больших компаний по контрибьюшнам в open source: Google на втором месте
- если появляется новый реп, то скорее всего ему прилепят тег react
- количество людей которые пишут на Go увеличилось в 1,5х, а PowerShell - 1.7x 😂
https://blog.github.com/2018-11-15-state-of-the-octoverse-top-programming-languages/
Аналитика от Github: кто регистрируется, на чем пишут, какие репозы растут и т.д.
Быстрый обзор:
- больше всего новых юзеров приходит с US, China, India
- больше всего из новых юзеров контрибьютят чуваки из Hong Kong, Singapore, Egypt, Nigeria (хмммм)
- самый популярный реп 2018 это Microsoft/vscode - 19к контрибьюторов
- из больших компаний по контрибьюшнам в open source: Google на втором месте
- если появляется новый реп, то скорее всего ему прилепят тег react
- количество людей которые пишут на Go увеличилось в 1,5х, а PowerShell - 1.7x 😂
https://blog.github.com/2018-11-15-state-of-the-octoverse-top-programming-languages/
The GitHub Blog
The State of the Octoverse: top programming languages of 2018
Take a closer look into why—and where—top programming languages are popular.
Пару лет назад, на собеседовании, СТО одной компании категорически парировал: чувак, там не так и прикольно, у нас есть все то же самое! Мы общались о Силиконовой долине, стартапах, трендах и развитии.
Конечно, я не понял.
Много лет для меня California, отдельно San Francisco и сама Долина была чем-то параллельным: вроде существует, но я к этому отношения не имею. Но ощущение не покидало: там реально лучше технологии, быстрее развитие, более передовые решения и вообще, о чем мы! Это же самое технологическое место в мире! Kubernetes там с хорошей документацией, Docker не залипает и AWS не падает. И вообще, если что-то делать в долине, то это сразу аптайм 100% и пачки бабла в лицо ...
Посмотрите, это доклад LUN.UA: https://www.youtube.com/watch?v=FtDDxvdNKjs
И вот теперь я понял.
Посмотрите, это митап по Kubernetes от AnchorFree: https://www.meetup.com/Kubernetes-Kyiv/events/255943460/
Ярослав Молочко делает их лучше, чем те, на которых я был в Калифорнии.
Хорошего вечера, ребят 🙈
(Тим Урбан доказал, что преуспевают те, кто выкладывается больше - смотрите доклад от LUN прямо сейчас, а не с понедельника)
Конечно, я не понял.
Много лет для меня California, отдельно San Francisco и сама Долина была чем-то параллельным: вроде существует, но я к этому отношения не имею. Но ощущение не покидало: там реально лучше технологии, быстрее развитие, более передовые решения и вообще, о чем мы! Это же самое технологическое место в мире! Kubernetes там с хорошей документацией, Docker не залипает и AWS не падает. И вообще, если что-то делать в долине, то это сразу аптайм 100% и пачки бабла в лицо ...
Посмотрите, это доклад LUN.UA: https://www.youtube.com/watch?v=FtDDxvdNKjs
И вот теперь я понял.
Посмотрите, это митап по Kubernetes от AnchorFree: https://www.meetup.com/Kubernetes-Kyiv/events/255943460/
Ярослав Молочко делает их лучше, чем те, на которых я был в Калифорнии.
Хорошего вечера, ребят 🙈
(Тим Урбан доказал, что преуспевают те, кто выкладывается больше - смотрите доклад от LUN прямо сейчас, а не с понедельника)
YouTube
Vladimir Kubytskyi "PropTech product enhancement using ML"
Highload fwdays'18 conference took place on September 15 in Kyiv: https://fwdays.com/event/highload-fwdays-2018
Talk presentation: https://fwdays.com/en/event/highload-fwdays-2018/review/proptech-product-enhancement-using-ml
Facebook: https://www.facebook.com/fwdays…
Talk presentation: https://fwdays.com/en/event/highload-fwdays-2018/review/proptech-product-enhancement-using-ml
Facebook: https://www.facebook.com/fwdays…
Совет дня: проверьте защиту на кубер кластерах
Обратите внимание на etcd: если он сконфигурен без TLS и смотрит в мир (вдруг, случайно), то там будет много критически важных данных, и с write правами можно сделать практически все 😱
⬇️ Гайд, который поможет сделать правильно и ничего не пропустить:
https://kubernetes.io/blog/2018/07/18/11-ways-not-to-get-hacked/
Обратите внимание на etcd: если он сконфигурен без TLS и смотрит в мир (вдруг, случайно), то там будет много критически важных данных, и с write правами можно сделать практически все 😱
⬇️ Гайд, который поможет сделать правильно и ничего не пропустить:
https://kubernetes.io/blog/2018/07/18/11-ways-not-to-get-hacked/
Kubernetes
11 Ways (Not) to Get Hacked
Kubernetes security has come a long way since the project's inception, but still contains some gotchas. Starting with the control plane, building up through workload and network security, and finishing with a projection into the future of security, here is…
От подписчика:
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, тестировать обязательно и деплой процесс инфраструктуры 😎
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, тестировать обязательно и деплой процесс инфраструктуры 😎
Ребят, кто на 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/
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/
Нативный 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.
Как новость?)
Как-то пролетела новость, и никто не заметил. Раньше делали как: генерили кубер манифесты из компоуз файлов, с помощью, например, 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.
Как новость?)
Docker
Docker Blog | Docker
This year at Microsoft Build, Docker will blend developer experience, security, and AI innovation with our latest product announcements. Whether you attend in person at the Seattle Convention Center or tune in online, you’ll see how Docker is redefining the…
👍2
ДевОпс Інженер 🇺🇦 pinned «Нативный Docker Compose on Kubernetes Как-то пролетела новость, и никто не заметил. Раньше делали как: генерили кубер манифесты из компоуз файлов, с помощью, например, Kompose. Наконец Docker расчехлились, и уже практически официально этим решением депрекейтнули…»
Consul Connect: TLS + сайдкар прокси из коробки
Ребята, смотрите какая крутая тема для service-to-service коннектов:
- забирает инфу из Consul
- делает sidecar proxy
- умеет TLS из коробки
Что это значит: можно ходить внутри сети, или через интернет, секурно (mTLS). Из коробки.
Выпиливайте мануальные туннели на haproxy/nginx 🔥
https://www.consul.io/docs/connect/index.html
Ребята, смотрите какая крутая тема для service-to-service коннектов:
- забирает инфу из Consul
- делает sidecar proxy
- умеет TLS из коробки
Что это значит: можно ходить внутри сети, или через интернет, секурно (mTLS). Из коробки.
Выпиливайте мануальные туннели на haproxy/nginx 🔥
https://www.consul.io/docs/connect/index.html
Consul by HashiCorp
Service Mesh | Consul by HashiCorp
Consul Connect provides service-to-service connection authorization and
encryption using mutual TLS.
encryption using mutual TLS.
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
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
GitHub
GitHub - envoyproxy/envoy: Cloud-native high-performance edge/middle/service proxy
Cloud-native high-performance edge/middle/service proxy - envoyproxy/envoy
👍1
Ребят, и еще тема: скоро выходит девопс дайджест на DOU, а у меня еще ничего не готово 😱
Подкиньте-ка , ̶м̶е̶л̶о̶ч̶и̶ классных новостей или статей за последний месяц в личку: @mukolaich ⬅️
Подкиньте-ка , ̶м̶е̶л̶о̶ч̶и̶ классных новостей или статей за последний месяц в личку: @mukolaich ⬅️
GitHub: Announcing unlimited free private repos
До 3 коллабораторов, но все равно - очень классно!
https://blog.github.com/2019-01-07-new-year-new-github/
До 3 коллабораторов, но все равно - очень классно!
https://blog.github.com/2019-01-07-new-year-new-github/
The GitHub Blog
New year, new GitHub: Announcing unlimited free private repos and unified Enterprise offering
Today we’re announcing two major updates to make GitHub more accessible to developers.
Ребят, кто хочет в Вену на релокейт 🔽
https://jobs.lever.co/tourradar/963f1e14-a4af-4fcc-91fb-26932ea6577d
Пишите сразу @denys_popov - работали вместе 🔥
https://jobs.lever.co/tourradar/963f1e14-a4af-4fcc-91fb-26932ea6577d
Пишите сразу @denys_popov - работали вместе 🔥
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/
Новость старая, но я не знал. Оказывается, теперь таймаут на выполнение не 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/
Amazon
AWS Lambda enables functions that can run up to 15 minutes
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
В доке у 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
Hashicorp Vault pricing: OMG
Периодически всплывают вопросы: сколько стоит Hashicorp Vault? Тот который с HA, MFA, auto unseal, Disaster recovery, Replication, etc.
Пару лет назад (средина 2017) я у них спрашивал: ответ был краток - меньше $10 000/per year не подходи, и это еще самый базовый план.
Где-то пол года назад подобную инфу риквестил Игорь Бородин: ценник был чуть поболее, но плюс-минус такой же.
А теперь посмотрите, что ответили Ярославу Молочко 😂
https://i68.tinypic.com/10qw9y1.png
P.S. Проверьте бекапы вашего, надеюсь не стенделон Vault, попробуйте отресториться с бекапа, и на вскидку прикиньте что будет, если тупо дропнуть все секреты.
Периодически всплывают вопросы: сколько стоит Hashicorp Vault? Тот который с HA, MFA, auto unseal, Disaster recovery, Replication, etc.
Пару лет назад (средина 2017) я у них спрашивал: ответ был краток - меньше $10 000/per year не подходи, и это еще самый базовый план.
Где-то пол года назад подобную инфу риквестил Игорь Бородин: ценник был чуть поболее, но плюс-минус такой же.
А теперь посмотрите, что ответили Ярославу Молочко 😂
https://i68.tinypic.com/10qw9y1.png
P.S. Проверьте бекапы вашего, надеюсь не стенделон Vault, попробуйте отресториться с бекапа, и на вскидку прикиньте что будет, если тупо дропнуть все секреты.
Terraform MySQL provider
Хотел поделиться с вами методикой работы с
Вот, например, самая банальная штука - это динамически вытягивать последнюю AMI из AWS для создания EC2. И сразу же получаем: при обновлении AMI (почти каждый день)- (forced new resource) - потому что AMI изменился, и нужно (нет) пересоздать.
Что делать:
Тут как бы все понятно - если меняется переменная ami - все ок, ничего делать не нужно. Подобная штука будет прокатывать с большинством ресурсов.
Недавно обновился MySQL Terraform provider - и появились нужные нам штуки. Но вот, проблема - при апгрейде Terraform маркает большинство ресурсов на пересоздание.
Я пробовал сюда вставить пример кода - но Telegram ломает форматирование.
Опишу словами: tls_option - была пустая строка, а теперь - будет NONE. Это произошло потому, что раньше эта опция не была реализована в модуле, а сейчас появилась. Окей, как сохранить обратную совместимость?
Втулить ему то, что было раньше:
Более подробно с кусками кода я описал тут:
https://github.com/terraform-providers/terraform-provider-mysql/issues/55#issuecomment-461610419
Вроде банальные вещи, но часто вижу, что много кто не знает.
Good luck!
Хотел поделиться с вами методикой работы с
(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!
GitHub
User Grant on Existing User Causing Errors - Version 1.5.0 · Issue #55 · terraform-providers/terraform-provider-mysql
Terraform Version 0.10.8 Affected Resource(s) mysql_grant Expected Behavior -/+ module.mod_aurora.mysql_grant.mig_user_grants (new resource required) id: "usermig@%:dev_user" =&am...