에 Ansible을 설치하는 방법.png)
Ubuntu 18.04(Bionic)에 Ansible을 설치하는 방법
Ansible은 단일 시스템에서 여러 원격 호스트를 관리하기 위한 자동화 도구입니다. 많은 수의 원격 호스트에 대해 쉽게 구성할 수 있습니다. 예를 들어, 여러 시스템에서 동일한 작업을 수행하는 경우 Ansible은 이러한 작업을 자동화하는 옵션을 제공합니다. 이 자습서는 Ubuntu 18.04(Bionic) LTS 시스템에 Ansible을 설치하는 데 도움이 됩니다.
이 호스트에 대한 ssh 연결에 1단계를 사용하지 않은 경우. 인증을 위해 web-hosts1 구성 파일에 아래 방법 중 하나를 추가할 수도 있습니다.
1단계 – SSH 액세스 구성
원격 Linux Ansible 호스트에 대해 키 기반 ssh를 구성할 수 있습니다. 따라서 SSH에는 비밀번호가 필요하지 않습니다. Ansible을 사용하면 ssh에 대한 비밀번호를 사용할 수도 있지만 키 기반 ssh가 더 안전합니다. Ansible 서버에서 ssh 키 쌍을 생성합니다.이 ssh 키를 통해 연결해야 하는 모든 원격 호스트에 공개 키를 복사합니다. .ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]_host
2단계 – Ubuntu 18.04에 Ansible 설치
Ansible은 Ubuntu 시스템에 설치하기 위한 공식 PPA를 제공합니다. 다음 명령을 실행하여 Ubuntu 18.04 시스템에 Ansible PPA를 구성합니다.Ansible 저장소를 추가한 후 아래 명령어를 실행하여 설치합니다.sudo apt-add-repository ppa:ansible/ansible
sudo apt update sudo apt install ansible
3단계 – Ansible 호스트 및 그룹 구성
서버는 원격 호스트 관리 및 자동화를 위해 Ansible을 사용할 준비가 되었습니다. 필요한 호스트를 여러 개 가질 수 있고 단일 Ansible 서버로 관리할 수 있습니다. 여기에서 Ansible 호스트 파일(/etc/ansible/hosts)에 원격 시스템을 정의해야 합니다. 유사한 유형의 호스트 그룹을 만들 수도 있습니다. 여기서 호스트를 그룹으로 적절하게 구성해야 합니다. 그룹은 그 아래에 정의된 모든 원격 호스트에서 하나의 작업을 수행하는 데 사용됩니다. Ansible 호스트 구성 파일을 편집합니다. 예:호스트를 추가하고 그룹으로 구성하십시오. 호스트는 여러 그룹에 추가할 수 있습니다.sudo nano /etc/ansible/hosts
[webservers] web-host1 web-host2 [dbservers] db-host1아래 이미지는 그룹과 그룹 아래의 호스트를 이해하는 데 도움이 됩니다.

단일 호스트 변수 구성
호스트에 대한 설정을 정의해야 합니다. 호스트별 파일은 host_vars 디렉토리 아래에 있는 호스트(예: web-host1)와 이름이 같아야 합니다.web-host1에 대한 이 파일에 SSH 설정을 추가하십시오.sudo mkdir /etc/ansible/host_vars sudo vi /etc/ansible/host_vars/web-host1
ansible_ssh_host: 192.168.1.15 ansible_ssh_port: 22 ansible_ssh_user: root

ansible_ssh_pass: secret_password ansible_ssh_private_key_file: /home/rahul/.ssh/aws.pem
그룹 변수 구성
그룹 구성에서 그룹의 공통 변수 설정을 구성할 수 있습니다. 그룹 파일 이름은group_vars
디렉토리 아래의 그룹 이름(예: webservers)과 동일해야 합니다. 이 그룹 아래에 추가된 모든 호스트가 사용하는 공통 변수를 이 파일에 추가하십시오.sudo mkdir /etc/ansible/group_vars sudo vi /etc/ansible/group_vars/webservers
ansible_ssh_port: 22 ansible_ssh_user: root
4단계 – Ansible 설정 테스트
Ansible 설정을 테스트할 준비가 되었습니다. ping 모듈을 사용하여 모든 호스트 연결을 테스트하려면특정 호스트 또는 호스트 그룹에 대한 연결을 테스트하려면ansible -m ping all
셸 모듈을 사용하여 명령을 실행할 수도 있습니다. 예를 들어 web-host1에서 여유 메모리를 테스트합니다. 그룹에 대해 동일한 작업을 수행할 수도 있습니다. 호스트 이름 대신 그룹 이름을 사용하십시오.ansible -m ping web-host1 ## Specific host ansible -m ping webservers ## Specific group
ansible -m shell -a 'free -m' web-host1
