What is: YAML – общий обзор, типы данных, YAML vs JSON и PyYAML
YAML – один из наиболее популярных форматов… Они сами не знают – форматом чего, на самом деле. Изначально он был «Yet Another Markup Language» – «Ещё один язык разметки», позже стал «YAML Ain’t Markup Language» – «YAML – не язык разметки» ((с) Wiki Rus и Wiki Eng): Originally YAML was said to mean Yet Another Markup…
https://rtfm.co.ua/what-is-yaml-obshhij-obzor-tipy-dannyx-yaml-vs-json-i-pyyaml/
YAML – один из наиболее популярных форматов… Они сами не знают – форматом чего, на самом деле. Изначально он был «Yet Another Markup Language» – «Ещё один язык разметки», позже стал «YAML Ain’t Markup Language» – «YAML – не язык разметки» ((с) Wiki Rus и Wiki Eng): Originally YAML was said to mean Yet Another Markup…
https://rtfm.co.ua/what-is-yaml-obshhij-obzor-tipy-dannyx-yaml-vs-json-i-pyyaml/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
What is: YAML – общий обзор, типы данных, YAML vs JSON и PyYAML
Обзор базовых типов в YAML, его синтаксиса, примеры YAML vs JSON и работа с YAML с использованием библиотеки Python PyYAML.
Jenkins: HTTP full-duplex channel timeout
При подключении к Jenkins с помощью Jenkins CLI – оно завершается с ошибкой. Т.е. в консоли ничего не выводится, но если после подключения выполнить echo $?, что бы вывести код последней команды – то там был, кажется, 255 ответ. Происходило пару дней тому, не записал в черновик. Подключение выглядит так: $ java -jar jenkins-cli.jar…
https://rtfm.co.ua/jenkins-http-full-duplex-channel-timeout/
При подключении к Jenkins с помощью Jenkins CLI – оно завершается с ошибкой. Т.е. в консоли ничего не выводится, но если после подключения выполнить echo $?, что бы вывести код последней команды – то там был, кажется, 255 ответ. Происходило пару дней тому, не записал в черновик. Подключение выглядит так: $ java -jar jenkins-cli.jar…
https://rtfm.co.ua/jenkins-http-full-duplex-channel-timeout/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Jenkins: HTTP full-duplex channel timeout
Jenkins CLI и ошибка "HTTP full-duplex channel timeout" - причина и решение.
Jenkins: jenkins.model.RunIdMigrator doMigrate WARNING: found unexpected dir lastSuccessfulBuil
Имеется Jenkins, запущен в Docker-контейнере. Проблема После рестарта через systemctl – “Шеф, усё пропало!” Сам сервис выглядит так: …
https://rtfm.co.ua/jenkins-jenkins-model-runidmigrator-domigrate-warning-found-unexpected-dir-lastsuccessfulbuil/
Имеется Jenkins, запущен в Docker-контейнере. Проблема После рестарта через systemctl – “Шеф, усё пропало!” Сам сервис выглядит так: …
https://rtfm.co.ua/jenkins-jenkins-model-runidmigrator-domigrate-warning-found-unexpected-dir-lastsuccessfulbuil/
rtfm.co.ua
Jenkins: jenkins.model.RunIdMigrator doMigrate WARNING: found unexpected dir lastSuccessfulBuil | RTFM: Linux, DevOps и системное…
Имеется Jenkins, запущен в Docker-контейнере. Проблема После рестарта через systemctl - "Шеф, усё пропало!" Сам сервис выглядит так: И Compose файл: Первым, что
NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux
После новости о том, что Dropbox вводит ограничение на 3 устройства – я таки созрел для установки NextCloud. Огорчил не сам лимит – у меня три устройства и используются, плюс оно повлияет только на новых пользователей (старые будут ограничены их текущим количеством устройств, а вот за дополнительные – придётся платить), сколько вообще введение подобных ограничений.…
https://rtfm.co.ua/nextcloud-ustanovka-servera-na-debian-s-nginx-i-php-fpm-i-klienta-na-arch-linux/
После новости о том, что Dropbox вводит ограничение на 3 устройства – я таки созрел для установки NextCloud. Огорчил не сам лимит – у меня три устройства и используются, плюс оно повлияет только на новых пользователей (старые будут ограничены их текущим количеством устройств, а вот за дополнительные – придётся платить), сколько вообще введение подобных ограничений.…
https://rtfm.co.ua/nextcloud-ustanovka-servera-na-debian-s-nginx-i-php-fpm-i-klienta-na-arch-linux/
Monit: алерты при SSH логинах на сервер
Задача – отсылать уведомления на почту при SSH-логине на хост с недоверенных IP. Используем Monit. Устанавливаем: Настраиваем отправку почты – задаём localhost (у нас крутится локальный exim), формат письма и получателя алертов. Редактируем /etc/monit/monitrc: ... set mailserver localhost set mail-format { from: Monit subject:…
https://rtfm.co.ua/monit-alerty-pri-ssh-loginax-na-server/
Задача – отсылать уведомления на почту при SSH-логине на хост с недоверенных IP. Используем Monit. Устанавливаем: Настраиваем отправку почты – задаём localhost (у нас крутится локальный exim), формат письма и получателя алертов. Редактируем /etc/monit/monitrc: ... set mailserver localhost set mail-format { from: Monit subject:…
https://rtfm.co.ua/monit-alerty-pri-ssh-loginax-na-server/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Monit: алерты при SSH логинах на сервер
Задача - отсылать уведомления на почту при SSH-логине на хост с недоверенных IP. Используем Monit. Устанавливаем: [simterm] root@jenkins-dev:/home/admin# apt update && apt -y install monit [/simterm] Настраиваем отправку почты - задаём localhost (у нас крутится…
NGINX: access лог – логгирование всех запросов, кроме 200
Задача – логгировать все запросы, кроме 200 ответов. Подход с map можно использовать для совершенно разных вещей. Например – задавать условия по наличию заголовка, и потом перенаправлять на различные location – попозже, наверно, добавлю такой пример. Сейчас нас интересуют две возможности NGINX – “условное логгирование” для выбора условий, при которых будем заносить события в журнал,…
https://rtfm.co.ua/nginx-access-log-loggirovanie-vsex-zaprosov-krome-200/
Задача – логгировать все запросы, кроме 200 ответов. Подход с map можно использовать для совершенно разных вещей. Например – задавать условия по наличию заголовка, и потом перенаправлять на различные location – попозже, наверно, добавлю такой пример. Сейчас нас интересуют две возможности NGINX – “условное логгирование” для выбора условий, при которых будем заносить события в журнал,…
https://rtfm.co.ua/nginx-access-log-loggirovanie-vsex-zaprosov-krome-200/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
NGINX: access лог – логгирование всех запросов, кроме 200
Пример использования NGINX map для настройки логгирования только определённых кодов в access.log
TestRail: QA Test Case Management система – установка на Linux
TestRail – Test Case Management Software for QA and Development Teams. Собственно – этого достаточно для описания) Ниже – описание процесса его установки на Debian с NGINX, Let’s Encrypt, PHP-FPM, MariaDB и Exim. Домашняя страница проекта – www.gurock.com/testrail Документация по установке – тут>>>. Устанавливать будем на AWS EC2. LEMP и SSL Логинимся на сервер: …
https://rtfm.co.ua/testrail-qa-test-case-management-sistema-ustanovka-na-linux/
TestRail – Test Case Management Software for QA and Development Teams. Собственно – этого достаточно для описания) Ниже – описание процесса его установки на Debian с NGINX, Let’s Encrypt, PHP-FPM, MariaDB и Exim. Домашняя страница проекта – www.gurock.com/testrail Документация по установке – тут>>>. Устанавливать будем на AWS EC2. LEMP и SSL Логинимся на сервер: …
https://rtfm.co.ua/testrail-qa-test-case-management-sistema-ustanovka-na-linux/
TestRail | The Quality OS for QA Teams
AI-Driven Test Management Software by TestRail
TestRail is an AI-driven test management platform that helps you streamline your software testing processes, get visibility into QA, and release high-quality software.
What is: chroot – системный вызов и утилита в Linux
chroot() был добавлен в ядро Linux в 1979 году и используется для изоляции файловой системы. По сути, является предшественником вообще всей идеи нынешней контейнеризации, только в современных системах используются namespaces и cgroups, а раньше применяли chroot для создания изолированного от хоста рабочего окружения, которое могло использоваться для тестирования. Собственно, ch и root и является “аббревиатурой”…
https://rtfm.co.ua/what-is-chroot-sistemnyj-vyzov-i-utilita-v-linux/
chroot() был добавлен в ядро Linux в 1979 году и используется для изоляции файловой системы. По сути, является предшественником вообще всей идеи нынешней контейнеризации, только в современных системах используются namespaces и cgroups, а раньше применяли chroot для создания изолированного от хоста рабочего окружения, которое могло использоваться для тестирования. Собственно, ch и root и является “аббревиатурой”…
https://rtfm.co.ua/what-is-chroot-sistemnyj-vyzov-i-utilita-v-linux/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
What is: chroot – системный вызов и утилита в Linux
История, описание работы и пример использования системного вызова chroot() в Linux. Примеры работы с утилитой chroot в Linux.
English: глаголы и времена в английском языке
Одной из причин, по которой хотелось добавить английскую версию блога было то, что это дало бы хороший повод подтянуть грамматику английского, с которым у меня достаточно большие проблемы. Долго думал – стоит ли заводить такую рубрику в этом блоге, но – в IT без английского никуда, а потому, надеюсь, попытки разобраться с некоторыми нюансами и…
https://rtfm.co.ua/english-glagoly-i-vremena-v-anglijskom-yazyke/
Одной из причин, по которой хотелось добавить английскую версию блога было то, что это дало бы хороший повод подтянуть грамматику английского, с которым у меня достаточно большие проблемы. Долго думал – стоит ли заводить такую рубрику в этом блоге, но – в IT без английского никуда, а потому, надеюсь, попытки разобраться с некоторыми нюансами и…
https://rtfm.co.ua/english-glagoly-i-vremena-v-anglijskom-yazyke/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
English: глаголы и времена в английском языке
Одной из причин, по которой хотелось добавить английскую версию блога было то, что это дало бы хороший повод подтянуть грамматику английского, с которым у меня достаточно большие проблемы. Долго думал - стоит ли заводить такую рубрику в этом блоге, но - в…
Arch Linux: установка драйверов NVIDIA для GeForce GTX 1050 Ti
Основной целью покупки нового ПК в декабре с NVIDIA 1050 была возможность играть в игры на Linux без необходимости перезагружаться в Windows. Собственно, для этого надо установить драйвера, что бы система начала использовать “проприентарщину” вместо nouveau (хотя, справедливости ради, надо отметить, что на nouveau я и не пробовал запускать игры). После нескольких предыдущих попыток пару…
https://rtfm.co.ua/arch-linux-ustanovka-drajverov-nvidia-dlya-geforce-gtx-1050-ti/
Основной целью покупки нового ПК в декабре с NVIDIA 1050 была возможность играть в игры на Linux без необходимости перезагружаться в Windows. Собственно, для этого надо установить драйвера, что бы система начала использовать “проприентарщину” вместо nouveau (хотя, справедливости ради, надо отметить, что на nouveau я и не пробовал запускать игры). После нескольких предыдущих попыток пару…
https://rtfm.co.ua/arch-linux-ustanovka-drajverov-nvidia-dlya-geforce-gtx-1050-ti/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Arch Linux: установка драйверов NVIDIA для GeForce GTX 1050 Ti
Установка NVIDIA драйверов на Arch Linux на PC, проблемы и решения.
Prometheus” Alertmanager – отправка алертов в “/dev/null”
В дополнение к посту Prometheus: роутинг алертов в Alertmanager. Имеется конфиг с роутами. Задача – вырезать все алерты от Дев-а, и слать в “/dev/null”. Для этого – создаём пустой ресивер: ... receivers: - name: 'blackhole' - name: 'default' slack_configs: - send_resolved: true noscript_link: 'http://dev.monitor.example.world/prometheus/alerts' noscript: '{{ if eq .Status "firing" }}:confused:{{ else }}:dancing_panda:{{ end }}…
https://rtfm.co.ua/prometheus-alertmanager-otpravka-alertov-v-dev-null/
В дополнение к посту Prometheus: роутинг алертов в Alertmanager. Имеется конфиг с роутами. Задача – вырезать все алерты от Дев-а, и слать в “/dev/null”. Для этого – создаём пустой ресивер: ... receivers: - name: 'blackhole' - name: 'default' slack_configs: - send_resolved: true noscript_link: 'http://dev.monitor.example.world/prometheus/alerts' noscript: '{{ if eq .Status "firing" }}:confused:{{ else }}:dancing_panda:{{ end }}…
https://rtfm.co.ua/prometheus-alertmanager-otpravka-alertov-v-dev-null/
Jenkins: your Jenkins data directory is almost full и автоматическая очистка диска
Есть Jenkins, на котором имеется пачка билдов проекта. Спустя какое-то время – появилось сообщение вида: Jenkins: your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full Проверяем диск с помощью ncdu, и находим несколько джоб, которые отжирают много места, например: root@jenkins-production:/data/jenkins# du -h --max-depth 1 jobs/..25G jobs/APITests... Кучу места занимают логи: root@jenkins-production:/data/jenkins# ls -lh /data/jenkins/jobs/APITests/jobs/Projectname/jobs/Stage/jobs/ProjectnameStageAPItests/builds/551/log-rw-r--r-- 1 root root 77M Mar 1 12:49 /data/jenkins/jobs/APITests/jobs/Projectname/jobs/Stage/jobs/ProjectnameStageAPItests/builds/551/log И билдов много, и в каждой хранится такой лог.…
https://rtfm.co.ua/jenkins-your-jenkins-data-directory-is-almost-full-i-avtomaticheskaya-ochistka-diska/
Есть Jenkins, на котором имеется пачка билдов проекта. Спустя какое-то время – появилось сообщение вида: Jenkins: your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full Проверяем диск с помощью ncdu, и находим несколько джоб, которые отжирают много места, например: root@jenkins-production:/data/jenkins# du -h --max-depth 1 jobs/..25G jobs/APITests... Кучу места занимают логи: root@jenkins-production:/data/jenkins# ls -lh /data/jenkins/jobs/APITests/jobs/Projectname/jobs/Stage/jobs/ProjectnameStageAPItests/builds/551/log-rw-r--r-- 1 root root 77M Mar 1 12:49 /data/jenkins/jobs/APITests/jobs/Projectname/jobs/Stage/jobs/ProjectnameStageAPItests/builds/551/log И билдов много, и в каждой хранится такой лог.…
https://rtfm.co.ua/jenkins-your-jenkins-data-directory-is-almost-full-i-avtomaticheskaya-ochistka-diska/
RTFM: Linux, DevOps и системное администрирование
Jenkins: your Jenkins data directory is almost full и автоматическая очистка диска
Решение проблемы "your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full" с помощью автоматического удаления старых билдов.
Redis: репликация, часть 1 – обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis.
Изначально планировался один небольшой пост с примером создания Redis-репликации, но по мере углубления в детали – захотелось описать всё больше и больше, а потому разбил материал на две части. В этой, обзорной – общие сведения, разница между различными типами хранения данных в Redis, примеры топологии. Достаточно кратко, но со ссылками на детальную документацию, плюс ссылки…
https://rtfm.co.ua/redis-replikaciya-chast-1-obzor-replication-vs-sharding-sentinel-vs-cluster-topologiya-redis/
Изначально планировался один небольшой пост с примером создания Redis-репликации, но по мере углубления в детали – захотелось описать всё больше и больше, а потому разбил материал на две части. В этой, обзорной – общие сведения, разница между различными типами хранения данных в Redis, примеры топологии. Достаточно кратко, но со ссылками на детальную документацию, плюс ссылки…
https://rtfm.co.ua/redis-replikaciya-chast-1-obzor-replication-vs-sharding-sentinel-vs-cluster-topologiya-redis/
Redis: репликация, часть 2 – Master-Slave репликация, и Redis Sentinel
Продолжение поста Redis: репликация, часть 1 – обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Собственно, вся история началась с того, что мы решили избавиться от memcached. На данный момент у нас на серверах запущены и memcahced, и Redis. И memcached, и Redis работают как standalone приложения на разных сервера, т.е. их инстансы никак…
https://rtfm.co.ua/redis-replikaciya-chast-2-master-slave-replikaciya-i-redis-sentinel/
Продолжение поста Redis: репликация, часть 1 – обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Собственно, вся история началась с того, что мы решили избавиться от memcached. На данный момент у нас на серверах запущены и memcahced, и Redis. И memcached, и Redis работают как standalone приложения на разных сервера, т.е. их инстансы никак…
https://rtfm.co.ua/redis-replikaciya-chast-2-master-slave-replikaciya-i-redis-sentinel/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel
Установка и настройка Redis Master-Slave репликации, настройка Redis Sentinel для мониторинга статуса Master-нод. Примеры работы с Redis Sentinel.
Redis: репликация, часть 3 — redis-py и работа с Redis Sentinel из Python
В продолжение постов о настройке и использовании Redis репликации с использованием Redis Sentinel – пример работы из Python. Предыдущие посты серии: Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel Список всех клиентов, в частности Python – redis.io/clients. Тут используем…
https://rtfm.co.ua/redis-replikaciya-chast-3-redis-py-i-rabota-s-redis-sentinel-iz-python/
В продолжение постов о настройке и использовании Redis репликации с использованием Redis Sentinel – пример работы из Python. Предыдущие посты серии: Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis. Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel Список всех клиентов, в частности Python – redis.io/clients. Тут используем…
https://rtfm.co.ua/redis-replikaciya-chast-3-redis-py-i-rabota-s-redis-sentinel-iz-python/
JetBrains Upsource: установка и запуск на Linux с NGINX и SSL
Upsource – система от JetBrains для код ревью, который через плагин интегрируется во все IDE от JetBrains. Представляет собой Java-приложение с Apache Cassandra в роли локального хранилища данных и индексов. Минимальные требования к машине, на которой будет запускаться – 8 ГБ памяти, что, впрочем, не удивительно. До 10-ти пользователей – бесплатна. В этом посте –…
https://rtfm.co.ua/jetbrains-upsource-ustanovka-i-zapusk-na-linux-s-nginx-i-ssl/
Upsource – система от JetBrains для код ревью, который через плагин интегрируется во все IDE от JetBrains. Представляет собой Java-приложение с Apache Cassandra в роли локального хранилища данных и индексов. Минимальные требования к машине, на которой будет запускаться – 8 ГБ памяти, что, впрочем, не удивительно. До 10-ти пользователей – бесплатна. В этом посте –…
https://rtfm.co.ua/jetbrains-upsource-ustanovka-i-zapusk-na-linux-s-nginx-i-ssl/
Redis: Can’t open the log file: Read-only file system
Имеется новый сервис Redis, который должен работать параллельно с уже существующим. При его запуске – он сообщает, что Can’t open the log file: Read-only file system – хотя права на /var/log правильные, на сам файл лога – тоже. Причина оказалась достаточно неочевидной. Проблема Полностью ошибка выглядит так: --- Unit redis-cluster.service has begun starting up.Apr 03 10:12:28 bttrm-dev-console redis-server[18010]: *** FATAL CONFIG FILE ERROR ***Apr 03 10:12:28 bttrm-dev-console redis-server[18010]: Reading the configuration file, at line 11Apr 03 10:12:28 bttrm-dev-console redis-server[18010]: >>> ‘logfile /var/log/redis/redis-cluster.log’Apr 03 10:12:28 bttrm-dev-console redis-server[18010]: Can’t open the log file: Read-only file systemApr 03 10:12:28 bttrm-dev-console systemd[1]: redis-cluster.service: Control process exited, code=exited status=1Apr 03 10:12:28 bttrm-dev-console systemd[1]: Failed to start Redis relication cluster node.--- Subject: Unit redis-cluster.service has failed Конфигурация Файл лога указан в настройках ноды…
https://rtfm.co.ua/redis-cant-open-the-log-file-read-only-file-system/
Имеется новый сервис Redis, который должен работать параллельно с уже существующим. При его запуске – он сообщает, что Can’t open the log file: Read-only file system – хотя права на /var/log правильные, на сам файл лога – тоже. Причина оказалась достаточно неочевидной. Проблема Полностью ошибка выглядит так: --- Unit redis-cluster.service has begun starting up.Apr 03 10:12:28 bttrm-dev-console redis-server[18010]: *** FATAL CONFIG FILE ERROR ***Apr 03 10:12:28 bttrm-dev-console redis-server[18010]: Reading the configuration file, at line 11Apr 03 10:12:28 bttrm-dev-console redis-server[18010]: >>> ‘logfile /var/log/redis/redis-cluster.log’Apr 03 10:12:28 bttrm-dev-console redis-server[18010]: Can’t open the log file: Read-only file systemApr 03 10:12:28 bttrm-dev-console systemd[1]: redis-cluster.service: Control process exited, code=exited status=1Apr 03 10:12:28 bttrm-dev-console systemd[1]: Failed to start Redis relication cluster node.--- Subject: Unit redis-cluster.service has failed Конфигурация Файл лога указан в настройках ноды…
https://rtfm.co.ua/redis-cant-open-the-log-file-read-only-file-system/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Redis: Can’t open the log file: Read-only file system
Ошибка Can't open the log file: Read-only file system при запуске Redis - причина и решение.
Atom: полезные плагины
Давно пользуюсь vim практически для всего, кроме крупных проектов на Python (которые последнее время случаются крайней редко), для которого использую PyCharm. Тот же PyCharm использую при написании JSON-шаблонов для CludFormation (см. плагин aws-cloudformation). Для Go сначала пользовался vim с плагином vim-go, но недавно потрогал Atom – вполне понравился, попробую исопльзовать его. Собственно в этом посте…
https://rtfm.co.ua/atom-poleznye-plaginy/
Давно пользуюсь vim практически для всего, кроме крупных проектов на Python (которые последнее время случаются крайней редко), для которого использую PyCharm. Тот же PyCharm использую при написании JSON-шаблонов для CludFormation (см. плагин aws-cloudformation). Для Go сначала пользовался vim с плагином vim-go, но недавно потрогал Atom – вполне понравился, попробую исопльзовать его. Собственно в этом посте…
https://rtfm.co.ua/atom-poleznye-plaginy/
Ansible: получить IP таргет хоста
Задача – в Ansible получить IP адрес хоста, на котором выполняется задача. Есть два варианта (может и больше), ниже – примеры с обоими. Вариант 1 – hostvars См. документацию тут>>>. Добавим тестовую задачу: - name: Test hosts list debug: msg: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" Запускаем: ...TASK [test : Test hosts list] ****ok: [dev.backend-app1-internal.example.com] => {"msg": "10.0.2.71"}ok: [dev.backend-app2-internal.example.com] => {"msg": "10.0.2.91"}ok: [dev.backend-console-internal.example.com] => {"msg": "10.0.2.104"}ok: [dev.backend-bastion.example.com] => {"msg": "10.0.2.126"}... Вариант 2 – lookup и dig Второй вариант – с…
https://rtfm.co.ua/ansible-poluchit-ip-target-xosta/
Задача – в Ansible получить IP адрес хоста, на котором выполняется задача. Есть два варианта (может и больше), ниже – примеры с обоими. Вариант 1 – hostvars См. документацию тут>>>. Добавим тестовую задачу: - name: Test hosts list debug: msg: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" Запускаем: ...TASK [test : Test hosts list] ****ok: [dev.backend-app1-internal.example.com] => {"msg": "10.0.2.71"}ok: [dev.backend-app2-internal.example.com] => {"msg": "10.0.2.91"}ok: [dev.backend-console-internal.example.com] => {"msg": "10.0.2.104"}ok: [dev.backend-bastion.example.com] => {"msg": "10.0.2.126"}... Вариант 2 – lookup и dig Второй вариант – с…
https://rtfm.co.ua/ansible-poluchit-ip-target-xosta/
Redis: Sentinel – bind 0.0.0.0, проблема с localhost и announce-ip
Изначально в файлах настроек Sentinel я использовал bind 0.0.0.0, что бы инстансы были доступны по внешним IP. Из-за этого при развёртывании системы на реальном окружении возникла проблема при определении мастер-хоста и других инстансов Sentinel. В этом посте – пример такой проблемы и их решение. На самом деле проблем было больше, но получилось воспроизвести только одну,…
https://rtfm.co.ua/redis-sentinel-bind-0-0-0-0-problema-s-localhost-i-announce-ip/
Изначально в файлах настроек Sentinel я использовал bind 0.0.0.0, что бы инстансы были доступны по внешним IP. Из-за этого при развёртывании системы на реальном окружении возникла проблема при определении мастер-хоста и других инстансов Sentinel. В этом посте – пример такой проблемы и их решение. На самом деле проблем было больше, но получилось воспроизвести только одну,…
https://rtfm.co.ua/redis-sentinel-bind-0-0-0-0-problema-s-localhost-i-announce-ip/
RTFM: Linux, DevOps и системное администрирование | DevOps-инжиниринг и системное администрирование. Случаи из практики.
Redis: Sentinel – bind 0.0.0.0, проблема с localhost и announce-ip
Sentinel discovery, сеть и IP-адреса. Примеры конфигураций и решение проблем с определением IP инстансов Sentinel и Redis master ноды.
Go: проверка списка публичных репозиториев в Github и уведомления в Slack. Сравнение списков в Go. Первый опыт с Golang.
Задача – написать утилиту, которая будет запускаться по крону из Jenkins и проверять список публичных репозиториев организации в Github. Затем она должна сравнивать полученный список со списком разрешённых, и если списки не совпадают – слать алерт в Slack. Идея состоит в том, что если девелоперы случайно создадут новый публичный репозиторий, или сменят тип существующего с…
https://rtfm.co.ua/go-proverka-spiska-publichnyx-repozitoriev-v-github-i-uvedomleniya-v-slack-sravnenie-spiskov-v-go-pervyj-opyt-s-golang/
Задача – написать утилиту, которая будет запускаться по крону из Jenkins и проверять список публичных репозиториев организации в Github. Затем она должна сравнивать полученный список со списком разрешённых, и если списки не совпадают – слать алерт в Slack. Идея состоит в том, что если девелоперы случайно создадут новый публичный репозиторий, или сменят тип существующего с…
https://rtfm.co.ua/go-proverka-spiska-publichnyx-repozitoriev-v-github-i-uvedomleniya-v-slack-sravnenie-spiskov-v-go-pervyj-opyt-s-golang/
RTFM: Linux, DevOps и системное администрирование
Go: проверка списка публичных репозиториев в Github и уведомления в Slack. Сравнение списков в Go. Первый опыт с Golang.
Процесс написания утилиты на Go для проверки списка публичных репозиториев в Github с уведомлениями в Slack. Сравнение списков в Go.