refactor: убран суффикс -raw из названий папок Ansible ролей
- Переименованы папки: - delete-raw → delete - delete-service-raw → delete-service - deploy-raw → deploy - deploy-service-raw → deploy-service - Обновлены пути в Makefile для всех команд: - make deploy - make delete - make deploy-service - make delete-service - make update-service - make update - Обновлены пути в документации - Добавлены новые команды make update-service и make update - Обновлен deploy/playbook.yml для использования шаблонов конфигурации Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
parent
7316b507ad
commit
330397f331
28
Makefile
28
Makefile
@ -2,7 +2,7 @@ SHELL := /bin/sh
|
|||||||
PROJECT_NAME := agent
|
PROJECT_NAME := agent
|
||||||
|
|
||||||
.PHONY: build build-linux build-darwin build-windows run agent test lint docker-clean collectors collectors-darwin collectors-linux collectors-windows
|
.PHONY: build build-linux build-darwin build-windows run agent test lint docker-clean collectors collectors-darwin collectors-linux collectors-windows
|
||||||
.PHONY: kafka-topic kafka-once kafka-consume
|
.PHONY: kafka-topic kafka-once kafka-consume update-service update
|
||||||
|
|
||||||
build:
|
build:
|
||||||
# Платформозависимая сборка агента (как у collectors)
|
# Платформозависимая сборка агента (как у collectors)
|
||||||
@ -130,25 +130,25 @@ agent: collectors build
|
|||||||
deploy: build-linux collectors-linux
|
deploy: build-linux collectors-linux
|
||||||
# Деплой на удалённый хост через Ansible raw (без Python на целевой стороне)
|
# Деплой на удалённый хост через Ansible raw (без Python на целевой стороне)
|
||||||
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
||||||
ansible-playbook -i runner/inventory.ini runner/deploy-raw/playbook.yml -e LOCAL_BIN_DIR=/workspace/bin/agent -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
ansible-playbook -i runner/inventory.ini runner/deploy/playbook.yml -e LOCAL_BIN_DIR=/workspace/bin/agent -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
||||||
|
|
||||||
delete:
|
delete:
|
||||||
# Очистка установленного агента (raw, без Python на целевой стороне)
|
# Очистка установленного агента (raw, без Python на целевой стороне)
|
||||||
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
||||||
ansible-playbook -i runner/inventory.ini runner/delete-raw/playbook.yml -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
ansible-playbook -i runner/inventory.ini runner/delete/playbook.yml -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
||||||
|
|
||||||
deploy-service: build-linux collectors-linux
|
deploy-service: build-linux collectors-linux
|
||||||
# Деплой и запуск через systemd (raw, без Python на целевой стороне)
|
# Деплой и запуск через systemd (raw, без Python на целевой стороне)
|
||||||
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
||||||
ansible-playbook -i runner/inventory.ini runner/deploy-service-raw/playbook.yml -e LOCAL_BIN_DIR=/workspace/bin/agent -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
ansible-playbook -i runner/inventory.ini runner/deploy-service/playbook.yml -e LOCAL_BIN_DIR=/workspace/bin/agent -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
||||||
|
|
||||||
delete-service:
|
delete-service:
|
||||||
# Остановка и очистка systemd-варианта без Python на целевой стороне
|
# Остановка и очистка systemd-варианта без Python на целевой стороне
|
||||||
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
||||||
ansible-playbook -i runner/inventory.ini runner/delete-service-raw/playbook.yml -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
ansible-playbook -i runner/inventory.ini runner/delete-service/playbook.yml -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
||||||
# Очистка установленного агента на удаленном хосте
|
# Очистка установленного агента на удаленном хосте
|
||||||
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
docker run --rm -e ANSIBLE_HOST_KEY_CHECKING=False -v $$PWD:/workspace -v $$HOME/.ssh:/root/.ssh:ro -w /workspace cytopia/ansible:latest-tools \
|
||||||
ansible-playbook -i runner/inventory.ini runner/delete-raw/playbook.yml -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
ansible-playbook -i runner/inventory.ini runner/delete/playbook.yml -e ansible_ssh_private_key_file=/root/.ssh/id_rsa -e ansible_become=true -e ansible_become_method=sudo
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -191,3 +191,19 @@ kafka-once:
|
|||||||
kafka-consume:
|
kafka-consume:
|
||||||
@docker run --rm edenhill/kcat:1.7.1 -b 10.99.0.90:9092 -t sensus.metrics -o -5 -C -q -J | cat
|
@docker run --rm edenhill/kcat:1.7.1 -b 10.99.0.90:9092 -t sensus.metrics -o -5 -C -q -J | cat
|
||||||
|
|
||||||
|
# Обновление сервиса (удаление + развертывание через systemd)
|
||||||
|
update-service:
|
||||||
|
# Обновление systemd-сервиса: остановка, удаление, развертывание
|
||||||
|
@echo "🔄 Обновление systemd-сервиса..."
|
||||||
|
@$(MAKE) delete-service
|
||||||
|
@$(MAKE) deploy-service
|
||||||
|
@echo "✅ Обновление systemd-сервиса завершено"
|
||||||
|
|
||||||
|
# Обновление агента (удаление + развертывание без systemd)
|
||||||
|
update:
|
||||||
|
# Обновление агента: удаление, развертывание
|
||||||
|
@echo "🔄 Обновление агента..."
|
||||||
|
@$(MAKE) delete
|
||||||
|
@$(MAKE) deploy
|
||||||
|
@echo "✅ Обновление агента завершено"
|
||||||
|
|
||||||
|
@ -220,7 +220,13 @@ collectors_config:
|
|||||||
./runner/test-config-generation.sh
|
./runner/test-config-generation.sh
|
||||||
|
|
||||||
# Развернуть на конкретной группе
|
# Развернуть на конкретной группе
|
||||||
ansible-playbook -i runner/inventory.ini runner/deploy-service-raw/playbook.yml --limit proxmox
|
ansible-playbook -i runner/inventory.ini runner/deploy-service/playbook.yml --limit proxmox
|
||||||
|
|
||||||
|
# Обновление systemd-сервиса (рекомендуется)
|
||||||
|
make update-service
|
||||||
|
|
||||||
|
# Обновление агента без systemd
|
||||||
|
make update
|
||||||
```
|
```
|
||||||
|
|
||||||
## Примеры конфигураций
|
## Примеры конфигураций
|
||||||
|
@ -53,4 +53,21 @@ docker compose logs -f agent
|
|||||||
docker compose exec agent sh -c 'ls -la /bin/agent/collectors'
|
docker compose exec agent sh -c 'ls -la /bin/agent/collectors'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Команды обновления
|
||||||
|
|
||||||
|
Для обновления агента на удаленных серверах:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Обновление systemd-сервиса (рекомендуется)
|
||||||
|
make update-service
|
||||||
|
|
||||||
|
# Обновление агента без systemd
|
||||||
|
make update
|
||||||
|
```
|
||||||
|
|
||||||
|
Эти команды автоматически выполняют:
|
||||||
|
1. Остановку и удаление старой версии
|
||||||
|
2. Развертывание новой версии
|
||||||
|
3. Запуск обновленного агента
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,12 +22,13 @@
|
|||||||
{{ local_bin_dir }}/agent {{ ansible_user }}@{{ ansible_host }}:{{ tmp_upload_dir }}/agent
|
{{ local_bin_dir }}/agent {{ ansible_user }}@{{ ansible_host }}:{{ tmp_upload_dir }}/agent
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
|
|
||||||
- name: Copy config via scp (from controller) to tmp
|
- name: Generate config.yaml from template
|
||||||
ansible.builtin.command: >
|
ansible.builtin.template:
|
||||||
scp -B -i {{ ansible_ssh_private_key_file | default('~/.ssh/id_rsa') }}
|
src: ../templates/config.yaml.j2
|
||||||
-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
|
dest: "{{ tmp_upload_dir }}/config.yaml"
|
||||||
{{ local_bin_dir }}/config.yaml {{ ansible_user }}@{{ ansible_host }}:{{ tmp_upload_dir }}/config.yaml
|
mode: '0644'
|
||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
|
run_once: true
|
||||||
|
|
||||||
- name: Copy collectors directory via scp -r (from controller) to tmp
|
- name: Copy collectors directory via scp -r (from controller) to tmp
|
||||||
ansible.builtin.command: >
|
ansible.builtin.command: >
|
Loading…
x
Reference in New Issue
Block a user