[Ansible] Elasticsearch + Docker Compose 구성 시 vm.max_map_count 이슈.
Cloud&Container/IaC 2020. 8. 14. 14:36vm.max_map_count 설정은 host 서버에 해주시면 문제는 해결 됩니다.
다만, 이를 수동으로 하면 아무 의미 없겠죠.
자동으로 구성 하기 위해서 terraform + ansible 사용 하는 건데 수동으로 할 거면 ....
처음에는 init.sh 라는 스크립트 안에서 처리 하도록 했습니다.
- name: Run a script with arguments
script: init.sh
init.sh 에는 아래 코드가 들어가 있습니다.
sudo sysctl -w vm.max_map_count=262144
이렇게 했으면 당연히 elasticsearch 를 실행 시켰을 때 문제가 없을 줄 알았는데, 적용이 안되었는지 오류가 발생했습니다.
그래서 ansible 에 명령어를 추가 해서 문제를 해결했습니다.
- name: set vm.max_map_count
shell: sudo sysctl -w vm.max_map_count=262144
$ ansible-playbook 해 보면 아래와 같은 warning 메시지가 나오는데요.
Consider using 'become', 'become_method', and 'become_user' rather than running sudo
- name: become parameters
become: yes
become_method: sudo
become_user: ubuntu
이렇게 넣어서 사용하라는 이야기 입니다.
[수정]
- name: set vm.max_map_count
become: yes
become_method: sudo
shell: sysctl -w vm.max_map_count=262144