Archlabs: Openbox — послеустановочные настройки

24 сентября 2020
 

 Когда-то писал себе заметку по настройке Arch Linux после установки X.Org и Openbox (Arch: послеустановочные настройки), теперь аналогично — но для настроек на Archlabs, установленном с Openbox. Разницы особой нет, всё по сути аналогично, но с учётом последних изменений  в репозиториях/пакетах. Сам Archlabs достаточно приятен в плане установки — псевдо-графический инсталятор, всё удобно, красиво. Сейчас… Читать далее »

Redis: Master-Slave репликация и запуск в Kubernetes

23 сентября 2020
 

 Задача — запустить Redis в Kubernetes. Используем Master-Slave репликацию и Sentinel для мониторинга и failover. См. Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel. Redis cluster vs Redis replication См. Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis и Choose between Redis Helm Chart and Redis Cluster… Читать далее »

Slack: Cannot read property ‘appTeams’ of undefined

23 сентября 2020
 

 Имеется Slack desktop на Arch Linux. Устанавливался из AUR, работал обычно без проблем. Но в какой-то момент перестал запускаться, ругается на ‘appTeams’ property: Версия: Даунгрейд на 4.8.0 не помог. Решение — снести весь каталог ~/.config/Slack. Учтите, что при этом все текущие сесии будут удалены, и придётся заново подключаться во все чаты. Удаляем: Перезапускаем: Готово.

MySQL: mysqldbcompare — сравнение двух баз

9 сентября 2020
 

 В качестве проложения поста AWS: Database Migration Service, часть 1 — обзор и пример миграции self-hosted MariaDB в AWS Aurora RDS — описание утилиты mysqldbcompare, которая предназначена для сравнения двух баз данных. См. документацию тут>>>. Установка На Arch Linux можно установить из AUR: Либо скачать и установить вручную. Загружаем архив: Пробуем установить: Добавляем Python-модуль configparser: И… Читать далее »

AWS: Database Migration Service, часть 2 — нет AUTO_INCREMENT и индексов. Фиксы для «foreign key constraint fails» и логов CloudWatch

31 августа 2020
 

 Продолжение поста AWS: Database Migration Service — обзор и пример миграции self-hosted MariaDB в AWS Aurora RDS. И всё было хорошо, пока мы не запустили первые тесты, которые начали отваливаться с ошибками: [2020-08-28 17:13:02] local.ERROR: SQLSTATE[HY000]: General error: 1364 Field ‘id’ doesn’t have a default value Начинаем проверять таблицы, и видим, что поле ID потеряло… Читать далее »

AWS: Database Migration Service, часть 1 — обзор и пример миграции self-hosted MariaDB в AWS Aurora RDS

27 августа 2020
 

 В общем-то — продолжение эпопеи с миграцией приложения из Digital Ocean в Amazon Web Services. В посте Kubernetes: нагрузочное тестирование и high-load тюнинг — проблемы и решения мы тестировали работу самого приложения в Kubernetes, следующая задача — перенести базу данных. Сейчас база данных проекта находится в Digital Ocean, на обычном дроплете с Linux и MariaDB.… Читать далее »

Kubernetes: нагрузочное тестирование и high-load тюнинг — проблемы и решения

25 августа 2020
 

 Вообще, этот пост планировался в виде небольшой заметки о том, как использовать NodeAffinity для Kubernetes Pod: Но, как это часто бывает — за одним потянулось другое, за другим третье — и в результате вышел очередной длиннопост в свободном стиле. Итак, собирался я написать про NodeAffinity, как вдруг подумал — а как будет себя вести Kubernetes… Читать далее »

Helm: secrets плагин не дешифрует данные

18 августа 2020
 

 Имеется токен аутентификации для Gitlab, используя который Kubernetes должен вытянуть образы из приватного Docker registry в Gitlab. Однако, поды остаются в статусе ErrImagePull, а в events записывается событие об ошибке логина в Gitab: Warning Failed 7m37s (x4 over 8m57s) kubelet, ip-10-3-47-58.us-east-2.compute.internal Failed to pull image «registry.gitlab.com/[…]:178662158»: rpc error: code = Unknown desc = Error response… Читать далее »

Helm: dependencies aka subcharts — обзор и пример

14 августа 2020
 

 Имеется Helm chart, который запускает API-бекенд нашего приложения, для работы которого требуется memcached. Что бы не создавать отдельный деплоймент и не добавлять в Jenkins вторую джобу с helm install — добавим memcached как dependency для нашего чарта: тогда при установке самого приложения, Helm загрузит архив с чартом memcached, и установит его вместе с чартом нашего… Читать далее »

Instana: мониторинг Kubernetes-кластера

12 августа 2020
 

 В дополнение к нашему Prometheus, который осуществляет общий мониторинг всех ресурсов, веб-разработчики попросили подключить им Instana. Из того, что нам сейчас интересно — Instana умеет мониторить Kubernetes кластера, и отдельные веб-сайты. Для мониторинга кластера будем запускать DaemonSet, который создаст поды с Instana-агентами на каждой рабочей ноде. А для мониторига веб-сайта — разработчики подключат библиотеку в… Читать далее »