Архив за месяц: Август 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: знакомство, часть 3 —… Читать далее »

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, например так:… Читать далее »