Архивы автора: setevoy

Helm: reusable чарт — named templates, и общий чарт для нескольких приложений

18 октября 2020
 

 Проект активно развивается, Kubernetes прижился, и всё больше наших сайтов запускается в нём. И со временем возникла вполне ожидаемая проблема, которая уже озвучивалась в самом начале нашего «путешествия» в Helm: пошаговое создание чарта и деплоймента из Jenkins — как быть с манифестами Kubernetes и шаблонами Helm для нескольких приложений? Особенно остро она встала сейчас, когда… Читать далее »

Kubernetes: дебаг Init containers при запуске SQL-миграций

15 октября 2020
 

 Имеется приложение в Kubernetes. Деплоится из Helm-чарта. При очередном деплое — новые поды не стартуют, а сам деплой падает со стандартной ошибкой «Upgrade «CHARTNAME» failed: timed out waiting for the condition«: wait.go:225: [debug] Deployment is not ready: eks-dev-1-community-api-ns/community-api. 0 out of 3 expected pods are ready upgrade.go:367: [debug] warning: Upgrade «community-api» failed: timed out waiting… Читать далее »

Kubernetes: AWS ALB Ingress Controller — добавление редиректа на другой домен

7 октября 2020
 

 Имеется приложение двух версий — старое и новое, и два домена — старый, и новый. Работает  в AWS Elastic Kubernetes Service, за AWS LoadBalancer, который создаётся из AWS ALB Ingress Controller. Задача — добавить редирект на LoadBalancer со старого домена на новый: старый: dev.api.old-example.com новый: dev.api.new-example.com В самом AWS LoadBalancer это делается через Listener Rules,… Читать далее »

Kubernetes: Evicted поды и Quality of Service для подов

3 октября 2020
 

 Имеется Kubernetes кластер, работает на AWS Elastic Kubernetes Service. В кластере запущено приложение, которое в целом работает без проблем, но система мониторинга периодически сообщает, что: Проверяем поды: [simterm] $ kk -n eks-prod-1-web-projectname-admin-backend-ns get pod NAME READY STATUS RESTARTS AGE bttrm-web-projectname-admin-backend-64648597fc-9j29n 1/1 Running 0 43m bttrm-web-projectname-admin-backend-64648597fc-kptjj 1/1 Running 0 43m bttrm-web-projectname-admin-backend-7f4b5bdb4c-wlbjf 0/1 Evicted 0 12d bttrm-web-projectname-admin-backend-8478d778f9-5mrnc… Читать далее »

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: [simterm] $ slack Initializing local storage instance at path: /home/setevoy/.config/Slack/local-settings.json Failed to get path for key, this may be expected: /home/setevoy/.config/autostart (node:24199) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability… Читать далее »

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

9 сентября 2020
 

 В качестве проложения поста AWS: Database Migration Service, часть 1 — обзор и пример миграции self-hosted MariaDB в AWS Aurora RDS — описание утилиты mysqldbcompare, которая предназначена для сравнения двух баз данных. См. документацию тут>>>. Установка На Arch Linux можно установить из AUR: [simterm] $ yay -S mysql-utilities [/simterm] Либо скачать и установить вручную. Загружаем архив:… Читать далее »

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.… Читать далее »