IaC/Ansible 실습

Ansible 설치

Greta Lee 2021. 8. 6. 14:13
SMALL

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로 시작하는 명령어들을 확인할 수 있습니다. 가장 많이 사용하는 명령어는 ansibleansible-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
SMALL