DevOps
8.46K subscribers
1.46K photos
809 videos
28 files
1.74K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
BlazingMQ

Современная высокопроизводительная система очередей сообщений с открытым исходным кодом

BlazingMQ - это фреймворк распределенных очередей сообщений с открытым исходным кодом, который ориентирован на эффективность, надежность и богатый набор функций для современных рабочих процессов.

В основе BlazingMQ лежат долговечные, отказоустойчивые, высокопроизводительные и высокодоступные очереди, а также такие функции, как различные стратегии маршрутизации сообщений (например, рабочие очереди, приоритетные, веерные, широковещательные и т. д.), сжатие, высокая согласованность, обнаружение ядовитых пилюль и т. д.

Очереди сообщений обычно обеспечивают слабосвязанный, асинхронный канал связи ("очередь") между прикладными сервисами (производителями и потребителями), которые отправляют сообщения друг другу. Можно представить это как почтовый ящик для связи между прикладными программами, где "производитель" опускает сообщение в почтовый ящик, а "потребитель" забирает его по своему усмотрению. Сообщения, помещенные в очередь, хранятся до тех пор, пока получатель не получит и не обработает их. Другими словами, приложения-производители и приложения-потребители могут временно и пространственно изолироваться друг от друга, используя очередь сообщений для облегчения взаимодействия.

Внутренняя часть BlazingMQ (брокеры сообщений) была реализована на C++, а клиентские библиотеки доступны на C++, Java и Python.

BlazingMQ - активно развивающийся проект, который был продакшен в Bloomberg в течение 8 с лишним лет.

Этот репозиторий содержит брокер сообщений BlazingMQ, клиентскую библиотеку BlazingMQ C++ и инструмент командной строки BlazingMQ, а клиентскую библиотеку BlazingMQ Java можно найти в этом репозитории.

https://github.com/bloomberg/blazingmq

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Создание успешной команды SRE

Успешные приемы, позволяющие вашей команде SRE приносить пользу

Когда я пришел в Mission Lane, я был одним из двух инженеров по надежности сайтов (SRE); вторым был мой начальник, руководитель группы SRE и впоследствии директор организации по платформам. Нам было поручено создать команду SRE, которая занималась бы вопросами наблюдаемости и опыта разработчиков. Это положило начало трехлетнему пути, в ходе которого была создана успешная организация SRE, приносящая огромную пользу Mission Lane. Команда SRE состояла из четырех человек, которые поддерживали 250 микросервисов, 130 разработчиков, сотни релизов в различных средах каждый день и около миллиарда журналов и трассировок каждый день.

https://blog.hans-knecht.com/building-a-successful-sre-team-283232bc2694

#devops #девопс

Подпишись 👉@i_DevOps
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
TFTUI - The Terraform textual UI

С помощью последней версии вы можете легко визуализировать полное дерево состояний, получая более глубокое представление о текущей конфигурации вашей инфраструктуры. Кроме того, возможность поиска по дереву и просмотра отдельных состояний ресурсов позволяет сосредоточиться на конкретных деталях для более эффективного анализа и управления. Также можно выбрать конкретные ресурсы и выполнить такие действия, как удаление. Наконец, теперь вы можете создавать и применять планы прямо из пользовательского интерфейса.

Ключевые особенности
Комплексное отображение всего дерева состояний Terraform
Удобный просмотр и навигация по состоянию одного ресурса
Поиск по дереву состояний и определениям ресурсов
Создавайте планы, отображайте их в полном объеме и применяйте их непосредственно из интерфейса TUI
Выбор одного/нескольких ресурсов
Операции над ресурсами: восстановление, очистка, удаление, уничтожение
Поддержка Terraform (например, terragrunt)

https://github.com/idoavrah/terraform-tui

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Современная безопасность контейнерных приложений

Чем раньше команда задумается о проблеме безопасности, тем лучше. В этой статье обсудим, какие проблемы ИБ есть в стандартном контейнерном приложении, поговорим о безопасности использования Docker, Kubernetes и Terraform и разберём, как можно встроить проверки в стандартный пайплайн деплоя.

Материал написан и дополнен по мотивам выступления Любови Гринкевич и Алексея Миртова из Yandex Cloud на DevOpsConf. Он будет интересен DevOps-инженерам, специалистам по безопасности, владельцам продуктов и всем, кто хочет:

научиться строить безопасный деплой,
автоматизировать проверки безопасности,
понимать проблемы и обсуждать их в команде.

Если вы столкнулись с новыми реалиями и требованиями безопасности и не знаете, с чего начать, эта статья может вам пригодиться. В качестве примеров будем рассматривать продукты и инфраструктуру Yandex Cloud, но большинство рекомендаций универсальны и не привязаны к конкретным сервисам.

https://habr.com/ru/companies/oleg-bunin/articles/786930/

#devops #девопс

Подпишись 👉@i_DevOps
🔥4
Урок, полученный при масштабировании кластера Kubernetes до 1000 подов в AWS EKS

🤔 Почему мы вообще обсуждаем эту тему? Это выглядит как простой случай увеличения количества подов в кластере EKS. Karpenter (должен позаботиться о масштабировании моих узлов) и горизонтальный pod Autoscaler (HPA) и replicaset должны позаботиться о масштабировании pod. Если вы думаете, что это так просто, остановитесь 🛑 здесь. Если вы считаете, что в этой истории есть изюминка, продолжайте читать 📖. На деле все ведет себя не так, как ожидалось, особенно когда мы начинаем выходить за пределы привычного масштаба ⚖️.

https://devopslearning.medium.com/lesson-learned-while-scaling-kubernetes-cluster-to-1000-pods-in-aws-eks-d2d399152bc2

#devops #девопс

Подпишись 👉@i_DevOps
👍3💩1
Сравнение операторов Kubernetes для PostgreSQL. Часть 1

Наши клиенты часто спрашивают нас: "Можем ли мы иметь более дешевую альтернативу Amazon RDS?" или "Было бы здорово иметь что-то похожее на RDS, но не только в AWS...". Чтобы удовлетворить их потребности и реализовать управляемое решение, подобное RDS, в Kubernetes, мы изучили текущее состояние наиболее популярных операторов PostgreSQL: Stolon, Crunchy Data, Zalando, KubeDB, StackGres. Мы сравнили их и сделали свой выбор.

Но прежде чем анализировать, что мы имеем в мире операторов K8s для PgSQL, давайте определим общие требования к потенциальной замене Amazon RDS...

https://blog.palark.com/comparing-kubernetes-operators-for-postgresql/


Сравнение операторов Kubernetes для PostgreSQL. Часть 2: CloudNativePG


Эта статья является продолжением нашего цикла статей об операторах PostgreSQL Kubernetes. В прошлой части мы сравнили операторы Stolon, Crunchy Data, Zalando, KubeDB и StackGres. Мы быстро рассмотрели их и свели их возможности в сравнительную таблицу. В этой части мы расскажем о CloudNativePG, его функциях и возможностях, а также обновим наше сравнение, включив в него новый оператор.

https://blog.palark.com/cloudnativepg-and-other-kubernetes-operators-for-postgresql/


#devops #девопс

Подпишись 👉@i_DevOps
👍8
Как разработчику «влиться» в тему DevOps

Сегодня мы решили взглянуть на ситуацию с Java- и Python-разработчиком, который задумался о «погружении» в тему DevOps в тот момент, когда он начал все больше отдаляться от привычных инструментов в пользу работы с Oracle Weblogic и shell-скриптами. Он решил совместить свой опыт в области разработки с новым опытом в работе с процессами.

Мы посмотрели на основные советы экспертов в области DevOps на Quora и дополнили рассказ примерами из опыта команды 1cloud.

https://habr.com/ru/companies/1cloud/articles/277369/

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Kyverno

Управление нативными политиками Kubernetes

Kyverno - это движок политик, разработанный для инженерных команд платформы Kubernetes. Он обеспечивает безопасность, автоматизацию, соответствие и управление с помощью политик как кода. Kyverno может проверять, изменять, генерировать и очищать конфигурации с помощью средств контроля допуска Kubernetes, фонового сканирования и сканирования репозитория исходного кода. Политики Kyverno могут управляться как ресурсы Kubernetes и не требуют изучения нового языка. Kyverno спроектирован таким образом, чтобы хорошо работать с уже используемыми вами инструментами, такими как kubectl, kustomize и Git.

https://github.com/kyverno/kyverno

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Constellation

Это первый конфиденциальный Kubernetes. Constellation защищает целые кластеры Kubernetes от (облачной) инфраструктуры с помощью конфиденциальных вычислений.

Constellation - это движок Kubernetes, который призван обеспечить максимальную безопасность данных. Он оборачивает ваш кластер K8s в единый конфиденциальный контекст, защищенный от базовой облачной инфраструктуры. Все внутри всегда зашифровано, в том числе во время выполнения в памяти. Для этого Constellation использует конфиденциальные вычисления (см. технический обзор) и, в частности, конфиденциальные виртуальные машины.

С точки зрения безопасности Constellation разработан таким образом, чтобы все данные всегда были зашифрованы и чтобы предотвратить доступ с уровня инфраструктуры (т. е. удалить инфраструктуру из TCB). Это включает доступ сотрудников ЦОД, привилегированных администраторов облака и злоумышленников, проникающих через инфраструктуру (например, злонамеренных соарендаторов, повышающих свои привилегии).

С точки зрения DevOps, Constellation спроектирован так, как вы ожидаете от современного движка K8s.

https://github.com/edgelesssys/constellation

#devops #девопс

Подпишись 👉@i_DevOps
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Service-Hub

JovianX Service Hub - это инструмент, обеспечивающий самообслуживание для внутренних заинтересованных сторон. Он предоставляет каталог инфраструктурных сервисов по требованию (например, базы данных, s3 buckets, выполнение рабочих процессов Airflow, сервисы с предварительно настроенными или предварительно загруженными наборами данных и т. д.) через простой пользовательский интерфейс самообслуживания и CLI.

https://github.com/JovianX/Service-Hub

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Argocd-vault-replacer

Плагин для ArgoCD - прекрасный плагин для замены placeholders в манифестах Kubernetes на секреты, хранящиеся в Hashicorp Vault. Двоичный файл рекурсивно просканирует текущую директорию на наличие файлов .yaml (или .yml, если вы так захотите), или возьмет yaml из stdin, и попытается заменить строки вида <secret:/store/data/path~key> на те, что получены из хранилища Vault kv2.

В этом сценарии он может постобработать вывод другого инструмента, например Kustomize или Helm.

Раньше этот плагин был доступен как прямой плагин к ArgoCD, но он не был адаптирован к потребностям ArgoCD 2.7 в работе в качестве sidecar. Если у вас есть такая потребность, пожалуйста, поднимите вопрос.

Примечание: Эта и предыдущие версии этого плагина работают только с vault, поэтому secret:... может быть указан как vault:..... В планах на будущее могут появиться и другие провайдеры секретов.

https://github.com/crumbhole/argocd-vault-replacer

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Код для облака: Освоение DevOps с помощью Python, Terraform и Kubernetes на AWS

Как инженер DevOps, я обычно связан с конвейерами, автоматизацией и облачными сервисами. Однако мне всегда было интересно узнать о другой стороне технологического мира - разработке приложений. Поэтому я подумал, почему бы не разнообразить мир? Так я пришел к созданию финансового приложения на Python, дополненного REST API.

В этом блоге я рассказываю о разработке и развертывании моего финансового приложения с нуля, от кода начального приложения до его развертывания на AWS с помощью Docker, Kubernetes (EKS), Terraform и Ansible. И знаете что? Я автоматизировал весь процесс - каждый его кусочек!

https://medium.com/@sophnel/coding-to-cloud-mastering-devops-with-python-terraform-and-kubernetes-on-aws-6251a910511f

#devops #девопс

Подпишись 👉@i_DevOps
🔥6👍2🫡1
Исчерпывающее введение в Kustomize

Kustomize - это мощный инструмент управления конфигурацией Kubernetes, который позволяет настраивать, исправлять и управлять манифестами Kubernetes в декларативной форме. В этом документе представлено полное введение в Kustomize, включая дополнительные команды и примеры.

https://ashishnoob.medium.com/a-comprehensive-introduction-to-kustomize-275b16d66315

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Вокруг Kubernetes в VK — канал для тех, кто ежедневно работает с k8s

Вас ждут подборки подборки российских и зарубежных статей по теме, советы по работе с инструментами, приглашения на комьюнити-ивенты и многое-многое другое.

В канале вы найдете:
🔹 Результаты большого исследования о работе с Kubernetes в России
🔹 Руководство по созданию кластеров и управлению инфраструктурой с помощью Terraform
🔹Запись вебинара “Безопасность k8s на практике”
🔹 Подборку англоязычных статей по теме

👉🏻 Подписывайтесь на Вокруг Kubernetes в VK, будет интересно!
This media is not supported in your browser
VIEW IN TELEGRAM
Kubectx + Kubens: Power tools for kubectl

kubectx - инструмент для более быстрого переключения между контекстами (кластерами) на kubectl
kubens - инструмент, позволяющий легко переключаться между пространствами имен Kubernetes (и настраивать их для kubectl)

https://github.com/ahmetb/kubectx

Пример

# switch to another cluster that's in kubeconfig
$ kubectx minikube
Switched to context "minikube".

# switch back to previous cluster
$ kubectx -
Switched to context "oregon".

# rename context
$ kubectx dublin=gke_ahmetb_europe-west1-b_dublin
Context "gke_ahmetb_europe-west1-b_dublin" renamed to "dublin".

# change the active namespace on kubectl
$ kubens kube-system
Context "test" set.
Active namespace is "kube-system".

# go back to the previous namespace
$ kubens -
Context "test" set.
Active namespace is "default".

#devops #девопс

Подпишись 👉@i_DevOps
👍3
System Upgrade Controller

Предоставляет контроллер обновления общего назначения, основанный на Kubernetes (для узлов).
Он представляет новое определение пользовательского ресурса для определения политик/требований обновления

https://github.com/rancher/system-upgrade-controller

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Kubernetes: шпаргалка для собеседования

Всем привет! Меня зовут Олег, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбанке, вследствие чего у меня сформировалось некоторое представление о вопросах, которые могут быть заданы соискателям. И сейчас я хочу остановиться на разделе вопросов про Kubernetes.

https://habr.com/ru/companies/gazprombank/articles/788978/

#devops #девопс

Подпишись 👉@i_DevOps
👍5👎3
Учимся использовать разные типы переменных в Ansible

Переменные Ansible — это динамические значения, которые используются в плейбуках и ролях Ansible для настройки и возможности повторного использования конфигураций. Они очень похожи на переменные в языках программирования и помогают эффективно управлять сложными задачами. Они позволяют применять один и тот же сценарий или роль в разных средах, системах или контекстах без необходимости хардкодинга конкретной информации.

Представляем перевод статьи, где подробно рассматриваются переменные Ansible.

https://habr.com/ru/companies/southbridge/articles/755266/

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Media is too big
VIEW IN TELEGRAM
Watchtower: лучший способ автоматически обновлять Docker контейнеры

В этом видео мы рассмотрим, как использовать Docker Watchtower для автоматического обновления контейнеров Docker. Watchtower - это удобный инструмент, который может существенно упростить процесс обновления контейнеров Docker. Мы покажем, как настроить Watchtower для автоматического обновления ваших контейнеров и расскажем о преимуществах этого подхода.

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Run-job 🏃‍♂️

Самый простой способ запустить простое одноразовое задание на Kubernetes.
run-job 🏃‍♂️ выполняет следующие действия с помощью простого определения YAML-файла:

Создает задание Kubernetes
Следит за его прохождением или провалом
Собирает журналы (если они доступны)
Удаляет задание

https://github.com/alexellis/run-job

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Media is too big
VIEW IN TELEGRAM
Освоение командной строки curl с Дэниелом Стенбергом

0:00 Mastering the curl command line
0:16 Daniel Stenberg
0:36 curl support by wolfSSL
0:56 setup
02:20 questions
02:52 agenda
05:25 The project
05:42 take-off
07:42 name
09:17 main products
10:48 open source
.................
3:15:50 HTTP/2
3:17:20 HTTP/3
3:18:44 HTTP/3 racing
3:20:57 HTTP alt-svc
3:22:50 HTTP HSTS
3:24:39 FTP
3:25:42 FTP(S) is not SFTP
3:26:17 FTP uses two connections
3:28:43 FTP authentication
3:29:06 FTP directory listing
3:30:24 FTP upload
3:31:16 FTPS is FTP with TLS
3:32:43 Future
3:33:01 How to dig deeper
3:35:18 Going next?
3:38:07 You can help!
3:38:14 Questions

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍7