TGViewer
Channel Public Channel
DevOps Star (Звезда Девопса)

DevOps Star (Звезда Девопса)

@devops_star

Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin

По всем вопросам @evgenycarter
Subscribers
2.13K
Photos
309
Videos
328
Links
401

Showing posts older than #271 · Back to latest

Older Posts 20 shown
Post #270 897
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_star
  • 👍 2
Post #268 832
Код для облака: Освоение 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_star
  • 👍 1
Post #267 758
Service-Hub

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

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

👉 @devops_star
  • 👍 3
Post #266 889
Constellation

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

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

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

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

https://github.com/edgelesssys/constellation

👉 @devops_star
  • 👍 1
Post #265 989
🔥 Как ускорить деплой в Kubernetes?

Медленный деплой в Kubernetes — боль любого DevOps-инженера. Ожидание завершения обновления может растягиваться на минуты, а иногда и дольше. Давайте разберёмся, как ускорить этот процесс!

1️⃣ Используем kubectl rollout restart вместо полного пересоздания подов
Вместо kubectl delete pod лучше использовать:

kubectl rollout restart deployment my-app

Так Kubernetes обновит поды поочередно, не убивая их сразу.

2️⃣ Минимизируем образ контейнера
Чем меньше образ, тем быстрее он загружается. Используйте минимальные базовые образы, например:
- alpine
- distroless
- scratch

3️⃣ Включаем сжатие в Docker
При docker push можно сжать слои с помощью:

export DOCKER_BUILDKIT=1
docker build --compress -t my-app .

Это ускорит загрузку образа в реестр.

4️⃣ Используем kustomize или Helm для ускорения шаблонизации
Kustomize позволяет изменять манифесты без дублирования, а Helm хранит шаблоны, минимизируя изменения в values.yaml.

5️⃣ Подключаем imagePullPolicy: IfNotPresent
Если образ уже есть на ноде, Kubernetes не будет скачивать его заново. Включаем в деплойменте:

containers:
- name: my-app
image: my-registry/my-app:latest
imagePullPolicy: IfNotPresent

Но будь осторожен — это работает только при версионных тегах!

6️⃣ Настраиваем readinessProbe
Иногда поды стартуют, но ещё не готовы принимать трафик. Добавляем readinessProbe, чтобы сервис не направлял запросы на неподготовленные поды:

readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 2
periodSeconds: 5

Это ускоряет переключение на новые версии.

7️⃣ Параллельный rollout (maxSurge/maxUnavailable)
Позволяет обновлять несколько подов сразу:

strategy:
rollingUpdate:
maxSurge: 2
maxUnavailable: 1
type: RollingUpdate

Так Kubernetes создаст новые поды раньше, чем удалит старые.

8️⃣ Используем --cache-from для кэширования слоёв Docker
Если билдите образ в CI/CD, кэшируйте слои:

docker build --cache-from=my-registry/my-app:latest -t my-app .

Это ускорит сборку.

9️⃣ Оптимизируем CI/CD пайплайн
- Используем kaniko для сборки образов без Docker Daemon
- Включаем параллельные шаги
- Отключаем ненужные тесты в pre-prod стадиях


👉 @devops_star
  • 👍 3
Post #264 947
Kyverno

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

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

https://github.com/kyverno/kyverno

👉 @devops_star
  • 👍 3
Post #263 935
Как разработчику «влиться» в тему DevOps

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

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

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

👉 @devops_star
  • 👍 2
Post #262 874
TFTUI - The Terraform textual UI

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

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

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

👉 @devops_star
  • 👍 3
Post #261 998
🔥 Автоматическое удаление старых логов в Linux 🔥

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

📌 Скрипт для удаления логов старше 7 дней:


#!/bin/bash

LOG_DIR="/var/log" # Директория с логами
DAYS=7 # Количество дней хранения

find "$LOG_DIR" -type f -name "*.log" -mtime +$DAYS -exec rm -f {} \;

echo "Старые логи удалены!"


🔹 Можно добавить этот скрипт в cron для автоматического запуска, например, каждый день в 3 часа ночи:

0 3 * * * /path/to/script.sh


✅ Преимущества:
- Освобождает место на сервере 🧹
- Автоматизирует рутину ⏳
- Предотвращает переполнение диска 🛑

Используйте с умом и не забывайте проверять важные логи перед удалением!

👉 @devops_star
  • 👍 4
  • 👎 1
Post #260 1.03K
Pipeline CI/CD, объясненный простыми словами

Раздел 1 - SDLC с CI/CD
Жизненный цикл разработки программного обеспечения (SDLC) состоит из нескольких ключевых этапов: разработка, тестирование, развертывание и сопровождение. CI/CD автоматизирует и интегрирует эти этапы, чтобы обеспечить более быстрые и надежные релизы.
Когда код размещается в git-репозитории, он запускает автоматизированный процесс сборки и тестирования. Для проверки кода запускаются сквозные (e2e) тесты. Если тесты пройдены, код может быть автоматически развернут на этапе staging/продакшен. Если обнаружены проблемы, код возвращается в разработку для исправления ошибок. Такая автоматизация обеспечивает быструю обратную связь с разработчиками и снижает риск появления ошибок в продакшене.

Раздел 2 - Разница между CI и CD
Непрерывная интеграция (CI) автоматизирует процесс сборки, тестирования и слияния. Она запускает тесты при коммите кода, чтобы обнаружить проблемы интеграции на ранней стадии. Это стимулирует частые коммиты кода и быструю обратную связь.

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

Раздел 3 - CI/CD Pipeline
Типичный pipeline CI/CD состоит из нескольких взаимосвязанных этапов:
- Разработчик коммитит изменения кода в системе контроля исходного кода
- CI-сервер обнаруживает изменения и запускает сборку
- Код компилируется, тестируется (модульные, интеграционные тесты)
- Результаты тестирования сообщаются разработчику
- При успешном завершении артефакты развертываются в среде staging.
- Дальнейшее тестирование может быть проведено в среде staging перед выпуском.
- Система CD развертывает одобренные изменения в продакшене

👉 @devops_star
  • 👍 5
Post #259 932
Faasd

Это переосмысленный OpenFaaS, но без стоимости и сложности Kubernetes. Он работает на одном хосте с очень скромными требованиями, что делает его быстрым и простым в управлении. Под капотом он использует containerd и Container Networking Interface (CNI) вместе с теми же основными компонентами OpenFaaS из основного проекта.

https://github.com/openfaas/faasd

👉 @devops_star
  • 👍 3
Post #258 931
GMonit приглашает на технический вебинар

🗓 Когда: 13 марта, 17:00 (Мск)
🔗 Регистрация по ссылке

О чем поговорим:

1️⃣ Как работают head-based и tail-based сэмплирование — плюсы и подводные камни.
2️⃣ Какие алгоритмы помогают снижать нагрузку на инфраструктуру.
3️⃣ Когда оптимизация данных экономит деньги, а когда — создает проблемы.

В финале — разбор реальных сценариев и демонстрация сэмплирования в GMonit + QA-сессия.

Если ваши системы генерируют тонны логов, метрик и трейсинга — этот вебинар поможет держать их под контролем. 😉
Post #257 917
🔧 DevOps и искусственный интеллект: будущее уже здесь?

В последние годы AI все больше проникает в сферу DevOps, автоматизируя рутинные процессы, улучшая мониторинг и повышая скорость разработки. Но насколько он реально полезен?

🔥 Где уже используют AI в DevOps?
✅ Автоматизация CI/CD – умные алгоритмы анализируют код и предсказывают потенциальные ошибки.
✅ Мониторинг и алерты – ML-модели анализируют логи, предсказывают сбои и уменьшают количество фальшивых тревог.
✅ Оптимизация инфраструктуры – AI помогает уменьшить затраты, предсказывая пиковые нагрузки и распределяя ресурсы.
✅ Чат-боты для SRE – автоматический разбор инцидентов и предложение решений.

🚀 Будущее DevOps с AI
В ближайшие годы AI в DevOps станет не просто помощником, а полноценным участником команды. Автоматическая коррекция инфраструктуры, автогенерация конфигураций и даже self-healing системы – всё это уже не фантастика.

👉 @devops_star
  • ❤ 1
  • 👍 1
  • 👎 1
Post #256 978
Притормози! Глубокое погружение в ограничение скорости

В этом посте мы обсудим важность и реализацию механизмов ограничения скорости для повышения надежности API.

Что такое ограничение скорости? Это механизм контроля, определяющий, как часто пользователь может обращаться к вашему API в течение определенного времени.

Итак, почему вас должно волновать ограничение скорости? Рассмотрим ситуацию, когда к вашему API поступает огромное количество запросов за короткий промежуток времени. Это может быть связано с резким увеличением трафика пользователей, сбоем, вызывающим повторные запросы, или даже попыткой перегрузить вашу систему с помощью DDOS-атаки. Без ограничения скорости ваша система может быть перегружена, что приведет к медленным ответам или, что еще хуже, к полному отказу в обслуживании.

Но преимущества ограничения скорости выходят за рамки просто защиты вашей системы. Это также инструмент для управления использованием сервиса. Оно помогает применять политики использования API, контролировать квоты API и даже предлагать клиентам многоуровневые планы использования. Проще говоря, ограничение скорости - это ключевой игрок в эффективном управлении API.

https://www.codereliant.io/rate-limiting-deep-dive/

👉 @devops_star
  • 👍 1
Post #255 935
Пробки в облаке: Перегрузки снижают надежность ваших приложений?

Представьте себе оживленную систему автомагистралей - сложную сеть дорог, мостов, туннелей и перекрестков, каждая из которых рассчитана на определенный объем движения. А теперь подумайте о событиях, которые приводят к пробкам: авариях, дорожных работах или внезапном наплыве автомобилей. Эти происшествия вызывают заторы на дорогах, и часто затор на одном участке шоссе вызывает затор на другом. Например, затор на мосту может привести к затору на дороге, ведущей к нему. Заторы создают множество проблем, начиная от задержек и увеличения времени в пути и заканчивая раздражением водителей из-за потерянного времени и слишком большого количества сожженного топлива. Такие сбои в работе наносят ущерб не только водителям, но и всей экономике. Задерживаются товары, нарушается предоставление услуг, поскольку сотрудники приходят на работу с опозданием (и в раздражении).

https://blog.fluxninja.com/blog/traffic-jams-in-the-cloud-unveiling-the-true-enemy-of-reliability

👉 @devops_star
  • 👍 2
  • 🔥 1
Post #254 1.17K
🔥 Как настроить мониторинг инфраструктуры с нуля? 🔥

✅ Выбор системы мониторинга
- Prometheus + Grafana – золотой стандарт для большинства DevOps.
- Zabbix – если хочется all-in-one с GUI.
- Datadog/New Relic – если готов платить за облачные решения.

✅ Метрики, которые нельзя игнорировать
- CPU, RAM, Disk I/O – классика, без неё никуда.
- Network latency & errors – чтобы не гадать, почему тормозит.
- Application-level metrics – ошибки, время отклика API, потребление ресурсов.

✅ Логи – твои лучшие друзья
- Loki + Grafana – если уже используешь Prometheus.
- ELK (Elasticsearch + Logstash + Kibana) – мощный стек для больших нагрузок.
- Fluentd/Fluent Bit – если нужен лёгкий агент для логов.

✅ Alerting: не спать по пустякам
- Настроить Alertmanager для отправки уведомлений в Slack, Telegram, PagerDuty.
- Долой алерты без контекста – важна корреляция событий.
- Пороговые значения ≠ реальная проблема. Включай аналитику.

👉 @devops_star
Post #253 1.26K
Руководство по GitOps: ArgoCD против Flux

GitOps стал чрезвычайно популярным способом управления инфраструктурой и приложениями Kubernetes. Используя Git в качестве единого источника, GitOps позволяет использовать инфраструктуру как код и автоматизировать развертывание приложений в Kubernetes. Этот подход сегодня используют многие компании, поэтому я хотел поделиться нашим путешествием по GitOps в серии постов на эту тему.

https://www.codereliant.io/gitops-guide-argocd-vs-flux/

👉 @devops_star
  • 👍 1
Post #252 1.1K
Лучшие практики мониторинга статических веб-приложений

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

https://www.datadoghq.com/blog/static-web-application-monitoring-best-practices/

👉 @devops_star
  • 👍 1
Post #250 1.12K
DevToys

Швейцарский армейский нож для разработчиков.

DevToys помогает выполнять повседневные задачи разработки, такие как форматирование JSON, сравнение текста и тестирование RegExp. Нет необходимости использовать множество ненадежных веб-сайтов для выполнения простых задач с вашими данными. Благодаря функции Smart Detection DevToys может определить, какой инструмент лучше использовать для данных, скопированных в буфер обмена Windows. Компактное наложение позволяет сохранить небольшой размер приложения поверх других окон. Можно использовать несколько экземпляров приложения одновременно.

https://github.com/veler/DevToys

👉 @devops_star
  • 👍 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →