반응형

Ansible 이란 ?

Infrastructure as Code (IaC)
인프라로 코드를 관리하는 툴

- 시스템, 하드웨어 또는 인터페이스의 구성정보를 파일 (스크립트) 를 통해 관리하는 '프로비저닝'
- IT 인프라 스트럭쳐, 베어메탈 서버등의 물리장비 및 가상 머신과 관련된 구성 리소스를 관리
- '버전 관리' 를 통한 리소스 관리

(베어메탈서버 : 하드웨어에 어떠한 소프트웨어도 설치되지 않은 서버)

 

구성 관리 도구

- 다른 IaC 도구에 비교해 가볍고 빠르다.
- 특정 문제가 발생했을 때 복구 및 대응하는 작업, 스크립트 화 하여 작업하는데 특화되어 있다.
- Terraform 은 인프라의 신규 구축에 많이 사용, Ansible 은 이미 구축된 서비스를 관리하는데 주로 사용된다.
- 다른 IaC 도구와 다르게 에이전트가 필요하지 않으며 (Agentless), 별도의 DSL 언어가 아닌 Yaml 로 스크립트를 작성한다.
- 여러개의 서버를 효율적으로 관리할 수 있게 해주는 환경 구성 자동화 도구
- Push 기반의 서비스 (Python 의 SSH 프로토콜 사용 -> Python 설치는 필요)

 

활용 정보

- 설치 : apt-get, yum, homebrew 
- 파일 및 스크립트 배포 : copy
- 다운로드 : get_url, git
- 실행 : shell, task

등 기존에 관리자가 수동으로 진행하던 일을 자동화, 효율적으로 관리할 수 있게 해준다.

 

실행 결과

- ok : 성공
- failed : 실패
- changed : 변경
- unreachable : 명령이 도달하지 못함

 

설치 

리눅스

yum install ansible

 

brew install ansible
% ansible --version
ansible [core 2.13.4]
  config file = None
  configured module search path = ['/Users/leejungwook/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/6.4.0/libexec/lib/python3.10/site-packages/ansible
  ansible collection location = /Users/leejungwook/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.10.6 (main, Aug 30 2022, 05:12:36) [Clang 13.1.6 (clang-1316.0.21.2.5)]
  jinja version = 3.1.2
  libyaml = True
반응형

'⇥ DevOps Tech 🙋🏻‍♀️ > ✏️ Ansible' 카테고리의 다른 글

Ansible Role 을 이용한 노드 설치 자동화  (59) 2023.10.20
Ansible Role 작성 방법  (0) 2023.10.18
Ansible Tower (AWX) 설치 방법  (0) 2023.10.17
Ansible Playbook  (0) 2022.10.06
Ansible 사용 방법  (4) 2022.09.26