DevOps – Telegram
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
Как связать микросервисы так, чтобы они работали идеально?

Синхронное взаимодействие или асинхронное? REST или Kafka? На открытом уроке разберём, какой подход нужен именно вашему проекту.

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

Спикер Евгений Непомнящий — опытный разработчик и преподаватель.

🔴 Записывайтесь на открытый вебинар 16 декабря в 20:00 мск и получите скидку на большое обучение «Microservice Architecture»: https://vk.cc/cFEVJS

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Метрики Prometheus в 37signals

Как мы используем Prometheus для получения, хранения и оповещения на основе метрик.

Надежная и детализированная наблюдаемость имеет критически важное значение. Она напрямую влияет на скорость реакции и устранения сбоев. Наблюдаемость помогает сосредоточить внимание на ключевых моментах и предоставляет актуальную информацию при устранении текущих инцидентов.

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

https://dev.37signals.com/prometheus-metrics-at-37signals/


#devops #девопс

Подпишись 👉@i_DevOps
👍2
Что за none образы можно увидеть в docker images?

Каждый образ в докере состоит из слоев, и имеет дочерние связи с другими слоями. По умолчанию они лежат в /var/lib/docker/graph. И когда мы закачиваем новую версию образа, он подгружает слой раз за разом. И получается что none это лишь один из слоев. Этот образ называется промежуточным. Их можно увидеть с помощью docker images -a Также есть обособленные образы none:none. Например, когда мы собираем примерно такой же образ, но, например, с иной версией ОС. В этом случае будет создан именно такой образ. Поскольку мы пересобрали образ с помощью докерфайла, а старая система стала обособленной.

Можно почистить так:

docker rmi $(docker images -f "dangling=true" -q)

#devops #девопс

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

⭐️ Все-в-одном Polyglot Observability с OLAP-хранилищем для журналов, метрик, трасс и профилей. Замена Grafana Cloud, совместимая с Loki, Prometheus, Tempo, Pyroscope, Opentelemetry, Datadog и другими 🚀.

https://github.com/metrico/qryn

#devops #девопс

Подпишись 👉@i_DevOps
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
CKS

Открытая платформа для изучения kubernetes и aws eks и подготовки к экзаменам Certified Kubernetes Specialist (CKA , CKS , CKAD)

SRE Learning Platform - это центр с открытым исходным кодом, призванный помочь ИТ-инженерам эффективно подготовиться к экзаменам CKA (Certified Kubernetes Administrator), CKS (Certified Kubernetes Security Specialist) и CKAD (Certified Kubernetes Application Developer). Кроме того, данная платформа предлагает бесценный практический опыт работы с AWS EKS (Elastic Kubernetes Service), что позволяет пользователям получить практические знания для применения в реальных условиях. Если вы хотите подтвердить свои навыки, повысить карьерные перспективы в области администрирования Kubernetes, безопасности, разработки приложений или углубиться в изучение AWS EKS, эта платформа предоставляет практические лабораторные работы, практические тесты и рекомендации экспертов для успешного прохождения сертификации.

Подготовка к экзамену CKA: Certified Kubernetes Administrator
Повысьте свои навыки для экзамена CKS: Certified Kubernetes Security Specialist
Превосходно подготовиться к экзамену CKAD: Certified Kubernetes Application Developer Exam

https://github.com/ViktorUJ/cks

#devops #девопс

Подпишись 👉 @i_DevOps
👍5
Что вы знаете Ingress и как она работает?

Ingress в Kubernetes — это API-объект, который предоставляет правила маршрутизации внешнего трафика (HTTP и HTTPS) к сервисам внутри кластера. Это позволяет управлять доступом к различным сервисам через единый внешний IP или DNS-имя, упрощая процесс маршрутизации и балансировки нагрузки.

🟢Основные компоненты и принципы работы:


1. Ingress-объект:
- Определяет правила маршрутизации.
- Включает пути (routes), соответствующие сервисам внутри кластера.
- Поддерживает перенаправление HTTP -> HTTPS, управление хостами, а также балансировку нагрузки.

2. Ingress-контроллер:
- Специальный компонент, который обрабатывает объекты Ingress и обеспечивает их работу.
- Наиболее популярные контроллеры:
- NGINX Ingress Controller
- Traefik
- HAProxy
- AWS ALB Ingress Controller

3. Как работает:
- Внешний пользователь отправляет HTTP/HTTPS-запрос.
- Запрос поступает на внешний IP-адрес, связанный с Ingress-контроллером.
- Контроллер анализирует правила Ingress и маршрутизирует запрос к нужному сервису.
- Ответ от сервиса передается обратно пользователю через тот же маршрут.

🟢Пример конфигурации Ingress:


apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: example-service
port:
number: 80


🟢Преимущества:
- Упрощенная маршрутизация: Один внешний IP-адрес для доступа к множеству сервисов.
- Поддержка SSL/TLS: Возможность обеспечения безопасного соединения.
- Балансировка нагрузки: Распределение трафика между экземплярами приложения.

🟢Использование Ingress:
Ingress удобен для публичных приложений с веб-интерфейсом, где требуется организовать доступ через доменные имена и безопасные соединения.

#devops #девопс

Подпишись 👉@i_DevOps
👍6
Поднимаем кластер Kubernetes из одной ноды под Linux

Поднимаем простейший однонодовый кластер Kubernetes на машине под управлением Ubuntu Linux 18.04 LTS.

Сразу отмечу, что по умолчанию Kubernetes торчит наружу. Если вы поднимаете ноду Kubernetes где-то на VDS просто для экспериментов, то скорее всего хотите закрыть на машине все порты кроме 22-го:

https://telegra.ph/Podnimaem-klaster-Kubernetes-iz-odnoj-nody-pod-Linux-03-29

#devops #девопс

Подпишись 👉@i_DevOps
👍7
Пять GitHub проектов, которые помогут вам стать лучшим инженером DevOps

1. How they SRE

Подборка общедоступных ресурсов о том, как технологические и технически подкованные организации по всему миру практикуют Site Reliability Engineering (SRE).

https://github.com/upgundecha/howtheysre

2. Awesome Scalability

Паттерны масштабируемых, надежных и производительных крупномасштабных систем

https://github.com/binhnguyennus/awesome-scalability

3. DevOps Exercises

Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. Вопросы для интервью по DevOps

https://github.com/bregman-arie/devops-exercises

4. Test your sysadmin skills

Сборник тестовых вопросов и ответов по Linux Sysadmin. Проверьте свои знания и навыки в различных областях с помощью этих вопросов и ответов.

https://github.com/trimstray/test-your-sysadmin-skills

5. Awesome Site Reliability Engineering

Составленный список ресурсов по надежности сайта и производственному инжинирингу.

https://github.com/dastergon/awesome-sre

#devops #девопс

Подпишись 👉@i_DevOps
👍8
Как построить «достаточно хороший» CI/CD-конвейер и разрабатывать без сбоев?

На открытом вебинаре 10 декабря в 20:00 мск мы разберем, как создать достаточно хороший pipeline для автоматизации CI/CD!

💯Вы узнаете, как внедрить автоматизацию всех этапов: от сборки и тестирования до развертывания. Поделимся практиками настройки инструментов, таких как GitLab CI/CD, Jenkins и GitHub Actions, чтобы ваши проекты были готовы к стабильному и быстрому запуску.

🧑‍💻Спикер Кирилл Казаков — DevOps Lead в Simplinic.

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

➡️Регистрируйтесь на вебинар и получите скидку 🎁 на участие в курсе «Инфраструктурная платформа на основе Kubernetes»: https://vk.cc/cFHdAq

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как можно контролировать использование ресурсов в POD?

В Kubernetes контроль использования ресурсов в Pod осуществляется через механизмы запросов (requests) и лимитов (limits), которые задаются для контейнеров в манифестах Pod'ов. Это позволяет управлять доступом к вычислительным ресурсам (CPU и память) и предотвращать чрезмерное потребление, которое может повлиять на работу кластера.

Основные способы контроля:

1. Запросы (Requests):
- Указывают минимальный объем ресурсов, который необходим контейнеру для работы.
- Kubernetes использует эту информацию для планирования Pod'ов на узлах (nodes), гарантируя, что на узле достаточно ресурсов для Pod'а.

Пример:

resources:
requests:
memory: "256Mi"
cpu: "500m"


2. Лимиты (Limits):
- Устанавливают максимальный объем ресурсов, который контейнер может использовать.
- Если контейнер превышает лимит памяти, он будет завершен. Если превышен лимит CPU, его использование будет ограничено (throttled).

Пример:

resources:
limits:
memory: "512Mi"
cpu: "1"


3. Комбинированное использование запросов и лимитов:
- Обычно рекомендуется задавать оба параметра для каждой нагрузки, чтобы обеспечить баланс между производительностью и безопасностью.
- Пример:

resources:
requests:
memory: "256Mi"
cpu: "500m"
limits:
memory: "512Mi"
cpu: "1"


4. Использование ResourceQuota:
- Устанавливает ограничения на объем ресурсов, которые могут использоваться на уровне namespace.
- Пример:

apiVersion: v1
kind: ResourceQuota
metadata:
name: compute-resources
namespace: example-namespace
spec:
hard:
requests.cpu: "4"
requests.memory: "8Gi"
limits.cpu: "10"
limits.memory: "16Gi"


5. LimitRange:
- Определяет минимальные/максимальные запросы и лимиты для Pod'ов и контейнеров в namespace.
- Пример:

apiVersion: v1
kind: LimitRange
metadata:
name: mem-cpu-limits
namespace: example-namespace
spec:
limits:
- default:
cpu: "1"
memory: "512Mi"
defaultRequest:
cpu: "500m"
memory: "256Mi"
type: Container


Мониторинг использования ресурсов:
- Используйте встроенные метрики Kubernetes через kubectl top:

kubectl top pod --namespace=<namespace>
kubectl top node

- Интеграция с инструментами наблюдаемости, такими как Prometheus, Grafana или Kubernetes Dashboard, для анализа метрик ресурсов в реальном времени.


#devops #девопс

Подпишись 👉@i_DevOps
👍61
Шпаргалка по командам Docker и Docker-compose

#devops #девопс

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

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

https://fedoramagazine.org/d-bus-overview/

#devops #девопс

Подпишись 👉@i_DevOps
👍2
Короткий совет по Linux 💡

Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:
$ find . -type d -empty -exec rmdir -v {} +
Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.

Команда rmdir гарантирует, что каталог пуст перед его удалением.

В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:
$ find . -type d -empty -delete

#LinuxTips@linux


👉 @linux_odmin
👍8
Autobase

Это инструмент, разработанный для автоматизации развёртывания и управления PostgreSQL-кластерами с использованием Ansible. Он поддерживает широкий набор функций, включая настройку репликации, автоматизацию резервного копирования с помощью инструментов, таких как pgBackRest и WAL-G, мониторинг состояния кластеров, а также настройку высокодоступной инфраструктуры (HA).

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

https://github.com/vitabaks/autobase

#devops #девопс

Подпишись 👉@i_DevOps
👍7
Sveltos: Kubernetes add-on controller

Это дополнительный контроллер Kubernetes, который упрощает развертывание и управление дополнениями и приложениями на нескольких кластерах. Он запускается на управляющем кластере и может программно развертывать и управлять дополнениями и приложениями на любом кластере в парке, включая сам управляющий кластер. Sveltos поддерживает различные форматы дополнений, включая диаграммы Helm, необработанный YAML, Kustomize, Carvel ytt и Jsonnet.

https://github.com/projectsveltos/addon-controller

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Неизбежное будущее Kubernetes: почему оркестратор должен пойти по пути Linux Kernel

На Kubecon + CloudNativeCon в Чикаго 9 ноября Тим Хокин, один из первых разработчиков Kubernetes выступил с докладом (а вот и его текстовый пересказ), в котором рассказал об одной из серьезный проблем оркестратора — неуклонно возрастающей сложности. Мысль простая: Kubernetes начинают использовать для большого количества специфических задач, например, для ML, в итоге у пользователей появляется все больше требований к K8s, разработчики пытаются за ними угнаться, а Kubernetes становится настолько сложным, что возникает сразу две подпроблемы:

Сами разработчики Kubernetes начинают теряться в обилии фичей и функциональности — то есть в коде проекта. Он становится слишком сложным для них.

Инженеры, которые внедряют и поддерживают Kubernetes в компаниях, уже с трудом способны освоить все его опции и настройки.

https://habr.com/ru/companies/aenix/articles/865238/

#devops #девопс

Подпишись 👉@i_DevOps
👍7👀1
Media is too big
VIEW IN TELEGRAM
Kubelab: Виртуальная лаборатория Kubernetes

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

https://github.com/natrontech/kubelab

#devops #девопс

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