반응형
1. 설치
[root@ANSIBLE ~]# yum install epel-release
[root@ANSIBLE ~]# yum install ansible
[root@ANSIBLE ~]# rpm -qa | grep ansible
ansible-2.9.16-1.el7.noarch
2. host 등록
## 기본 경로
[root@ANSIBLE ansible]# pwd
/etc/ansible
## inventory 파일 (target host 정의)
[root@OANSIBLE ansible]# cat hosts
...
[test]
test02 ansible_host={host ip} ansible_user={host ssh user} ansible_port={host ssh port} ansible_connection=ssh ansible_ssh_pass="**********"
## 기본적으로 ssh를 통해 통신하며 패스워드를 이 파일에 기입 할수도 있으나 ssh rsa key 교환을 통하는 것이 안전하다.
## ansible_ssh_pass : SSH 연결시 사용할 비밀번호. 이것은 보안에 취약하므로 –ask-pass 또는 SSH Keys 방식을 사용할 것은 권장
## ansible_ssh_private_key_file : SSH 연결시에 사용할 SSH 비밀키 파일
## ansible_ssh_common_args : sftp, scp, ssh와 같은 기본 명력을 사용할 때 항상 추가할 설정을 지정가능
## ansible_sftp_extra_args : sftp 연결에 기본으로 추가할 설정을 지정
## ansible_scp_extra_args : scp 연결에 기본으로 추가할 설정을 지정
## ansible_ssh_extra_args : ssh 연결에 기본으로 추가할 설정을 지정
## 작업전 작업 대상 호스트 확인
[root@ANSIBLE ansible]# ansible --list-hosts all
hosts (1):
test02
3. ad-hoc 방식의 간단 테스트
[root@ANSIBLE ansible]# ansible -i hosts -m ping test02
test02 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
## -i : inventory 파일 지정
## -m : 모듈
4. playbook 테스트는 하위 카테고리 참조
5. ansible.cfg 수정
# 최초 시스템 ssh 접속시 known_host fingerprint 오류가 발생하는데 ssh의 접속 옵션에 -o StrictHostKeyChecking=no 와 같이 수정.
[root@ANSIBLE roles]# vim ../ansible.cfg
...
# uncomment this to disable SSH key host checking
host_key_checking = False
...
# log path 설정
# log는 playbook으로 출력되는 그대로를 기록한다.
log_path = /var/log/ansible.log
6. selinux
- selinux 설정이 enforce, permissive 로 되어 있는 경우 sudo 권한이 필요한 작업을 할 경우 sudo 획득에 실패 할 수 있으므로 disabled로 설정 하는 것이 좋다.
- senenforce 0을 통해 permissive로 되어 있는 경우 visudo로 직접 ansible 계정에 권한을 준다.
반응형
'Automation Tools > Ansible' 카테고리의 다른 글
1.5 ansible | [test][playbook] 서비스 데몬 실행 (0) | 2021.03.16 |
---|---|
1.4 ansible | [test][playbook] 파일 내용 치환 (0) | 2021.03.16 |
1.3 ansible | [test][playbook] 원격지에서 파일 가져오기 (0) | 2021.03.16 |
1.2 ansible | [test][playbook] 파일 복사와 삭제 (0) | 2021.03.16 |
1.1 ansible | [test][playbook] 사용자 계정 추가 (0) | 2021.03.16 |