DevOps
СтатистикаDocker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
- Последний пост
- 14 авг.
- Последнее чтение
- 09:46
- Постов за неделю
- 4
- Всего постов
- 1 017
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии (по похожим)
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 698
- 1/48двое суток
- 799
- 1/72трое суток
- 862
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
🆕 Bun Shell - кроссплатформенный shell прямо в JavaScript Bun Shell - это встроенный интерпретатор shell-команд в Bun, позволяющий писать скрипты на JavaScript/TypeScript с лаконичным синтаксисом: import { $ } from "bun"; await $`ls *.js`; Основные возможности: • Кроссплатформенность: работает на Windows, macOS и Linux. • Поддержка переменных, редиректов, пайпов и шаблонов. • Безопасность: автоматическое экранирование переменных. • Взаимодействие с объектами JavaScript: Response, ArrayBuffer, Blob. • Встроенные команды: cd, rm, echo и другие. Пример использования с переменной: const filename = "example.txt"; await $`cat ${filename}`; https://bun.sh/blog/the-bun-shell #devops #девопс 📲 Мы в MAX Подпишись 👉@i_DevOps
🚀 Разворачиваем Kubernetes-кластер за 5 минут с помощью Proxmox и k3s! Автор статьи показывает, как быстро поднять кластер с помощью Proxmox и лёгкого дистрибутива K3s. Всё максимально просто: - Устанавливаем Proxmox VE - Создаём шаблон VM с Ubuntu - Автоматизируем деплой через cloud-init - Настраиваем кластер K3s в пару кликов 🔥 Идеально для домашней лаборатории или быстрой отладки! 00:04 Introduction 00:18 Why Use Mini PCs Over Cloud Computing for Personal / Hobby Projects 01:13 Installing Proxmox and Setting Up Cluster 02:12 Creating a VM for Kubernetes Worker Node 03:38 Installing Kubernetes on Ubuntu Server 04:14 Joining the New Node to the Kubernetes Cluster 05:19 Potential Applications of Your New Setup 05:30 Upcoming Projects and Channel Focus 06:02 Measuring Power Consumption with a Smart Plug 06:07 Conclusion and Farewell https://dev.to/mihailtd/set-up-a-kubernetes-cluster-in-under-5-minutes-with-proxmox-and-k3s-2987 #devops #девопс 📲 Мы в MAX Подпишись 👉@i_DevOps
CI/CD в 3 раза быстрее: секреты оптимизации GitHub Actions GitHub Actions - мощный инструмент, но даже продвинутые пайплайны часто работают медленнее, чем могли бы. Потери времени = потери денег и developer experience. Вот как ускорить ваши воркфлоу без потери функциональности. 1. Используйте concurrency и cancel-in-progress concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true Это позволит отменять старые запуски одного и того же воркфлоу на той же ветке — особенно полезно при пушах в PR. Экономим минуты на каждом коммите. 2. Кешируйте всё, что можно - name: Cache pip packages uses: actions/cache@v3 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- То же касается node_modules, cargo, .m2, gradle — любые зависимости можно кэшировать, особенно если они скачиваются каждый раз. 3. Не бойтесь matrix + fail-fast: false Запускайте параллельно всё, что можно: тесты на разных версиях языка, разных ОС, разных архитектурах. strategy: matrix: python-version: [3.10, 3.11] os: [ubuntu-latest, macos-latest] fail-fast: false 4. Reusable workflows > копипаста Выносите повторяющиеся шаги в отдельные .yml-воркфлоу и переиспользуйте их через workflow_call. Это упрощает поддержку и уменьшает ошибки. 5. Запускайте воркфлоу только при нужных событиях on: push: branches: [main] paths: - 'src/**' - '.github/workflows/**' Зачем триггерить CI, если изменился только README? Оптимизация CI/CD - это не про «поиграться с YAML». Это способ сэкономить время команды, ускорить релизы и избежать выгорания из-за бесконечного ожидания. Чем быстрее обратная связь - тем лучше продукт. #devops #девопс 📲 Мы в MAX Подпишись 👉@i_DevOps
Cilicon - это приложение для macOS, использующее фреймворк виртуализации Apple для создания, предоставления и запуска эфемерных виртуальных машин CI с производительностью, близкой к нативной. В настоящее время оно поддерживает Github Actions, Buildkite Agent, GitLab Runner и произвольные скрипты. В зависимости от ваших настроек, вы сможете запустить свой собственный CI в считанные минуты 🚀. https://github.com/traderepublic/Cilicon #devops #девопс 📲 Мы в MAX Подпишись 👉@i_DevOps
Kubernetes: правильный подход к ресурсным лимитам и requests 🔧 Часто недооценённая, но критичная тема для стабильности и производительности кластеров. Неверные значения requests и limits приводят либо к перерасходу ресурсов, либо к OOM, Throttling и подам, которые бесконечно перезапускаются. Особенно больно это бьёт по продакшену. 🚀 Как правильно настраивать ресурсы: 1. Понимай разницу между requests и limits: - requests — это гарантированный минимум, который получит контейнер. - limits — это максимум, выше которого контейнер не сможет использовать (CPU throttling или OOMKill для памяти). 2. CPU — без жестких лимитов: - Лучше не указывать limits.cpu, чтобы избежать throttling. - Но обязательно ставь requests.cpu, чтобы kube-scheduler мог правильно распланировать нагрузку. 3. Memory — всегда с лимитом: - Память не отбирается — контейнер либо получает всю, либо OOM. - Обязательно ставь и requests.memory, и limits.memory. 4. Используй VPA (Vertical Pod Autoscaler): - Он поможет подобрать адекватные значения ресурсов на основе истории. - ⚠️ На проде использовать осторожно — часто в "recommendation only" режиме. 5. Метрики в помощь: - Используй kubectl top, metrics-server, Prometheus/Grafana для анализа потребления. - Наблюдай за container_cpu_usage_seconds_total, container_memory_usage_bytes. 6. Профилируй и оптимизируй: - Легковесный nginx или sidecar не должен просить 500Mi памяти. - Java-приложение без указанных лимитов съест весь узел. 🧠 Вывод: Грамотно выставленные ресурсы — это баланс между надёжностью и эффективным использованием нод. Не копируй requests/limits вслепую из интернета — мерь, анализируй, настраивай под свой ворклоад. 📲 Мы в MAX Подпишись 👉@i_DevOps
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Городские📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП https://max.ru/channel_krasnodar_novosty Краснодар Новости https://max.ru/channel_novosibirsk_novosti Новосибирск https://max.ru/channel_samara_novosti Новости Самары https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга https://max.ru/channel_kazan_novosti Новости Казани https://max.ru/channel_omsk_novosti Новости Омска https://max.ru/channel_moskva_24 Москва 24
HULL - Helm Uniform Layer Library Этот репозиторий содержит библиотечную диаграмму Helm под названием HULL. Она предназначена для упрощения создания, поддержки и настройки объектов Kubernetes в Helm-диаграммах и может быть добавлена к любой Helm-диаграмме в качестве дополнения для расширения функциональности без риска нарушения существующих конфигураций Helm. Сама диаграмма и вся связанная с ней документация находятся в папке hull, которая является корневой директорией библиотечной Helm-диаграммы HULL. https://github.com/vidispine/hull #devops #девопс 📲 Мы в MAX Подпишись 👉@i_DevOps
🔥 Ускоряем сборку Docker-образов: слои и кэш - наши друзья Когда сборка Dockerfile занимает минуты - это мешает dev-loop'у. А ведь можно сильно ускориться с парой простых правил 👇 🧠 Основные принципы ускорения: 1. Максимально используем кэш Docker кэширует каждый слой. Если слой не изменился - пересобирать не будет. ➤ Сначала COPY зависимости, потом остальной код: COPY requirements.txt . RUN pip install -r requirements.txt # кэшируется COPY . . # некэшируемо при любом изменении в коде 2. Объединяем RUN-команды Меньше слоёв - быстрее сборка и push: RUN apt update && apt install -y curl git \ && rm -rf /var/lib/apt/lists/* 3. .dockerignore Убедись, что не копируешь лишние файлы (например, .git/, tests/, node_modules/): .git node_modules *.log __pycache__/ 4. Меньше COPY, больше multi-stage Разделяй сборку и runtime - не таскай компиляторы в прод: FROM golang:1.20 AS builder WORKDIR /app COPY . . RUN go build -o app FROM debian:bullseye-slim COPY --from=builder /app/app /usr/bin/app CMD ["app"] 5. Кэшируй pip/npm/go-пакеты → в Dockerfile сначала копируй файл зависимостей, ставь пакеты, только потом - весь код проекта. 📌 Используй эти практики, чтобы ускорить CI/CD, локальную сборку и деплой. Чем меньше слоёв изменяется - тем быстрее весь процесс. 📲 Мы в MAX Подпишись 👉@i_DevOps
🔥 Как ускорить docker build и сократить размер образа Иногда docker build тянется вечность, а итоговый образ весит больше, чем база данных 🐘. Разбираемся, как ускорить сборку и оптимизировать размер образа без потери функциональности. 1. Используй multistage build Разделяй стадии сборки и финальный образ. Это особенно важно при компиляции (Go, Java, Node.js): # Стадия 1: билд FROM golang:1.20 as builder WORKDIR /app COPY . . RUN go build -o app # Стадия 2: минимальный runtime FROM alpine:latest COPY --from=builder /app/app /usr/local/bin/app ENTRYPOINT ["app"] Образ получается меньше 10 МБ! 2. Минимизируй base image Используй alpine, distroless, scratch, если не нужен полноценный дистрибутив: FROM python:3.12-slim Или вообще: FROM scratch 3. Правильно расставляй COPY и RUN Кешируй слои — сначала зависимости, потом исходники: COPY requirements.txt . RUN pip install -r requirements.txt COPY . . Так pip install не будет повторяться при каждом изменении исходников. 4. Убирай мусор и временные файлы После установки пакетов — чисти кэш: RUN apt-get update && apt-get install -y ... \ && rm -rf /var/lib/apt/lists/* 5. Используй .dockerignore Иначе в билд попадут node_modules, .git, логи и прочее: .git node_modules *.log Вывод: Минимизация образа — это не только про размер, но и про безопасность (меньше surface area), скорость CI/CD, стабильность. И не забывай — docker build тоже надо профилировать. #devops #docker #ci #optimization 📲 Мы в MAX Подпишись 👉@i_DevOps
Addon Controller Sveltos Addon Controller позволяет пользователям применять Kubernetes-манифесты к любым кластерам, управляемым Sveltos. Это может быть сделано следующими способами: - Добавляя YAML-файлы с Kubernetes-ресурсами в ConfigMap или Secret. - Указывая URL с YAML-ресурсами. - Указывая Helm-чарт. Addon Controller – это контроллер Kubernetes, который работает в управляющем кластере (management cluster). Он следит за созданием и обновлением объектов Addon, а также применяет соответствующие манифесты в целевых (managed) кластерах, на которые ссылается Addon. Возможности - Поддержка ConfigMap, Secret, URL и Helm-чартов. - Поддержка переменных через ClusterProfile и ClusterSummary. - Возможность динамически применять или удалять аддоны при изменении кластера или его свойств. - Возможность настройки приоритетов применения ресурсов. - Поддержка зависимостей между ресурсами. - Поддержка dry-run и прерывания применения при ошибке. Архитектура 1. Пользователь создает объект ClusterProfile, в котором указывает критерии выбора кластеров. 2. Для каждого подходящего кластера создается объект ClusterSummary, который содержит список Addon объектов. 3. Addon Controller применяет ресурсы, указанные в Addon, к каждому целевому кластеру. https://github.com/projectsveltos/addon-controller?tab=readme-ov-file 📲 Мы в MAX Подпишись 👉@i_DevOps
🎥 Вебинар: Kubernetes + CI/CD + GitOps — делаем стабильный деплой без выхода из кластера 📌 На уроке вы узнаете: - Как настроить конвейер CI/CD для автоматизации развертывания приложений в Kubernetes. - Что такое GitOps, и как с его помощью управлять инфраструктурой и релизами через декларативные манифесты. - Использование Kubernetes для построения стабильных и безопасных процессов развёртывания приложений. - Лучшие практики внедрения, внедрения и управления изменениями прямо из кластера. 🎯 После вебинара вы: - Вы поймёте, как интегрировать Kubernetes, CI/CD и GitOps для создания стабильных и автоматизированных процессов развертывания. - Освоите изменение и оптимизацию конвейеров CI/CD для работы в Kubernetes-кластерах. - Изучите подходы к мониторингу, организации тестирования и управлению релизами через GitOps, повышению доступности и безопасности процессов. ⚠️ Открытый урок проходит в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». 👉 Для участия зарегистрируйтесь: https://vk.cc/d09AVU Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Блокировка состояния Terraform с использованием S3 (без DynamoDB) В этом посте мы рассмотрим: - Зачем нужна блокировка состояния Terraform - Блокировка состояния с помощью DynamoDB - Блокировка состояния только с использованием S3, без DynamoDB - Когда стоит использовать DynamoDB - Когда можно обойтись только S3 - Лучшие практики хранения state-файлов в S3 https://devopscube.com/terraform-state-locking-with-s3/ 📲 Мы в MAX Подпишись 👉@i_DevOps
💡 Лучшие практики работы с Helm: что нужно знать Если вы используете Helm для управления приложениями в Kubernetes, крайне важно следовать ряду проверенных практик, чтобы обеспечить поддержку, масштабируемость и безопасность ваших чартов. 📦 1. Структура директорий чарта Соблюдайте стандартную структуру чарта Helm: mychart/ charts/ templates/ values.yaml Chart.yaml README.md Избегайте добавления нестандартных файлов и директорий. Это сделает чарты переносимыми и читаемыми. 🧩 2. Разделяйте общие шаблоны Используйте _helpers.tpl для определения общих шаблонов, таких как аннотации, метки и имена ресурсов. Это снижает дублирование и упрощает сопровождение: {{/* Генерация полного имени */}} {{- define "mychart.fullname" -}} {{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" -}} {{- end -}} ⚙️ 3. Используйте параметры в values.yaml Делайте чарты гибкими, передавая конфигурации через values.yaml. Никогда не хардкодьте значения в шаблонах. 🧪 4. Валидация values.yaml Добавляйте проверку обязательных значений с помощью required: {{ required "Variable mychart.image.repository is required" .Values.image.repository }} 🔍 5. Используйте шаблоны if/else разумно Старайтесь не перегружать шаблоны логикой. Разделяйте шаблоны на несколько файлов, если они становятся слишком сложными. 🗃️ 6. Не добавляйте чарт в шаблон напрямую Вместо включения зависимостей в директорию charts/, указывайте их в Chart.yaml и используйте helm dependency update. 🛑 7. Не хардкодьте версии образов Передавайте версию через values.yaml. Это повышает гибкость CI/CD: image: repository: nginx tag: "1.21.1" 🔒 8. Управление чувствительными данными Не храните пароли и токены в values.yaml. Используйте секреты Kubernetes или инструменты типа Sealed Secrets или External Secrets. 🔁 9. Helm hooks Helm предоставляет хуки для выполнения задач до/после установки. Используйте их, например, для миграций БД. Пример: annotations: "helm.sh/hook": pre-install 🧹 10. Чистка старых релизов Используйте helm uninstall и регулярно проверяйте статус релизов с помощью helm list. Это помогает избегать конфликта имён и мусора. 🧪 11. Тестирование чарта Добавляйте unit-тесты с помощью helm unittest и не забывайте про проверку синтаксиса: helm lint . 🔄 12. Автоматизация через CI/CD Интегрируйте Helm в пайплайны CI/CD для установки и обновления чартов — например, с помощью GitLab CI, GitHub Actions, ArgoCD или Flux. Придерживайтесь этих рекомендаций — и работа с Helm станет надёжной, устойчивой и более предсказуемой. Это особенно важно при масштабировании инфраструктуры и работе в команде. 📲 Мы в MAX Подпишись 👉@i_DevOps
Путь в DevOps: полное руководство для новичков с НУЛЯ 00:00 - Вступление 00:14 - Всевозможные компетенции DevOps Инженера 00:44 - Кому проще стать DevOps Инженером 02:29 - Что учить по минимуму и в каком порядке 10:27 - 1. Основы Networking TCP/IP 11:46 - 2. Администрирование Windows 12:38 - 3. Основы Linux 13:28 - 4. Ansible 13:56 - 5. Git 14:26 - 6. GitHub 14:52 - 7. CI/CD: GitHub Actions, GitLab CI/CD 15:29 - 8. Docker + DockerHub 16:16 - 9. Kubernetes + Helm + ArgoCD 17:04 - 10. AWS: Amazon Web Services 19:12 - 10. GCP: Google Cloud Platform 20:27 - 10. Azure: Microsoft Azure 21:38 - 11. Terraform + Terragrunt 22:42 - 12. Python 23:09 - Как стать профессиональным DevOps Ннженером 24:37 - Девопс это хорошее будущее вашей карьеры источник 📲 Мы в MAX Подпишись 👉@i_DevOps
🐧 С Днём системного администратора! Желаем, чтобы: • ping всегда отвечал; • df -h не пугал; • systemctl status был только active (running); • grep ERROR ничего не находил; • rm -rf запускался только в тестовой среде; • а пользователи наконец поняли, что выключить монитор ≠ выключить компьютер. Аптайма 100%, кофе без ограничений и минимум звонков в пятницу после 17:00! ☕🎉
Собрал основные концепции Docker в одну диаграмму 📲 Мы в MAX Подпишись 👉@i_DevOps
🧪 K8E — это форк проекта K3s, предназначенный для локального тестирования. Он не требует root-доступа и не использует systemd. Также вы можете легко собрать и запустить его без сетевого подключения (air-gap режим). Основные особенности: - Без root-доступа - Без systemd - Один бинарник - Простой запуск кластера: k8e server & - Не требует внешней сети - Поддерживает полностью автономную сборку Если вы когда-либо хотели поднять Kubernetes-кластер за пару секунд и без привилегий — этот инструмент идеально подойдёт для тестов и локальной разработки. https://github.com/xiaods/k8e 📲 Мы в MAX Подпишись 👉@i_DevOps
MLOps — дитя DevOps и ML Один ML-проект в проде вам или два другому? Внедрение машинного обучения в производственную среду остаётся одной из главных проблем индустрии. По статистике, 80% ML-проектов никогда не доходят до продакшена. Однако хитрые опсы и тут решили выделиться, и в результате появился MLOps — методология, которая поможет вам сократить путь от эксперимента до деплоя с месяцев до дней. В этой статье мы пройдёмся по верхам MLOps и посмотрим на фундаментальные принципы и конкретные инструменты. https://habr.com/ru/companies/ruvds/articles/990814/ 📲 Мы в MAX Подпишись 👉@i_DevOps
🛠 Git Cheat Sheet: 12 команд, которые должен знать каждый DevOps 📂 Начало работы • git init - создаем новый репозиторий. Помните, что это просто создает скрытую папку .git. • git remote - связываем локальный код с удаленным сервером (GitHub/GitLab). • Совет: Используйте git remote -v, чтобы проверить, куда вы пушите код. 🔄 Основной цикл (Commit & Sync) • git add - добавляем изменения в индекс (staging). • git commit - фиксируем изменения. Пишите осмысленные сообщения! "Fixed bug" - плохо, "Fix: update nginx config for timeout issue" - хорошо. • git push / git pull - отправка и получение изменений. • Важно: git pull - это на самом деле fetch + merge. 🌿 Ветвление и слияние • git branch - работа с ветками. В DevOps мы часто используем feature-branches. • git checkout - переключение между ветками. (Кстати, в новых версиях Git для этого чаще используют git switch). • git merge - объединение веток. 🔍 Диагностика и откат • git status - ваша любимая команда. Показывает, что происходит прямо сейчас. • git fetch - забирает данные из репозитория, но не меняет ваш локальный код. Безопасный способ проверить обновления. • git reset - откат изменений. • ⚠️ Осторожнее с флагом --hard, он удаляет изменения безвозвратно! 💡Лайфхак: Вместо того чтобы вручную проверять статус в каждом проекте, настройте себе алиасы в .bashrc или .zshrc. Например: alias gs='git status' alias gl='git log --oneline --graph --all' #git #devops #cheatsheet #programming #automation 📲 Мы в MAX Подпишись 👉@i_DevOps
Устранение проблем с отсутствующими логами Kubernetes в Elasticsearch Отсутствующие логи могут стать настоящей проблемой для многих пользователей Kubernetes. В этой статье мы разберемся, почему это происходит, и как этого избежать. Я исследовал случай отсутствующих логов Kubernetes в Elasticsearch, который в моем случае агрегирует логи для подов Kubernetes. У меня стандартная настройка Elasticsearch и Fluentd, и время от времени в Elasticsearch появляется пропуск, когда в течение нескольких секунд нет логов. https://povilasv.me/troubleshooting-missing-kubernetes-logs-in-elasticsearch/ 📲 Мы в MAX #devops #девопс Подпишись 👉@i_DevOps