Ansible 설치
1. 설치 전 요구 사항
(1) 컨트롤 노드
- Python2 또는 Python3가 설치되어 있어야 합니다.
- Unix 계열이면 아무거나 상관 없습니다.
(2) 관리 노드
- Python2 또는 Python3가 설치되어 있어야 합니다.
- SSH 통신이 가능해야 합니다.
- SFTP를 사용할 수 있어야 합니다. (SSH가 사용 가능하면 SFTP도 사용 가능합니다.)
2. Ansible 설치
◆ 2.9 버전 설치로 진행됩니다. 최신 버전은 4 버전입니다. 2.9버전부터 3, 4 버전은 크게 달라지는 것은 없습니다. 기능상 차이가 많이 나지 않기 때문에 안정 버전인 2.9 버전으로 설치를 진행하겠습니다.
https://docs.ansible.com/ansible/2.9/installation_guide/index.html
Installation Guide — Ansible Documentation
© Copyright 2019 Red Hat, Inc. Last updated on Jul 19, 2021.
docs.ansible.com
앤서블은 컨트롤 노드에만 설치하면 됩니다. 항상 작업은 devops 사용자에서 진행합니다.
sudo apt update sudo apt install -y software-properties-common
apt-add-repository는 저장소를 추가하는 명령어입니다. ppa는 개인이 운영하는 개인저장소를 의미하는데, 여기서 개인은 ansible 오픈소스 커뮤니티에서 제공하는 저장소입니다.
sudo apt-add-repository -y -u ppa:ansible/ansible
앤서블 패키지를 검색해보면 ubuntu 자체에서도 기본적으로 2.9 버전을 사용할 수 있으므로 위와 같이 ppa를 설치해도 되고 ppa를 설치하지 않아도 그냥 설치해도 무방합니다.
sudo apt search ansible

앤서블을 설치합니다.
sudo apt install -y ansible
앤서블 설치가 완료되면, ansible로 시작하는 명령어들을 확인할 수 있습니다. 가장 많이 사용하는 명령어는 ansible과 ansible-playbook 입니다.

ansible 명령 쉘 자동 완성
ansible의 자동 완성 기능을 하기 위해 설치합니다.
sudo apt install -y python3-argcomplete sudo activate-global-python-argcomplete3 # 쉘 스크립트 지정
devops를 나갔다가 다시 접속해서 확인합니다. 앤서블은 서브커맨드가 없습니다. 그래서 옵션 자동 완성 기능이라 할 수 있습니다.

ansible Lint 설치
ansible Lint 설치는 필수는 아니지만 문법을 체크해주는 패키지이므로 설치하면 유용합니다. 포맷을 맞춰주고 문법을 체크하는 등의 역할을 하는 도구는 Lint 도구라 합니다.
sudo apt install -y ansible-lint exec bash