Forwarded from DevOps&SRE Library
Отличная серия постов в блоге компании Gruntwork про некоторые важные аспекты обслуживания кластеров Kubernetes.
Zero Downtime Server Updates For Your Kubernetes Cluster:
https://blog.gruntwork.io/zero-downtime-server-updates-for-your-kubernetes-cluster-902009df5b33
Gracefully Shutting Down Pods in a Kubernetes Cluster:
https://blog.gruntwork.io/gracefully-shutting-down-pods-in-a-kubernetes-cluster-328aecec90d
Delaying Shutdown to Wait for Pod Deletion Propagation:
https://blog.gruntwork.io/delaying-shutdown-to-wait-for-pod-deletion-propagation-445f779a8304
Avoiding Outages in your Kubernetes Cluster using PodDisruptionBudgets:
https://blog.gruntwork.io/avoiding-outages-in-your-kubernetes-cluster-using-poddisruptionbudgets-ef6a4baa5085
Zero Downtime Server Updates For Your Kubernetes Cluster:
https://blog.gruntwork.io/zero-downtime-server-updates-for-your-kubernetes-cluster-902009df5b33
Gracefully Shutting Down Pods in a Kubernetes Cluster:
https://blog.gruntwork.io/gracefully-shutting-down-pods-in-a-kubernetes-cluster-328aecec90d
Delaying Shutdown to Wait for Pod Deletion Propagation:
https://blog.gruntwork.io/delaying-shutdown-to-wait-for-pod-deletion-propagation-445f779a8304
Avoiding Outages in your Kubernetes Cluster using PodDisruptionBudgets:
https://blog.gruntwork.io/avoiding-outages-in-your-kubernetes-cluster-using-poddisruptionbudgets-ef6a4baa5085
Forwarded from HighLoad++
Сегодня в 19:00 по Санкт-Петербургу у нас обучающий митап на тему «Очередь. Конвейерная обработка». Заканчивайте свои дела, устраивайтесь поудобнее и присоединяйтесь к трансляции https://youtu.be/_3nKjCjt2uU
YouTube
Митап 3: Очередь. Конвейерная обработка. Highload User Group.
Приглашаем на конференцию Saint HighLoad++ 2024, которая пройдет 24 и 25 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: https://vk.cc/cuyIqx
--------
--------
Приглашаем на HighLoad++ Foundation — крупнейшую в России профессиональную…
Программа, подробности и билеты по ссылке: https://vk.cc/cuyIqx
--------
--------
Приглашаем на HighLoad++ Foundation — крупнейшую в России профессиональную…
Forwarded from DevOps&SRE Library
Microservice Architecture at Medium
Отличный пост в инженерном блоге Medium про микросервисную архитектуру приложений.
https://medium.engineering/microservice-architecture-at-medium-9c33805eb74f
Отличный пост в инженерном блоге Medium про микросервисную архитектуру приложений.
https://medium.engineering/microservice-architecture-at-medium-9c33805eb74f
Forwarded from Go Дайджест
Отличная статья про Reader 🤓📚 и Writer ✍️ интерфейсы, основополагающие сущности Go.
https://medium.com/learning-the-go-programming-language/streaming-io-in-go-d93507931185
https://medium.com/learning-the-go-programming-language/streaming-io-in-go-d93507931185
Medium
Streaming IO in Go
In Go, input and output operations are achieved using primitives that model data as streams of bytes that can be read from or written to…
Недавно я писал про интересный проект - https://github.com/argoproj/argo-cd - декларативный CI\CD для Kubernetes и Openshift, у этих же ребят есть еще одна интересная штука - менеджер зависимостей для k8s, который позволяет ждать и обрабатывать события Kubernetes
https://github.com/argoproj/argo-events
#k8s #events
https://github.com/argoproj/argo-events
#k8s #events
GitHub
GitHub - argoproj/argo-cd: Declarative Continuous Deployment for Kubernetes
Declarative Continuous Deployment for Kubernetes. Contribute to argoproj/argo-cd development by creating an account on GitHub.
Forwarded from HABR FEED + OPENNET
Холиварный рассказ про линтеры
https://habr.com/ru/post/433480/
Tags: Блог компании Конференции Олега Бунина (Онтико), Open source, Python, Программирование, Совершенный код, python, линтер, pylint, moscow python conf++
Author eyeofhell on #habrahabr
https://habr.com/ru/post/433480/
Tags: Блог компании Конференции Олега Бунина (Онтико), Open source, Python, Программирование, Совершенный код, python, линтер, pylint, moscow python conf++
Author eyeofhell on #habrahabr
Habr
Холиварный рассказ про линтеры
Все мы пишем код. Много кода. Само собой, бывают ошибки. Иногда это просто кривой код, а иногда цена ошибки — взорванный космический корабль. Конечно, никто не д...
Хорошие люди ищут питониста-сеньориста - лайк-шер-репост!
Ищем Senior Python Developer’a
Ставка от 180 000р // Зависит от навыков и опыта.
Мы, очень быстро растем и нуждаемся в синьоре-помидоре в команду разработки, чтобы создать новый рынок!
Hot-WiFi - это 5500+ гостевых Wi-Fi сетей, более чем с миллионом пользователей в месяц. Мы работаем с крупнейшими операторами связи в России и СНГ. Совместно с компаниями Яндекс и Mail.Ru мы строим собственную маркетинговую платформу с отличным рекомендательным сервисом, основанном на использовании ML и нейросетей для аналитики большого объема данных.
Основные требования:
• Уверенное знание Python, Gitflow, алгоритмов и структур данных
• Знание паттернов и антипаттернов микросервисной архитектуры
• Знание баз данных PostgreSQL, MongoDB
• Высокий уровень ответственности
• Инициативность и хорошие коммуникативные навыки
• Навыки описания метрик для своих приложений в Prometheus
• Умение правильно и понятно документировать написанные приложения и покрывать их тестами
Плюсами будут:
• Участие в проектах на Github
• Знание Golang или желание его заполучить
• Опыт проектирования и разработки REST API
• Опыт работы с Kubernetes
• Опыт работы с ClickHouse и Elasticsearch
Предлагаем:
• Участие в интересном проекте, работу с большим объемами данных, алгоритмами ML.
• Офис у м.Дмитровская (никаких опенспейсов)
• Участие и выступления на конференциях
• Обучение за счет компании
• Белую зарплату
• Хорошую систему мотивации и премий
• Возможность быстро подтянуть навыки работы с облачными сервисами (Я.Облако, GCP)
Помимо указанного в требованиях, в работе мы используем Linux, Nginx, uWSGI, gRPC, SaltStack, Helm, RabbitMQ, Redis, NATS, Celery, Ansible, Apache Kafka.
Писать в личку @mo1seev или на почту i.moiseev@hot-wifi.ru
Ищем Senior Python Developer’a
Ставка от 180 000р // Зависит от навыков и опыта.
Мы, очень быстро растем и нуждаемся в синьоре-помидоре в команду разработки, чтобы создать новый рынок!
Hot-WiFi - это 5500+ гостевых Wi-Fi сетей, более чем с миллионом пользователей в месяц. Мы работаем с крупнейшими операторами связи в России и СНГ. Совместно с компаниями Яндекс и Mail.Ru мы строим собственную маркетинговую платформу с отличным рекомендательным сервисом, основанном на использовании ML и нейросетей для аналитики большого объема данных.
Основные требования:
• Уверенное знание Python, Gitflow, алгоритмов и структур данных
• Знание паттернов и антипаттернов микросервисной архитектуры
• Знание баз данных PostgreSQL, MongoDB
• Высокий уровень ответственности
• Инициативность и хорошие коммуникативные навыки
• Навыки описания метрик для своих приложений в Prometheus
• Умение правильно и понятно документировать написанные приложения и покрывать их тестами
Плюсами будут:
• Участие в проектах на Github
• Знание Golang или желание его заполучить
• Опыт проектирования и разработки REST API
• Опыт работы с Kubernetes
• Опыт работы с ClickHouse и Elasticsearch
Предлагаем:
• Участие в интересном проекте, работу с большим объемами данных, алгоритмами ML.
• Офис у м.Дмитровская (никаких опенспейсов)
• Участие и выступления на конференциях
• Обучение за счет компании
• Белую зарплату
• Хорошую систему мотивации и премий
• Возможность быстро подтянуть навыки работы с облачными сервисами (Я.Облако, GCP)
Помимо указанного в требованиях, в работе мы используем Linux, Nginx, uWSGI, gRPC, SaltStack, Helm, RabbitMQ, Redis, NATS, Celery, Ansible, Apache Kafka.
Писать в личку @mo1seev или на почту i.moiseev@hot-wifi.ru
Forwarded from DevOps Deflope News
Интересная серия статей в блоге KubeCost про мониторинг расхода денег на Kubernetes кластера и детектирование перерасхода средств. С красивыми дашбордами и готовыми запросами, протестированными для GKE и EKS
http://amp.gs/97o4
http://amp.gs/97oU
#kubernetes #article
http://amp.gs/97o4
http://amp.gs/97oU
#kubernetes #article
Medium
Effectively Managing Kubernetes Resources with Cost Monitoring
This is the first in a series of posts for managing Kubernetes costs. Article shows how to quickly setup monitoring for basic cost metrics.
Forwarded from CatOps
At Google Cloud blog published nice article about SLI tunning
Article not small, so I made some highlits for you:
- Compare SLI with what affects users (compared SLI metrics with mentions in social networks, posts on forums, support tickets). According to the received picture - adjust SLI to make it more realistic.
- Have simple ToDo for founding first alarm/spike for incident
- If you have no alarm (so sad...) and get info from users - Google have a specific tag: "Customer found it first" when they're carrying out their postmortems.
- If your SLIs are unhappy but customers are fine - Split logs created by users and service errors, change levels of abstraction, etc.
And, of cource, nearly any SLI is better than no SLI.
#monitoring #sli
Article not small, so I made some highlits for you:
- Compare SLI with what affects users (compared SLI metrics with mentions in social networks, posts on forums, support tickets). According to the received picture - adjust SLI to make it more realistic.
- Have simple ToDo for founding first alarm/spike for incident
- If you have no alarm (so sad...) and get info from users - Google have a specific tag: "Customer found it first" when they're carrying out their postmortems.
- If your SLIs are unhappy but customers are fine - Split logs created by users and service errors, change levels of abstraction, etc.
And, of cource, nearly any SLI is better than no SLI.
#monitoring #sli
Forwarded from Sysadmin Tools 🇺🇦
Как создать MySQL InnoDB Cluster
Пошаговая инструкция ок комманды разработчиков MySQL
#mysql #inndob #cluster #manual
https://mysqlserverteam.com/mysql-innodb-cluster-real-world-cluster-tutorial-for-ubuntu-and-debian/
Пошаговая инструкция ок комманды разработчиков MySQL
#mysql #inndob #cluster #manual
https://mysqlserverteam.com/mysql-innodb-cluster-real-world-cluster-tutorial-for-ubuntu-and-debian/
Forwarded from HABR FEED + OPENNET
[Перевод] Давайте поговорим о ведении логов
https://habr.com/ru/post/440200/
Tags: Go, golang, logging, логгирование, логгинг, связанность, интерфейс, разработка по
Author r3code on #habrahabr
https://habr.com/ru/post/440200/
Tags: Go, golang, logging, логгирование, логгинг, связанность, интерфейс, разработка по
Author r3code on #habrahabr
Хабр
Давайте поговорим о ведении логов
Этот пост вдохновлен темой в форуме Go Forum, начатой Nate Finch. Этот пост сконцентрирован на языке Go, но если пройти мимо этого, я думаю, идеи представленные...
Forwarded from Sysadmin Tools 🇺🇦
Kubernetes - платформа для управления Docker-контейнерами.
00:00 - Введение: какую боль решает Kubernetes
09:25 - Описание проекта
12:17 - Метки в Kubernetes
18:25 - Pod - базовая единица в Kubernetes
33:10 - Deployments - основная рабочая лошадка
37:57 - Немного о Google Cloud SQL
39:53 - Secrets. Хранение паролей и прочего в Kubernetes
1:00:57 - Хранение данных (volumes) в Kubernetes
1:07:40 - Сервисы. Учим Deployment'ы взаимодействовать друг с другом
1:23:19 - Ingress. Публикуем результаты во внешний мир
1:39:25 - Как "разворачиваются" обновления в Kubernetes
1:48:43 - Что еще есть в Kubernetes!
https://www.youtube.com/watch?v=L3tgJXsMUTU
00:00 - Введение: какую боль решает Kubernetes
09:25 - Описание проекта
12:17 - Метки в Kubernetes
18:25 - Pod - базовая единица в Kubernetes
33:10 - Deployments - основная рабочая лошадка
37:57 - Немного о Google Cloud SQL
39:53 - Secrets. Хранение паролей и прочего в Kubernetes
1:00:57 - Хранение данных (volumes) в Kubernetes
1:07:40 - Сервисы. Учим Deployment'ы взаимодействовать друг с другом
1:23:19 - Ingress. Публикуем результаты во внешний мир
1:39:25 - Как "разворачиваются" обновления в Kubernetes
1:48:43 - Что еще есть в Kubernetes!
https://www.youtube.com/watch?v=L3tgJXsMUTU
YouTube
Введение в Kubernetes - Discovery - Javascript.Ninja
00:00 - Введение: какую боль решает Kubernetes
09:25 - Описание проекта
12:17 - Метки в Kubernetes
18:25 - Pod - базовая единица в Kubernetes
33:10 - Deployments - основная рабочая лошадка
37:57 - Немного о Google Cloud SQL
39:53 - Secrets. Хранение паролей…
09:25 - Описание проекта
12:17 - Метки в Kubernetes
18:25 - Pod - базовая единица в Kubernetes
33:10 - Deployments - основная рабочая лошадка
37:57 - Немного о Google Cloud SQL
39:53 - Secrets. Хранение паролей…
Forwarded from Вокруг Kubernetes в VK
Совсем скоро начинаем трансляцию нашего ♥ Kubernetes Meetup #2 в Mail.ru – присоединяйтесь: https://www.youtube.com/watch?v=rO6K6KOH9ZM
YouTube
♥ Kubernetes Meetup #2 в офисе Mail.Ru Group
Организаторы серии @Kubernetes Meetup: Mail.Ru Cloud Solutions https://mcs.mail.ru/ Анонсы мероприятий в Telegram: https://xn--r1a.website/k8s_mail Программа митапа: https://corp.mail.ru/ru/press/events/550/
Forwarded from ДевОпс Інженер 🇺🇦 (Oleg Mykolaichenko)
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...
Forwarded from Sysadmin Tools 🇺🇦
https://www.saltstack.com/blog/between-security-and-it-operations
И вот тут можно паблик бету secops от Saltstack потрогать
https://www.saltstack.com/solutions/secops/
И вот тут можно паблик бету secops от Saltstack потрогать
https://www.saltstack.com/solutions/secops/
Forwarded from DevOps Deflope News
26 февраля в Санкт-Петербурге пройдет третий митап по Kubernetes.
Мероприятие будет проходить в офисе Dell EMC. Прямой трансляции к сожалению не будет, видео станет доступно в течение месяца после проведения митапа.
Темы:
* История выбора подходов к деплою коробочного решения с богатой историей в openshift (Лев Гончаров)
* Жизненный путь K8S кластера на Bare Metal (Юрий Пастушенко)
* Про хранение данных в кубере, CSI и наши проблемы, которые не покрыты кубером и спекой (Федор Чемашкин)
Ссылки на регистрацию:
timepad — http://amp.gs/9vLr
meetup — http://amp.gs/9vLi
#events #spb #kubernetes
Мероприятие будет проходить в офисе Dell EMC. Прямой трансляции к сожалению не будет, видео станет доступно в течение месяца после проведения митапа.
Темы:
* История выбора подходов к деплою коробочного решения с богатой историей в openshift (Лев Гончаров)
* Жизненный путь K8S кластера на Bare Metal (Юрий Пастушенко)
* Про хранение данных в кубере, CSI и наши проблемы, которые не покрыты кубером и спекой (Федор Чемашкин)
Ссылки на регистрацию:
timepad — http://amp.gs/9vLr
meetup — http://amp.gs/9vLi
#events #spb #kubernetes
kubernetes-spb.timepad.ru
kubernetes spb meetup #3 / События на TimePad.ru
Мероприятие будет опять же проходить в офисе Dell EMC. Как и в прошлый раз будет представлено 3 доклада.
Forwarded from Sys-Admin InfoSec (sys_admin_poster_bot)
Подоспел бесплатный онлайн практикум DevOps by REBRAIN: Docker
19 Февраля (вторник) в 19:00 по МСК
Регистрация (количество мест ограничено)
https://bit.ly/2Bxheyk
Время проведения
19 Февраля (вторник) в 19:00 по МСК
Что будет на практикуме
- Зачем нужен Docker?
- Обзор самых актуальных проблем, как Docker их решает
- Обзор внутреннего устройства Docker
- Контейнерная виртуализация
- Auths
- Docker registry
- Собираем и запускаем свой первый Docker контейнер
- Обзор систем оркестрации для Docker
Кто ведет
Василий Озеров - основатель агентства Fevlake (fevlake.com) и действующий Devops-инженер (опыт в Devops более 5 лет). Регулярно выступет на RootConf, DevOpsConf Russia, HighLoad
19 Февраля (вторник) в 19:00 по МСК
Регистрация (количество мест ограничено)
https://bit.ly/2Bxheyk
Время проведения
19 Февраля (вторник) в 19:00 по МСК
Что будет на практикуме
- Зачем нужен Docker?
- Обзор самых актуальных проблем, как Docker их решает
- Обзор внутреннего устройства Docker
- Контейнерная виртуализация
- Auths
- Docker registry
- Собираем и запускаем свой первый Docker контейнер
- Обзор систем оркестрации для Docker
Кто ведет
Василий Озеров - основатель агентства Fevlake (fevlake.com) и действующий Devops-инженер (опыт в Devops более 5 лет). Регулярно выступет на RootConf, DevOpsConf Russia, HighLoad
Forwarded from Go Library
an_introduction_to_go.pdf
1.4 MB
An Introduction to Go
Why and how to write good Go code
Why and how to write good Go code