1d50522172317f91d20285ab9d55beff7bdd148a
exemONE Agent Installer
현재 공개된 exemONE의 host-agent , container-agent 인스톨러 같은 경우
각각의 서버에서 인스톨러를 실행하여 설치를 하게 되어 있어, 소수의 서버일 경우에는 문제가 없지만
설치를 해야하는 서버의 대수가 많을 경우 번거로우며, 각 서버에 파일 반입, 실헹을 해야하는 등 시간 낭비가 발생함
이를 해결하기 위해 ansible을 통해 설치 과정을 자동으로 수행하도록 제작하였음.
사용 방법
본 인스톨러를 사용하는 방법은 아래와 같음
inventory 작성 (inventory 파일)
byeonjunghun@JHMacMini exemone % vi inventory
[all:children]
host_agent
container_agent
[host_agent]
10.10.54.150 # host-agent를 설치할 서버 IP 입력
10.10.54.105 ansible_user=sa8001 ansible_ssh_pass=ios2011a ansible_become_pass=ios2011a
# ansible_user : ssh 접속 유저
# ansible_ssh_pass : ssh 접속 패스워드
# ansible_become_pass : sudo 권한 사용시 패스워드
[container_agent]
10.10.54.105 # container-agent를 설치할 서버 IP 입력
[ndm_agent]
10.10.54.150
host-agent와 container-agent 둘 모두를 설치하고 싶을 경우 10.10.54.105 서버 처럼 두군대 모두 입력
playbook 작성 (agent.yml 파일)
byeonjunghun@JHMacMini exemone % vi agent.yml
---
- hosts: all
become: true
gather_facts: true
roles:
- role: one_agent
vars:
EXEM_HOME: /home/exem
RECEIVER_ADDR: 10.10.38.132
#RECEIVER_PORT: 9010
#RECEIVER_CONTAINER_PORT: 9009
# port 설정이 필요할 경우 위 주석을 해제하고 설정
# RECEIVER_PORT 와 RECEIVER_CONTAINER_PORT 같은 경우 변수를 설정하지 않을 경우 default 값으로 각각 9010 , 9009 으로 설정 됨
agent_list: ['host-agent', 'container-agent', 'ndm-agent']
agent_list 부분에 설치하고자 하는 agent 목록 작성
현재는 host-agent 와 container-agent, ndm-agent 만 지원
ssh key copy
ssh-keygen -t rsa # ansible을 실행하는 서버에 ssh key가 없을 경우 생성
ssh-copy-id user@ip # agent를 설치하고자 하는 서버에 key 등록 (ansible을 실행하는 서버도 등록)
user 같은 경우 root 권한을 가지고 있어야 함
playbook 실행
ansible-playbook -i inventory agent.yml 명령어로 실행
Docker를 통한 실행
docker run --rm --name installer -v ./inventory:/installer/inventory -v ./agent.yml:/installer/agent.yml {빌드한 이미지} 로 실행
Description
Languages
Shell
63.6%
Jinja
34.2%
Dockerfile
2.2%