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 > IaC' 카테고리의 다른 글
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 |
댓글