Golang: указатели – подробный разбор
Я уже когда-то добавлял пост про указатели в C – C: указатели — подробный разбор, но было это достаточно давно, да и Си всё-таки не совсем Go, хотя в плане указателей разницы нет. Тем не менее – рассмотрим указатели в отдельном посте. Что такое указатель? Кратко, указатель – это переменная, которая хранит адрес памяти другой…
https://rtfm.co.ua/golang-ukazateli-podrobnyj-razbor/
Я уже когда-то добавлял пост про указатели в C – C: указатели — подробный разбор, но было это достаточно давно, да и Си всё-таки не совсем Go, хотя в плане указателей разницы нет. Тем не менее – рассмотрим указатели в отдельном посте. Что такое указатель? Кратко, указатель – это переменная, которая хранит адрес памяти другой…
https://rtfm.co.ua/golang-ukazateli-podrobnyj-razbor/
Linux: GPG-ключи, менеджер паролей pass и импорт из KeePass
pass – менеджер паролей для Linux/UNIX, наверно один из старейших. Хранит данные в древовидной структуре каталогов и файлов, а сами файлы с секретами шифрует с помощью GPG-ключа. В Arch Linux есть из коробки, в Debian можно установить с помощь apt из дефолтных репозиториев: sudo apt install pass В macOS – с помощью Homebrew: brew install pass Хотя я сомневаюсь, что…
https://rtfm.co.ua/linux-gpg-klyuchi-menedzher-parolej-pass-i-import-iz-keepass/
pass – менеджер паролей для Linux/UNIX, наверно один из старейших. Хранит данные в древовидной структуре каталогов и файлов, а сами файлы с секретами шифрует с помощью GPG-ключа. В Arch Linux есть из коробки, в Debian можно установить с помощь apt из дефолтных репозиториев: sudo apt install pass В macOS – с помощью Homebrew: brew install pass Хотя я сомневаюсь, что…
https://rtfm.co.ua/linux-gpg-klyuchi-menedzher-parolej-pass-i-import-iz-keepass/
Bitwarden: менеджер паролей организации – установка self-hosted версии на AWS EC2
Мы рассматриваем Bitwarden как менеджер паролей для проекта, основная цель которого – разделение доступа к различным секретам по ролям и/или ACL. Т.е. Pass и/или KeePass – это хорошо для одного пользователя, но у них нет главного – нормального веб-интерфейса, и разделения доступа к секретам для пользователей, а всякие 1Password/LastPass не имеют возможности установки на свой…
https://rtfm.co.ua/bitwarden-menedzher-parolej-organizacii-ustanovka-self-hosted-versii-na-aws-ec2/
Мы рассматриваем Bitwarden как менеджер паролей для проекта, основная цель которого – разделение доступа к различным секретам по ролям и/или ACL. Т.е. Pass и/или KeePass – это хорошо для одного пользователя, но у них нет главного – нормального веб-интерфейса, и разделения доступа к секретам для пользователей, а всякие 1Password/LastPass не имеют возможности установки на свой…
https://rtfm.co.ua/bitwarden-menedzher-parolej-organizacii-ustanovka-self-hosted-versii-na-aws-ec2/
AWS: MariaDB RDS – kill: You are not owner of thread
Имеется AWS RDS с MariaDB. Ошибка и решение не специфичны ни для AWS RDS, ни для MariaDB. При попытке убить процесс – RDS сообщает, что: MariaDB [(none)]> kill 759;ERROR 1095 (HY000): You are not owner of thread 759 Решение – использовать процедуру mysql.rds_kill(): MariaDB [(none)]> SHOW CREATE PROCEDURE mysql.rds_killG*************************** 1. row ***************************Procedure: rds_killsql_mode: NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONCreate Procedure: CREATE DEFINER=`rdsadmin`@`localhost` PROCEDURE `rds_kill`(IN thread BIGINT)READS SQL DATADETERMINISTICBEGINDECLARE l_user varchar(16);DECLARE l_host varchar(64);DECLARE foo varchar(255);SELECT user, host INTO l_user, l_hostFROM information_schema.processlistWHERE id = thread;IF l_user = "rdsadmin" and l_host like "localhost%" THENselect `ERROR (RDS): CANNOT KILL RDSADMIN SESSION` into foo;ELSEIF l_user = "rdsrepladmin" THENselect `ERROR (RDS): CANNOT KILL RDSREPLADMIN SESSION` into foo;ELSEKILL thread;END IF;END Вызываем её: MariaDB [(none)]> CALL mysql.rds_kill(761);Query OK, 0 rows affected (0.00 sec) Для Azure MySQL имеется аналогичная процедура mysql.az_kill(). Готово.
https://rtfm.co.ua/aws-mariadb-rds-kill-you-are-not-owner-of-thread/
Имеется AWS RDS с MariaDB. Ошибка и решение не специфичны ни для AWS RDS, ни для MariaDB. При попытке убить процесс – RDS сообщает, что: MariaDB [(none)]> kill 759;ERROR 1095 (HY000): You are not owner of thread 759 Решение – использовать процедуру mysql.rds_kill(): MariaDB [(none)]> SHOW CREATE PROCEDURE mysql.rds_killG*************************** 1. row ***************************Procedure: rds_killsql_mode: NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONCreate Procedure: CREATE DEFINER=`rdsadmin`@`localhost` PROCEDURE `rds_kill`(IN thread BIGINT)READS SQL DATADETERMINISTICBEGINDECLARE l_user varchar(16);DECLARE l_host varchar(64);DECLARE foo varchar(255);SELECT user, host INTO l_user, l_hostFROM information_schema.processlistWHERE id = thread;IF l_user = "rdsadmin" and l_host like "localhost%" THENselect `ERROR (RDS): CANNOT KILL RDSADMIN SESSION` into foo;ELSEIF l_user = "rdsrepladmin" THENselect `ERROR (RDS): CANNOT KILL RDSREPLADMIN SESSION` into foo;ELSEKILL thread;END IF;END Вызываем её: MariaDB [(none)]> CALL mysql.rds_kill(761);Query OK, 0 rows affected (0.00 sec) Для Azure MySQL имеется аналогичная процедура mysql.az_kill(). Готово.
https://rtfm.co.ua/aws-mariadb-rds-kill-you-are-not-owner-of-thread/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
AWS: MariaDB RDS — kill: You are not owner of thread
Решение ошибки "You are not owner of thread" в AWS RDS MariaDB при вызове kill
AWS: VPC peering DNS resolution и настройки DNS для OpenVPN AS
Имеется VPC с OpenVPN. Эта VPC через VPC Peering объединена с другими VPC в нашем AWS-аккаунте. Проблема в том, что для разрешения DNS имён на приватные, а не публичные IP, сейчас используется dnsmasq на хосте с VPN-сервером, для которого создан файл /etc/dnsmasq.hosts, в котором вручную приходится вносить приватные IP для доменов. Подробнее см. в посте…
https://rtfm.co.ua/aws-vpc-peering-dns-resolution-i-nastrojki-dns-dlya-openvpn-as/
Имеется VPC с OpenVPN. Эта VPC через VPC Peering объединена с другими VPC в нашем AWS-аккаунте. Проблема в том, что для разрешения DNS имён на приватные, а не публичные IP, сейчас используется dnsmasq на хосте с VPN-сервером, для которого создан файл /etc/dnsmasq.hosts, в котором вручную приходится вносить приватные IP для доменов. Подробнее см. в посте…
https://rtfm.co.ua/aws-vpc-peering-dns-resolution-i-nastrojki-dns-dlya-openvpn-as/
Sentry: запуск self-hosted версии системы мониторинга ошибок на AWS EC2
Для проекта мы пользовались Cloud-based версией Sentry, но в один прекрасный день исчерпали лимит на отправку сообщений, и бекенд-команда, по сути, осталась без мониторинга. Давно собирались запустить Sentry на своём сервере, появился повод. В посте описывается запуск Sentry с Docker Compose, настройка почты и пример перехвата ошибок в Python. Используем репозиторий Sentry. Запускаем AWS EC2,…
https://rtfm.co.ua/sentry-zapusk-self-hosted-versii-sistemy-monitoringa-oshibok-na-aws-ec2/
Для проекта мы пользовались Cloud-based версией Sentry, но в один прекрасный день исчерпали лимит на отправку сообщений, и бекенд-команда, по сути, осталась без мониторинга. Давно собирались запустить Sentry на своём сервере, появился повод. В посте описывается запуск Sentry с Docker Compose, настройка почты и пример перехвата ошибок в Python. Используем репозиторий Sentry. Запускаем AWS EC2,…
https://rtfm.co.ua/sentry-zapusk-self-hosted-versii-sistemy-monitoringa-oshibok-na-aws-ec2/
Debian: автоматические обновления с помощью unattended-upgrades и отправка почты через AWS SES
Пакет unattended-upgrades выполняет автоматическую установку обновлений на Debian/Ubuntu. Представляет собой Python-скрипт (1500 строк), расположенный в /usr/bin/unattended-upgrade (при этом /usr/bin/unattended-upgrades является симлинком на /usr/bin/unattended-upgrade). Аналог для CentsOS/RHEL – yum-cron. Устанавливаем: sudo apt -y install unattended-upgrades Основной файл настроек – /etc/apt/apt.conf.d/50unattended-upgrades, в нём настраиваются тип обновлений, отправка почты и прочее. Настройки самих обновлений выполняются в файле /etc/apt/apt.conf.d/20auto-upgrades, который можно создать вручную,…
https://rtfm.co.ua/debian-avtomaticheskie-obnovleniya-s-pomoshhyu-unattended-upgrades-i-otpravka-pochty-cherez-aws-ses/
Пакет unattended-upgrades выполняет автоматическую установку обновлений на Debian/Ubuntu. Представляет собой Python-скрипт (1500 строк), расположенный в /usr/bin/unattended-upgrade (при этом /usr/bin/unattended-upgrades является симлинком на /usr/bin/unattended-upgrade). Аналог для CentsOS/RHEL – yum-cron. Устанавливаем: sudo apt -y install unattended-upgrades Основной файл настроек – /etc/apt/apt.conf.d/50unattended-upgrades, в нём настраиваются тип обновлений, отправка почты и прочее. Настройки самих обновлений выполняются в файле /etc/apt/apt.conf.d/20auto-upgrades, который можно создать вручную,…
https://rtfm.co.ua/debian-avtomaticheskie-obnovleniya-s-pomoshhyu-unattended-upgrades-i-otpravka-pochty-cherez-aws-ses/
OpenVPN: Let’s Encrypt DNS verification и обновление сертификата в OpenVPN Access Server
В продолжение темы об установке и настройке OpenVNP Access Server, см. OpenVPN: настройка SSL и hostname. Прошло три месяца, строк действия сертификата от Let’s Encrypt закончился, надо его обновить (см. Prometheus: Alertmanager и blackbox-exporter — проверка срока действия SSL и нотификация в Slack). Можно было бы использовать привычную мне схему с webroot, но OpenVPN AS…
https://rtfm.co.ua/openvpn-lets-encrypt-dns-verification-i-obnovlenie-sertifikata-v-openvpn-access-server/
В продолжение темы об установке и настройке OpenVNP Access Server, см. OpenVPN: настройка SSL и hostname. Прошло три месяца, строк действия сертификата от Let’s Encrypt закончился, надо его обновить (см. Prometheus: Alertmanager и blackbox-exporter — проверка срока действия SSL и нотификация в Slack). Можно было бы использовать привычную мне схему с webroot, но OpenVPN AS…
https://rtfm.co.ua/openvpn-lets-encrypt-dns-verification-i-obnovlenie-sertifikata-v-openvpn-access-server/
AWS: ротация ключей IAM пользователей, EC2 IAM Roles и Jenkins
Сегодня просматривал IAM-пользователей в AWS, и вспомнил, что с точки зрения безопасности иногда полезно менять ключи доступа: Но тут встал вопрос: хорошо, задать ключам expire, и периодически их обновлять в AWS IAM – это одно… Но эти ключи используются в куче скриптов, которые запускаются в Jenkins-джобах. Например – провижен бекенда выполняется из Ansible и модуля…
https://rtfm.co.ua/aws-rotaciya-klyuchej-iam-polzovatelej-ec2-iam-roles-i-jenkins/
Сегодня просматривал IAM-пользователей в AWS, и вспомнил, что с точки зрения безопасности иногда полезно менять ключи доступа: Но тут встал вопрос: хорошо, задать ключам expire, и периодически их обновлять в AWS IAM – это одно… Но эти ключи используются в куче скриптов, которые запускаются в Jenkins-джобах. Например – провижен бекенда выполняется из Ansible и модуля…
https://rtfm.co.ua/aws-rotaciya-klyuchej-iam-polzovatelej-ec2-iam-roles-i-jenkins/
Jenkins: запуск PHPUnit из Codeception по Pull Reguest в Github и Allure-репорты
Задача – запускать PHPUnit для тестов кода бекенда. Сам PHPUnit будет запускаться из Codeception. Задача в Jenkins должна триггериться из Github, при создании Pull Request – используем Github Pull-Request Builder плагин. Для просмотра отчётов о тестах – используем Allure. Jenkins запущен в Docker-контейнере, и все процессы будет запускать в контейнерах. Проверка тестов Что бы получить…
https://rtfm.co.ua/jenkins-zapusk-phpunit-iz-codeception-po-pull-reguest-v-github-i-allure-reporty/
Задача – запускать PHPUnit для тестов кода бекенда. Сам PHPUnit будет запускаться из Codeception. Задача в Jenkins должна триггериться из Github, при создании Pull Request – используем Github Pull-Request Builder плагин. Для просмотра отчётов о тестах – используем Allure. Jenkins запущен в Docker-контейнере, и все процессы будет запускать в контейнерах. Проверка тестов Что бы получить…
https://rtfm.co.ua/jenkins-zapusk-phpunit-iz-codeception-po-pull-reguest-v-github-i-allure-reporty/
SonarQube: запуск в Docker и вызов из Jenkins Pipeline
Задача – запустить SonarQube, что бы Jenkins выполнял проверку кода. Jenkins работает в Docker, билды запускаются тоже Docker. Основная проблема, которая возникла во время запуска SonarQube из Docker Compose, это то, что контейнер с SonarQube внутри себя запускает процесс с Elastisearch (тем самым нарушая главный принцип использования конейнеров: 1 сервис на один контейнер). При этом…
https://rtfm.co.ua/sonarqube-zapusk-v-docker-i-vyzov-iz-jenkins-pipeline/
Задача – запустить SonarQube, что бы Jenkins выполнял проверку кода. Jenkins работает в Docker, билды запускаются тоже Docker. Основная проблема, которая возникла во время запуска SonarQube из Docker Compose, это то, что контейнер с SonarQube внутри себя запускает процесс с Elastisearch (тем самым нарушая главный принцип использования конейнеров: 1 сервис на один контейнер). При этом…
https://rtfm.co.ua/sonarqube-zapusk-v-docker-i-vyzov-iz-jenkins-pipeline/
SonarQube: ошибка “SCM provider autodetection failed”
Имеется свежая установка SonarQube, см пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема Но в дашборде проекта постоянно висит сообщение вида: SCM provider autodetection failed. Please use “sonar.scm.provider” to define SCM of your project, or disable the SCM Sensor in the project settings. И оно же выводится в логах билда в Jenkins.…
https://rtfm.co.ua/sonarqube-oshibka-scm-provider-autodetection-failed/
Имеется свежая установка SonarQube, см пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема Но в дашборде проекта постоянно висит сообщение вида: SCM provider autodetection failed. Please use “sonar.scm.provider” to define SCM of your project, or disable the SCM Sensor in the project settings. И оно же выводится в логах билда в Jenkins.…
https://rtfm.co.ua/sonarqube-oshibka-scm-provider-autodetection-failed/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
SonarQube: ошибка “SCM provider autodetection failed”
Решение ошибки "SCM provider autodetection failed" в SonarQube.
NGINX: мульти-бранч деплой приложения с использованием NGINX map и HTTP Headers
Имеется стандартный LEMP – NGINX, PHP-FPM. Приложение – Yii-фреймворк, который деплоится из Jenkins Ansible-ролью с помощью модуля synchronize на хосты в каталог /data/projects/prjectname/frontend/web, который является root в конфиге виртуалхоста NGINX. Задача: создать возможность деплоя из Jenkins приложения из разных бранчей – на хосте одновременно должны быть задеплоены разные версии приложения, доступ к которым будет определяться…
https://rtfm.co.ua/nginx-multi-branch-deploj-prilozheniya-s-ispolzovaniem-nginx-map-i-http-headers/
Имеется стандартный LEMP – NGINX, PHP-FPM. Приложение – Yii-фреймворк, который деплоится из Jenkins Ansible-ролью с помощью модуля synchronize на хосты в каталог /data/projects/prjectname/frontend/web, который является root в конфиге виртуалхоста NGINX. Задача: создать возможность деплоя из Jenkins приложения из разных бранчей – на хосте одновременно должны быть задеплоены разные версии приложения, доступ к которым будет определяться…
https://rtfm.co.ua/nginx-multi-branch-deploj-prilozheniya-s-ispolzovaniem-nginx-map-i-http-headers/
AWS: настройка S3 Cross-Region Replication и удаление файлов при репликации
В данный момент мы настраиваем CDN для проекта. В роли CDN-провайдера будут CloudFront и CloudFlare, для которых требуется создать две AWS S3 корзины с разными именами (cdn.cfr.example.com => CloudFront и cdn.cfl.example.com => CloudFlare). Что бы не копировать данные в обе корзины дважды – можно настроить репликацию данных между двумя корзинами – это и будет AWS Simple Sorage…
https://rtfm.co.ua/aws-nastrojka-s3-cross-region-replication-i-udalenie-fajlov-pri-replikacii/
В данный момент мы настраиваем CDN для проекта. В роли CDN-провайдера будут CloudFront и CloudFlare, для которых требуется создать две AWS S3 корзины с разными именами (cdn.cfr.example.com => CloudFront и cdn.cfl.example.com => CloudFlare). Что бы не копировать данные в обе корзины дважды – можно настроить репликацию данных между двумя корзинами – это и будет AWS Simple Sorage…
https://rtfm.co.ua/aws-nastrojka-s3-cross-region-replication-i-udalenie-fajlov-pri-replikacii/
RTFM: Linux, DevOps и системное администрирование
AWS: настройка S3 Cross-Region Replication и удаление файлов при репликации
Создание S3 Cross-Region Replication между двумя корзинами AWS S3 и настройка репликации удаления файлов
Kubernetes: знакомство, часть 1 – архитектура и основные компоненты, обзор
На текущем проекте у нас имеется API-бекенд для мобильных приложений на PHP Yii-фреймворке, который работает на стандартном LEMP – Linux/NGINX/PHP-FPM/MySQL. Пришла пора и нам разбивать этот монолит на микросервисы, для управления которыми будет использоваться Kubernetes (AWS EKS). В этом и последующих постах серии – знакомство с основными компонентами и архитектурой Kubernetes, ручное создание кластера и…
https://rtfm.co.ua/kubernetes-znakomstvo-chast-1-arxitektura-i-osnovnye-komponenty-obzor/
На текущем проекте у нас имеется API-бекенд для мобильных приложений на PHP Yii-фреймворке, который работает на стандартном LEMP – Linux/NGINX/PHP-FPM/MySQL. Пришла пора и нам разбивать этот монолит на микросервисы, для управления которыми будет использоваться Kubernetes (AWS EKS). В этом и последующих постах серии – знакомство с основными компонентами и архитектурой Kubernetes, ручное создание кластера и…
https://rtfm.co.ua/kubernetes-znakomstvo-chast-1-arxitektura-i-osnovnye-komponenty-obzor/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор
Обзор основных компонентов и архитектуры Kubernetes
AWS RDS: SQLSTATE[22001] – Data too long for column в MariaDB 10.2
Имеется 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, например так:…
https://rtfm.co.ua/__trashed-10/
Имеется 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, например так:…
https://rtfm.co.ua/__trashed-10/
RTFM: Linux, DevOps и системное администрирование
AWS RDS: SQLSTATE[22001] — Data too long for column в MariaDB 10.2
Решение ошибки "SQLSTATE[22001] Data too long for column" в AWS RDS MariaDB 10.2
NGINX: limit_req – ограничение количества запросов
Задача – установить лимит количества запросов с одного IP: добавить rate limiter на URI /user/oauth/refresh_token число запросов – 5 в минуту с одного IP если запросов больше – возвращаем 429 Too Many Requests Используем NGINX и его модуль ngx_http_limit_req_module. limit_req_zone Для работы “лимитера” – следует создать зону, в которой будут хранится данные (а именно –…
https://rtfm.co.ua/nginx-limit_req-ogranichenie-kolichestva-zaprosov/
Задача – установить лимит количества запросов с одного IP: добавить rate limiter на URI /user/oauth/refresh_token число запросов – 5 в минуту с одного IP если запросов больше – возвращаем 429 Too Many Requests Используем NGINX и его модуль ngx_http_limit_req_module. limit_req_zone Для работы “лимитера” – следует создать зону, в которой будут хранится данные (а именно –…
https://rtfm.co.ua/nginx-limit_req-ogranichenie-kolichestva-zaprosov/
Kubernetes: знакомство, часть 2 – создание кластера с AWS cloud-provider и AWS LoadBalancer
В первом посте – Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор – были рассмотрены основные компонены, теперь время применить их на практике. Следующим, что очень хотелось потрогать – это интеграция Kubernetes с AWS и работа с сетью: создать веб-сервис, и получить к нему доступ через AWS Load Balancer. Главная проблема, с которой столкнулся…
https://rtfm.co.ua/kubernetes-znakomstvo-chast-2-sozdanie-klastera-s-aws-cloud-provider-i-aws-loadbalancer/
В первом посте – Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор – были рассмотрены основные компонены, теперь время применить их на практике. Следующим, что очень хотелось потрогать – это интеграция Kubernetes с AWS и работа с сетью: создать веб-сервис, и получить к нему доступ через AWS Load Balancer. Главная проблема, с которой столкнулся…
https://rtfm.co.ua/kubernetes-znakomstvo-chast-2-sozdanie-klastera-s-aws-cloud-provider-i-aws-loadbalancer/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Kubernetes: знакомство, часть 2 – создание кластера с AWS cloud-provider и AWS LoadBalancer
Пошаговое создание Kubernetes кластера с AWS cloud-provider и AWS LoadBalancer
RTFM: День Рождения – 8 годиков и 3 миллиона посетителей. Обзор обновлений.
Как-то вдруг наступил уже и Август. Традицонно – 14-е Августа у RTFM что-то вроде Дня рождения: Ну и традиционно – кратенько пройдусь по основным событиям за прошедший год (хотя семилетие не записал, ну да ладно). Блог по-прежнему работает на WordPress, хостится на Debian + NGINX + PHP-FPM + MariaDB – стандартный LEMP. Предыдущие посты: rtfm.co.ua…
https://rtfm.co.ua/rtfm-den-rozhdeniya-8-godikov-i-3-milliona-posetitelej-obzor-obnovlenij/
Как-то вдруг наступил уже и Август. Традицонно – 14-е Августа у RTFM что-то вроде Дня рождения: Ну и традиционно – кратенько пройдусь по основным событиям за прошедший год (хотя семилетие не записал, ну да ладно). Блог по-прежнему работает на WordPress, хостится на Debian + NGINX + PHP-FPM + MariaDB – стандартный LEMP. Предыдущие посты: rtfm.co.ua…
https://rtfm.co.ua/rtfm-den-rozhdeniya-8-godikov-i-3-milliona-posetitelej-obzor-obnovlenij/
RTFM: Linux, DevOps и системное администрирование
RTFM: День Рождения — 8 годиков и 3 миллиона посетителей. Обзор обновл
Как-то вдруг наступил уже и Август. Традицонно - 14-е Августа у RTFM что-то вроде Дня рождения: Ну и традиционно - кратенько пройдусь по основным событиям за прошедший год (хотя семилетие не записал,
Kubernetes: знакомство, часть 3 – обзор AWS EKS и ручное создание кластера
Продолжаем знакомство с Kubernetes. Предыдущие части: Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer В этой части перейдём уже непосредственно к EKS – кратко его рассмотрим, потом создадим Kubernetes Control Plane, CloudFormation стек с Worker Nodes, запустим веб-сервис в новом…
https://rtfm.co.ua/kubernetes-znakomstvo-chast-3-obzor-aws-eks-i-ruchnoe-sozdanie-klastera/
Продолжаем знакомство с Kubernetes. Предыдущие части: Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer В этой части перейдём уже непосредственно к EKS – кратко его рассмотрим, потом создадим Kubernetes Control Plane, CloudFormation стек с Worker Nodes, запустим веб-сервис в новом…
https://rtfm.co.ua/kubernetes-znakomstvo-chast-3-obzor-aws-eks-i-ruchnoe-sozdanie-klastera/
Docker: Compose и общие сети
Имеется Docker Compose стек с Jenkins, SonarQube и PostgresSQL, см. пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема в том, что они описаны в одном Compose-файле, и весь стек перезапускается единым systemd-файлом (см. Linux: systemd сервис для Docker Compose). Соответственно, если надо перезапустить SonarQube – то придётся перезапускать и Jenkins, на котором…
https://rtfm.co.ua/docker-compose-i-obshhie-seti/
Имеется Docker Compose стек с Jenkins, SonarQube и PostgresSQL, см. пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема в том, что они описаны в одном Compose-файле, и весь стек перезапускается единым systemd-файлом (см. Linux: systemd сервис для Docker Compose). Соответственно, если надо перезапустить SonarQube – то придётся перезапускать и Jenkins, на котором…
https://rtfm.co.ua/docker-compose-i-obshhie-seti/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Docker: Compose и общие сети
Использование общих сетей в Docker Compose стеках