[TOC]
본 예제는 모두 CentOS 7.4이상 환경에서 테스트 되었음을 먼저 알려드립니다.
- Docker swarm을 통하여 로그 수집 시스템을 구성
- 참조문서
편리를 위해 본인 경우 설치 스크립트를 만들어놓고 사용한다. 이 방법이 좋다고는 할 수 없으니 다른 더 좋은 방법이 있다면 그 방법을 이용하도록 한다.
git clone https://github.com/netman2k/bash_scripts.git
cd bash_scripts/etc
sudo ./install_docker.sh -m 262144
이 스크립트 경우 다음과 같은 설정을 하도록 되어있다.
- Docker experimental feature 활성화
- Prometheus metric 포트(4999) 설정
- Elasticsearch를 위한 vm.max_map_count 설정
- net.bridge.bridge-nf-call-iptables 설정
- Max locked memory unlimited 설정
Swarm Manager 역할을 할 서버에서 다음 커맨드를 입력하여 Swarm 클러스터를 생성한다. 생성 후에는 다른 Worker 노드들이 클러스터에 Join 할 수 있는 명령어를 제공해준다.
ip=$(ip addr show $(/sbin/ip route | awk '/default/ { print $5 }') | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1)
docker swarm init --advertise-addr $ip위에서 생성된 커맨드를 입력하여 클러스터 조인(Join)을 진행한다.
docker swarm join --token SWMTKN-1-2clri82tu6olhie5dkrhtjp1vb7g7tbyfixgnmlkl8nb1lkplj-7dj5tscihde1s8scatql9qzfa <manager IP>:2377
* https://github.com/smartsdk/mongo-rs-controller-swarm