Небольшая предыстория. Есть Prometheus, который запущен в k8s кластере и на нём большая нагрузка по CPU, хотя достаточно не много ресурсов скрейпятся в единицу времени (около 200к таймсерий каждые 10 сек). Картина нагрузки выглядит следующим образом: В получившемся результате, меня заинтересовала группа node-exporter т.к. она выполнялась много времени Теперь, я хочу понять, какое правило в […]
Часто надо восстановить индексы, чтобы провалидировать логи за длительное время. И для анализа логов, нам не требуется отказоустойчивость, в данном скрипте, индексы восстанавливаются сразу с переименованием и с отключенными репликами. Скрипт требует доступа к elastic напрямую. У меня это работа eck оператора в namespace logging в кластере kubernetes по https и с авторизацией Post Views: […]
Для начала определим вводные и техзадание.Пользователь много путешествует и боится за сохранность своих данных. Установлена Ubuntu 22.04 на уже зашифрованный диск. Этот этап рекомендуется, т.к. автомонтирование требует наличие ключа дешифрования, который надо где-то хранить. Есть внешний usb диск, который требуется зашифровать и подключать / отключать его простым вытаскиванием из usb разъёма, без всяких манипулаций с […]
Иногда необходимо удалить/пересоздать полностью с kubernetes стейтфулсет, но при этом оставить данные в pvc и рабочие pod’ы. К примеру, у нас есть postgres в кубере, где-нибудь на стейджингах, и заезжает новый чарт с другими тегами. Стейтфулы нельзя пропатчить и Helm получает в ответ ошибку: Что делать? Тут вариант либо руками править теги, либо, в данном […]
Бывает, что не удаляется Namespace в Kubernetes кластере. Как правило, это происходит из-за невыполнения каких-то finalizers. Придётся их нам удалить принудительно. 1. Сохраним конфиг неймспейса в json формате 2. Откроем и отредактируем полученный файл. Надо удалить секцию finalizers из массива. 3. Теперь обратно применим наш отредактированный файл в кубер. 4. Теперь можно проверить, что неймстпейса больше нет. Повторить для […]
Наткнулся на странное поведение терраформа с dynamodb базой. Периодически, при коллективной работе (Mac + Linux разные версии либ или ещё из-за чего-то ещё), из динамо не убираются записи локов, при этом тераформ лок как бы даже и снимает. Появляется следующая ошибка: Что надо сделать: <REDION> — aws регион, где хранится стейт (к примеру eu-west-2)<DYNAMO_TABLE> — […]
Сделаем бекап на мастере в папку /mysql-backup-20 После этого, надо применить бинарный лог к нашему дампу, иначе оно не «взлетит». Вложенную папку с временем дампа можно увидеть в момент бекапа. =) Заливаем на SLAVE сервер с мастера Создаём пользователя на MySQL мастере, который может реплицировать: На SLAVE сервере в настройках сразу меняем server-id и выставляем […]
Требование: С помощью Jenkins Pipeline на каждый пул-реквест поднимать стейдж окружение и делать web-доступ на индивидуальном поддомене в kubernetes кластере, чтобы прогонять тесты, проверять гипотезы и предоставлять заказчику preview выполненной работы. Описание: Для каждого PR поднимается свой деплой со своими deployment, service, ingress в namespace project-stage. Удаляются дейплои после закрытия PR с помощью скрипта и […]
Задача: Обновить PostgreSQL в AWS RDS сервисе с версии 10 на версию 11. Задача осложняется размером БД в 4Тб данных. В тестовом окружении мы увидели, что при обновлении сбрасывается вся статистика запросов и они начинают выполняться очень медленно. Решение — запуск ANALYZE, который работает на нашей базе ~ 8 часов. Значит будем реплицировать. 🙂 Требования: […]
Рассмотрим перенос данных базы «l_generator» с помощью Londiste. Почему Londiste?Рекомандация использовать Londiste от Amazon:https://aws.amazon.com/ru/blogs/aws/rds-postgres-read-replicas/ — 2014 Data Import (Londiste)In order import data using Londiste, you would need to install it on the external PostgreSQL instance (not on RDS), set up RDS PostgreSQL instance as a replica, and enable replication. Londiste would initially do a dump and […]