DevOps/Ansible

Ansible Playbook을 통해 Docker-compose로 Node-exporter를 설치하자.

지나가는 지식들을 모아두기 2022. 4. 4. 15:48
728x90
300x250

준비물은  Docker가 설치된 node pc가 필요하며, 해당 node pc와는 연결이 되어있는 상태여야 합니다.

node pc에 Docker와 Docker-compose를 설치하는 방법은 아래와 같습니다.

https://cleaning-toolbox.tistory.com/90

 

Ansible playbook으로 Docker를 설치시켜보자

준비물은 이렇습니다. Ansible의 hosts파일에 연결될 node pc의 IP를 작성하고, 해당 node pc를 ansible ping을 통해 연결이 된 후에 아래의 playbook을 실행시킬 수 있습니다. 위의 준비물은 다른 게시글에도

cleaning-toolbox.tistory.com

 

docker-compose.yml

version: "3"

services:
  node-exporter:
    container_name: node-exporter # 만들어질 컨테이너의 이름을 지정합니다.
    image: prom/node-exporter # Prometheus가 제공하는 node-exporter이미지를 사용합니다.
    ports: # 기본 포트인 9100으로 설정합니다.
      - "9100:9100"

 

 

ansible-playbook.yml

---
- hosts: exporter
  gather_facts: no
  tasks:
    - name: Create node-exproter dir # Exporter를 설치할 path를 정한 후 디렉토리를 생성해줍니다.
      file:
        path: /home/daou_docker/exporters/node-exporter
        state: directory

    - name: Install node-exporter # src는 원본 파일의 경로, dest는 복제할 경로를 의미합니다.
      template:
        src: "/home/daou_docker/node-exporter/docker-compose.yml"
        dest: "/home/daou_docker/exporters/node-exporter"

    - name: Run node-exporter # chdir로 해당 디렉토리에 접근한 다음 cmd명령어로 docker-compose를 실행합니다.
      become: true
      shell:
        chdir: "/home/daou_docker/exporters/node-exporter"
        cmd: docker-compose up -d node-exporter

 

 

위와 같이 작성 후 ansible hosts에 node pc의 IP를 입력하고 아래와 같이 실행합니다.

 

ansible-playbook ansible-playbook.yml

 

그 후 localhost:9100에 접속하면 정상적으로 작동하는 것을 볼 수 있습니다.

 

728x90
300x250