Архив за месяц: Август 2019

Kubernetes: знакомство, часть 4 – аутентификация в AWS EKS, aws-iam-authenticator и AWS IAM

31 августа 2019

Продолжаем погружение в AWS Elastic Kubernetes Service, EKS. Предыдущие части: Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer Kubernetes: знакомство, часть 3 — обзор AWS EKS и ручное создание кластера Продолжение: Kubernetes: знакомство, часть 5 — RBAC авторизация и примеры… Читать далее »

SonarQube: Unrecoverable indexation failures и Elasticsearch “Disk watermark exceeded”

29 августа 2019

Есть SonarQube, запускается из Jenkins-джоб. См. SonarQube: запуск в Docker и вызов из Jenkins Pipeline. SonarQube из Jenkins запускается, задачи проходят, но в самом SonarQube возникает ошибка: java.lang.IllegalStateException: Unrecoverable indexation failures: 1 errors among 1 requests at org.sonar.server.es.IndexingListener$1.onFinish(IndexingListener.java:39) at org.sonar.server.es.BulkIndexer.stop(BulkIndexer.java:122) … Логи SonarQube: Aug 29 12:30:26 jenkins-production docker-compose[12591]: sonarqube_1  | 2019.08.29 09:30:26 ERROR web[][o.s.s.es.BulkIndexer] index… Читать далее »

Redis: fork – Cannot allocate memory, Linux, виртуальная память и vm.overcommit_memory

27 августа 2019

Cейчас настраиваю Redis как кеширующий сервис приложения, и среди прочего встал вопрос – надо ли включать vm.overcommit_memory в 1, или нет? Вопрос достаточно старый, см. История, но вот докопаться до сути, упорядочить и привести в читабельный вид удалось только сейчас. Проблема заключается в том, что официальная документация и практически все гайды/HowTo-шки по Redis достаточно легкомысленно… Читать далее »

AWS: CloudCraft – генерация карты существующей инфрастуктуры

21 августа 2019

Самим сервисом CloudCraft пользуюсь достаточно давно – удобен. На днях получил доступ к его платным возможностям (кстати – 2 недели платной Trial подписки бесплатны), среди которых особенно давно хотелось попробовать возможность генерации карты существующей инфраструктуры. Стоимость подписки – $49/месяц. Пример того, что умеет CloudCraft вообще – есть, например, в посте AWS: миграция RTFM 2.3 —… Читать далее »

Docker: Compose и общие сети

20 августа 2019

Имеется Docker Compose стек с Jenkins, SonarQube и PostgresSQL, см. пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема в том, что они описаны в одном Compose-файле, и весь стек перезапускается единым systemd-файлом (см. Linux: systemd сервис для Docker Compose). Соответственно, если надо перезапустить SonarQube – то придётся перезапускать и Jenkins, на котором… Читать далее »

Kubernetes: знакомство, часть 3 – обзор AWS EKS и ручное создание кластера

15 августа 2019

Продолжаем знакомство с Kubernetes. Предыдущие части: Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer Следующие: Kubernetes: знакомство, часть 4 — аутентификация в AWS EKS, aws-iam-authenticator и AWS IAM В этой части перейдём уже непосредственно к EKS – кратко его рассмотрим,… Читать далее »

RTFM: День Рождения – 8 годиков и 3 миллиона посетителей. Обзор обновлений.

14 августа 2019

Как-то вдруг наступил уже и Август. Традицонно – 14-е Августа у RTFM что-то вроде Дня рождения: Ну и традиционно – кратенько пройдусь по основным событиям за прошедший год (хотя семилетие не записал, ну да ладно). Блог по-прежнему работает на WordPress, хостится на Debian + NGINX + PHP-FPM + MariaDB – стандартный LEMP. Предыдущие посты: rtfm.co.ua… Читать далее »

Kubernetes: знакомство, часть 2 – создание кластера с AWS cloud-provider и AWS LoadBalancer

10 августа 2019

В первом посте – Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор – были рассмотрены основные компонены, теперь время применить их на практике. Продолжение – Kubernetes: знакомство, часть 3 — обзор AWS EKS и ручное создание кластера. Следующим, что очень хотелось потрогать – это интеграция Kubernetes с AWS и работа с сетью: создать веб-сервис,… Читать далее »

NGINX: limit_req – ограничение количества запросов

9 августа 2019

Задача – установить лимит количества запросов с одного IP: добавить rate limiter на URI /user/oauth/refresh_token число запросов – 5 в минуту с одного IP если запросов больше – возвращаем 429 Too Many Requests Используем NGINX и его модуль ngx_http_limit_req_module. limit_req_zone Для работы “лимитера” – следует создать зону, в которой будут хранится данные (а именно –… Читать далее »

AWS RDS: SQLSTATE[22001] – Data too long for column в MariaDB 10.2

8 августа 2019

Имеется PHP-приложение с бекендом AWS RDS MariaDB. На версии 10.0 работало нормально, но после миграции на 10.2 – в логах начали появляться ошибки: PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column ‘name’ at row 1 in /data/projects/projectname/vendor/yiisoft/yii2/db/Command.php:1290 Вариант первый – это просто сменить тип колонки с VARCHAR на LONGTEXT, например так:… Читать далее »