DevOps дайджест #31: COVID-19, Kubernetes 1.18 и NTP в Facebook
В выпуске: увеличение трафика на 40% из-за вируса, бесплатные курсы Pluralsight, AWS EKS только 1.15, новая версия Loki и как сделать инфраструктуру за $20.
COVID-19
On the shoulders of giants: recent changes in Internet traffic
Статья от Cloudflare про изменение трафика после введения карантина в разных странах. Кстати эти же ребята подготовили патчи для Linux, значительно ускоряющие дисковое шифрование.
Увеличение трафика в Италии до 40% в связи с карантином — данные Cloudflare
Phagocyte — COVID-19 Firefox cleaner
Расширение для Firefox, которое спрячет от вас новости о вирусе (но от вируса не спрячет).
Pluralsight: Stay home. Skill up. #FREEapril
Более 7000 бесплатных курсов от Pluralsight на весь месяц.
COVID-19 Grafana dashboard
Дашборд для визуализации распространения COVID-19 в мире. Актуальные данные записываются в InfluxDB c помощью такого инструмента (интересный репозиторий, посмотрите).
Так выглядит дашборд для визуализации COVID-19 в Grafana
Kubernetes & Docker
Kubernetes 1.18: Fit & Finish
Вышел Kubernetes 1.18, это первый релиз в 2020 году. Основной упор был, как всегда, на улучшение beta и stable функциональности и добавление новых фич (все это примерно в одинаковом количестве, как говорят авторы анонса):
- Ранее в k8s CPU Manager и Device Manager работали независимо друг от друга. C Topology Manager (теперь в beta) выделение ресурсов будет происходить более оптимально на NUMA архитектуре.
- Дорабатывается Ingress, терерь вместо аннотации kubernetes.io/ingress.class можно будет использовать поле ingressClassName, добавили ресурс IngressClass. Также добавили поле pathType, которое может быть Exact, Prefix, ImplementationSpecific(default)
- Добавили kubectl alpha debug (alpha). В уже запущенном поде можно запустить ephemeral контейнер и работать с ним в интерактивном режиме из консоли. Очень круто. Ранее примерно того же эффекта можно было достичь только обновив под, тем самым пересоздать его (и ждать пока проявится тот же самый баг, а может другая нода, а может еще что-то новое, ага...). alpha debug позволит нам удобно дебажить уже существующий под.
- Для Windows добавили поддержку CSI. Не сильно в этом разбираемся, но из прочитанного: непривилегированные контейнеры теперь смогут писать на диск (privileged storage operations). Подробнее здесь.
- Множество других изменений — читаем оригинальный анонс.
On Kubernetes CPU Limits
Коротенькая статья об установке CPU Limits в Kubernetes. The bottomline: cpu limits работают довольно неточно, и хорошей практикой является не устанавливать их вообще. От себя добавим, что имеет смысл устанавливать лимиты на процессор в некоторых случаях: если чрезмерное потребление процессора вашим приложением может привести к нестабильной работе «соседних» приложений, если вы продаете хостинг сервисов, обеспечиваете необходимый QoS или если вы запускаете тесты на производительность.
What happens when ... Kubernetes edition!
Помните, как на собеседованиях спрашивают «Вы вводите в браузер URL и нажимаете Enter. Опишите, что происходит дальше?» Или же «Вы вводите команду в терминал Linux и нажимаете Enter. Опишите, что происходит дальше». В статье автор описывает, что происходит после того, как мы введем в командной строке kubectl run nginx —image=nginx —replicas=3 и нажмем Enter.
Guide to Kubernetes Egress Network Policies
Мало кто пока применяет на практике Kubernetes Network Policies, но уже появляются гайды не только в официальном блоке k8s.
Certified Kubernetes Administrator (CKA) with Practice Tests
Отличный (платный) курс на Udemy об администрировании Kubernetes. Курс можно смотреть как для подготовки к сертификации Certified Kubernetes Administrator, так и для изучения экосистемы Kubernetes. Особенность курса — отличные практические задания. Курс не новый, но посоветовать его как хорошее учебное пособие по Kubernetes стоит. Есть еще аналогичный курс для подготовки к экзамену CKAD (Application Developer), он предназначен в большей мере для разработчиков.
«Let’s use Kubernetes!» Now you have 8 problems
Альтернативный взгляд на то, какие проблемы может повлечь за собой Kubernetes.
Four ways to build hybrid clouds with Kubernetes
Это обзор Banzai Cloud Pipeline, но с фокусом на построение мультиклаудных Kubernetes-инфраструктур. В статье рассмотрели 4 реализации: cluster groups, federation, backyards, cloud fusion.
AWS
Amazon EKS now supports Kubernetes version 1.15
Ура, AWS EKS теперь умеет в Kubernetes 1.15, то есть отстает на целых 3 версии. Ну, отлично. Из интересного — появилась поддержка TLS termination on NLB, которую можно настроить из CRD.
Amazon ElastiCache Global Datastore for Redis
Отличная новость, теперь можно строить репликацию AWS Elasticache for Redis в нескольких регионах. Интересно, как это решение будет вести себя под нагрузкой.
Google Cloud Platform
Managed Kubernetes Price Comparison (2020)
Сравнение цен на managed Kubernetes решение в клаудах (DO дешевле на маленьких кластерах, GKE — на больших).
Стоимость managed k8s в зависимости от размера кластера и провайдера
Releases
Loki v1.4.0 released, with query statistics and up to 300x regex optimization
Что нового:
- статистика запросов в logcli —stats;
- бинарные операторы в LogQL;
- ускорение скорости работы regex фильтров до 300 раз.
HashiCorp Terraform Operator for Kubernetes
Hashicorp выпустили альфа-версию Terraform оператора для Kubernetes: он расширяет Kubernetes API, сам создает workspace в Terraform Cloud и зависимости для приложения. Например, оператор может поднять базу данных, менеджер очередей или любую другую зависимость приложения перед его запуском.
Memcached 1.6.0
Новая версия memcached (я не знаю, что там еще можно улучшать), но изменений вагон и маленькая тележка. Я прошелся по всем изменениям и решил ничего отдельно в описание не выносить.
Interesting
Building a more accurate time service (NTP) at Facebook scale
Классная статья, которая будет полезна на собеседованиях в FAANG. NTP — это вечная проблема и очень сложная инженерная задача. В статье описано, как они ее решают и как спроектировали публичный NTP для всего мира.
10ms отставание в NTPD после каждого рестарта
One decade in Zalando Tech
Статья от Henning Jacobs о том, как прошли его 10 лет работы в Zalando. Если вы никогда не работали 10 лет в одной компании — вам будет интересно.
От Олега Миколайченко
Хочу обратить внимание DevOps-инженеров и других специалистов на факт: рынок разработки переигрался за пару дней. Из рынка инженера этот рынок стал рынком работодателя.
Массовые сокращения, урезания зарплат на период карантина, отозванные офферы, рецессия в экономике дают огромный повод задуматься и оценить реальную пользу, которую мы приносим бизнесу.
Я советую сейчас запустить Cost Optimization процесс в вашей компании. Посмотрите, от чего вы можете отказаться в свой работе за несколько дней и как можете сэкономить. Очистите старые ресурсы, проанализируйте загрузку кластеров и сделайте даунскейл. Я рекомендую сыграть проактивно: бизнесу сейчас сложно. Бизнес в любом случае инициирует сокращение расходов на инфраструктуру.
Намного лучше, когда вы проактивно запускаете Cost Optimization и через пару дней делитесь результатом с бизнесом в таком формате: мы понимаем, вам сложно, мы сами нашли и оптимизировали несколько мест и теперь тратим меньше. Это очень сильная позиция.
Месяц назад я написал статью о том, как делать инфраструктуру когда нет денег, но чтобы результат был с «запасом прочности». В тот момент я даже и подумать не мог, насколько это будет актуально: Как сделать инфраструктуру для стартапа, если в кармане $20.
Постарайтесь диверсифицировать риски, связанные с компанией и единственным источником дохода: проанализируйте рынок, область, в которой работает компания и последствия. Если нужно — рассматривайте предложения на рынке, их по-прежнему более чем достаточно, но конкуренция больше из-за сокращений. Для того чтобы помочь, я запущу подборки вакансий, которые я лично проверил, с требованиями и вилками зарплат в телеграм-канале. Если у вас отозвали оффер — напишите мне, возможно, мы будем делать подборки с профилями инженеров, которые ищут работу.
Во время карантина увеличивайте свою ценность как специалиста: получите сертификацию, осознанно прочитайте книгу о SRE или самостоятельно изучите алгоритмы, посмотрите курсы по System Design.
Держите руку на пульсе бизнеса, спрашивайте его: что тебе важно от нашего отдела в этот момент? Очень вероятно, что будет нужна скорость: сделать новый функционал, который взорвет рынок или переключиться на безопасность, например, как в Zoom. Большинство сейчас еще не знает, что им нужно, но от сокращения стоимости инфраструктуры не откажется ни одна компания.
Мойте руки с мылом, найдите причины почему карантин для вас — это хорошо, купите гантели, перейдите на правильное питание и сделайте так, чтобы когда карантин закончится, вы посмотрели и подумали: хм, сколько всего было сделано!
А мы будем делать для вас дайджесты.
Co-authors:
← Предыдущий выпуск: DevOps дайджест #30