본문 바로가기
IT Knowledge/Ansible

Ansible 설정 파일(Hosts, ansible.cfg)

by Seok. 2021. 7. 22.
반응형

Default Path

설정파일 : /etc/ansible

작업경로 : 기본경로 없음.

 

인벤토리 파일(Hosts)

경로 : /etc/ansible/Hosts

호스트의 집합을 인벤토리 라고 한다.

인벤토리는 최소 1 이상의 다른 호스트가 필요하다.(Localhost 제외)

 

대괄호를 이용한 그룹 설정

1개의 그룹의 여러개의 장비로 구성할 있고, 또한 1개의 장비는 여러개의 그룹에 속할 있다.

또한 개별호스트가 아닌 그룹으로 그룹을 만들 있다.

모든 호스트 = all(또는 *)

[webservers]      << 그룹명
Site01
Site02
Site01-dr


[production]       << 그룹명
Site01
Site02
Db01
Bastion

 

장비별로 다른 설정 방법

[webservers]
Site01 ansible_ssh_user=root
Site02 ansible_ssh_user=resin
Site01-dr ansible_ssh_host=site01.dr ansible_ssh_port=6544


[production]
Site01
Site02
Db01 ansible_ssh_user=fred ansible_ssh_private_key_file=/home/fred/.ssh.id_rsa
Bastion

(여기서 site01, site02 라는 이름은 alias(별칭) 이다.

 

Tip!

alias 패턴 기능 지원한다.

[web]
web[1:20].example.com
Web1.example.com
Web2.example.com
Web3.example.com
.…Web20.example.com

 

매개변수

이름 기본값 설명
Ansible_host 호스트이름 SSH 연결할 호스트명 or IP주소
Ansible_port 22 SSH 연결 포트
Ansible_user root SSH 연결할때 사용자
Ansible_password 없음 SSH 인증에 사용하는 비밀번호
Ansible_connection smart 앤서블이 다른 호스트에 연결하는 방법
Ansible_private_key_file 없음 SSH인증에 사용될 SSH 개인키
Ansible_shell_type sh
Ansible_python_interpreter /usr/bin/python 파이썬 인터프리터
Ansible_*_interpreter 없음 다른언어 인터프리터

 

인벤토리를 여러 파일로 분할.

다른 인벤토리 파일을 사용하려면, 모두 같은 디렉터리에 두고 사용해야 한다.

방법1) ansible.cfg inventory 매개변수 사용

방법2) 커맨드라인에 -i 매개변수 사용

 

플레이북 실행중에 호스트와 그룹 추가.

실행중 호스트추가 : add_host

실행중 그룹추가 : group_by

 


 

Ansible 전역 설정파일(ansible.cfg)

경로 : /etc/ansible/ansible.cfg

Remote_user : 사용자 이름

Remote_port : SSH 연결 디폴트 포트

 

기업에서 사용하는 경우, Root 직접 접근이 불가능하여, sudo 이용하여 root 접근방식과 동일하게 시행할 있다. 이를 위해서는 "/etc/sudoers 파일에 자신의 계정을 등록" 해주면 된다.

 

Sudo 사용시 암호를 쓰도록 경우,

"ask_sudo_pass" 값을 true 설정

 

반응형

'IT Knowledge > Ansible' 카테고리의 다른 글

Ansible Playbook YAML 작성방법  (0) 2021.07.26
Ansible Playbook(플레이북) 설명 및 예시  (0) 2021.07.26
Ansible-Vault 사용하기  (0) 2021.04.27
Ansible 사용법(모듈)  (0) 2021.04.25
Ansible 설명 및 기본내용  (0) 2021.04.25

댓글