Чтобы получить IP адреса всех инстансов с тегом "Application" и его значением "Frontend", и так же отфильтровать по состоянию, чтобы вывести информацию только о тех инстансах, которые в состоянии "running". Чтобы вместе с IP адресом вывести имя истанса:
Пример, как получить IP адрес другого хоста с "hosts" файла, выполняя задачу на другом хосте. server1 — на нем будет выполнятся наш Playbook server2 — его IP адрес нам нужен в Playbook'е hosts: Для того, чтобы получить IP адрес, мы будем использовать "hostvars", где укажем имя нужного нам сервера, в нашем случае …
Продолжить читать "Ansible — Получить IP адрес другого хоста с hosts файла"
Есть "hosts" файл, в котором есть группа "db". Это инстансы с базами данных, которые выполняют разную роль. Цель добавить тип роли в "hosts" файл, чтобы потом это значение мы могли использовать в цикле, который будет выполнятся совершенно на другом хосте, к примеру "management" Исходный "hosts" файл: Добавим ключ "role" с нужным значением …
Продолжить читать "Ansible — Использовать значения в цикле с hosts файла на другом хосте"
Есть "hosts" файл, в котором в группе "db" есть N количество хостов, нужно в плейбуке автоматически задавать переменную, равную количеству хостов в определенной группе hosts example.yaml
Если в Jenkins Pipeline используется переменная, которая создается на основе Webhook'а или т.п., то при ручном запуске задача завершится ошибкой. Чтобы это избежать, можно добавить проверку существования переменной и задать ей значение. В данном примере проверяется наличие переменной "GIT_COMMIT_ID", и при ее отсутствии выполняется скрипт, который задает данную переменную со значением последнего HASH …
Продолжить читать "Jenkins — Проверка существования переменной"
При создании подписки на HTTP/HTTPS в AWS SNS можно наблюдать, что подписка повисла в статусе: "Pending confirmation" SNS на указанный URL делает POST запрос, в котором отправляет данные в формате JSON, и ожидает в ответ получить значение ключа: "SubscribeURL". Но если приложение не умеет ответить SNS'у, то можно ввести URL подтверждения вручную, но для …
Продолжить читать "AWS SNS — HTTP(S) Subscription: ручное подтверждение"
Установим Java OpenJDK, так как она является зависимостью для Jenkins'а. Последние версии Jenkins'а совместимы с 11-ой версией, так что установим ее. Для добавления Jenkins репозитория понадобится утилита "wget", если ее нет в системе, то устанавливаем: Добавляем репозиторий и импортируем его ключ: Устанавливаем Jenkins: Запускаем: Проверяем статус: Если все хорошо, …
Продолжить читать "CentOS 7 — Jenkins установка"
Необходимо выполнить обновление пода без даунтайма, но у пода есть volume, который является EBS, и может быть приатачен одновременно только к одному из EC2 инстансов. Поэтому необходимо, чтобы под был запущен на той же ноде, для этого можно воспользоваться "podAffinity" deployment.yaml
Для установки Logstash нужна установленная Java OpenJDK Устанавливаем Java OpenJDK: Импортируем ключ репозитория: И добавляем репозиторий: Устанавливаем Logstash: После установки на AMI Linux 2 не будет Systemd сервиса. Создадим его: Запускаем сервис и проверяем статус: Добавляем в автозапуск:
Запрос, для вывода логов, содержащих строку "artem.services" и ограничением в 200 сообщений для отображения результатов. Результат: