Ansible 설치 · 3 min read · Dec 20, 2025
우분투 18.04 LTS에 Ansible 설치 및 구성하는 방법

Ansible은 소프트웨어 프로비저닝, 구성 관리 및 애플리케이션 배포를 자동화하는 데 사용할 수 있는 무료 오픈 소스 소프트웨어입니다. Puppet이나 Chef와 달리 Ansible을 사용하기 전에 클라이언트-서버 환경을 설정할 필요가 없습니다. 중앙 위치에서 여러 호스트를 관리할 수 있습니다. 이 도구는 복잡한 다계층 IT 애플리케이션 환경을 자동화하는 데 매우 간단하면서도 강력합니다. Ansible은 일반 SSH 채널을 통해 원격 머신에서 정보를 검색하고 작업을 수행합니다.
이 튜토리얼에서는 우분투 18.04 서버에 Ansible을 설치하고 사용하는 방법을 배웁니다.
요구 사항
- OpenSSH 서버가 설치된 두 개의 우분투 18.04 서버 시스템.
- 서버 시스템에 192.168.0.101의 정적 IP 주소가 설정되어 있고 클라이언트 시스템에 192.168.0.104가 설정되어 있습니다.
- 두 시스템 모두에 sudo 권한이 있는 비루트 사용자 계정이 설정되어 있습니다.
시작하기
시작하기 전에 다음 명령어로 시스템을 최신 버전으로 업데이트하십시오:
sudo apt-get update -y
sudo apt-get upgrade -y시스템이 최신 상태가 되면 변경 사항을 적용하기 위해 시스템을 재시작하십시오.
Ansible 설치 및 구성
기본적으로 우분투 18.04 기본 저장소에는 Ansible의 최신 버전이 없습니다. 따라서 Ansible PPA를 서버에 추가해야 합니다. 다음 명령어를 실행하여 이를 수행할 수 있습니다:
sudo apt-add-repository ppa:ansible/ansible다음으로, 저장소를 업데이트하고 다음 명령어로 Ansible을 설치하십시오:
sudo apt-get update -y
sudo apt-get install ansible -y설치가 완료되면 다음 명령어로 Ansible 버전을 확인할 수 있습니다:
sudo ansible --version출력:
ansible 2.7.1
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
다음으로, Ansible 호스트 파일에서 관리할 클라이언트 시스템을 정의해야 합니다. /etc/ansible/hosts 파일을 편집하여 이를 수행할 수 있습니다:
sudo nano /etc/ansible/hosts다음 줄을 추가하십시오:
[Client]
node1 ansible_ssh_host=192.168.0.104
작업이 끝나면 파일을 저장하고 닫으십시오.
클라이언트 시스템에 대한 SSH 키 구성
Ansible은 클라이언트 호스트와 통신하기 위해 SSH를 사용합니다. 따라서 클라이언트 호스트에 대한 키 기반 SSH 인증을 구성해야 합니다.
먼저, 다음 명령어로 SSH 키 쌍을 생성하십시오:
ssh-keygen출력:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow root@ubuntu1804
The key's randomart image is:
+---[RSA 2048]----+
| . . . |
| . . . + |
| o . * |
| . o . o o |
| . o S o |
| O .oo.. . |
| * Bo.* + oo |
| ..oo+=.E =o = |
| ooo*++...+* |
+----[SHA256]-----+
다음으로, 다음 명령어로 이 공개 키를 클라이언트 시스템으로 복사하십시오:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]출력:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
Ansible 작업하기
이제 Ansible이 설치되고 구성되었습니다. Ansible을 테스트할 시간입니다.
Ansible 서버에서 다음 명령어를 사용하여 클라이언트 시스템에 ping을 시도하십시오.
ansible -m ping Client출력:
node1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Ansible 호스트 파일에 여러 클라이언트가 구성되어 있는 경우, 다음 명령어로 모든 클라이언트 시스템에 ping을 보낼 수 있습니다:
ansible -m ping all다음 명령어로 클라이언트 시스템에서 Apache 웹 서버의 상태를 확인할 수 있습니다:
ansible -m shell -a 'service apache2 status' Client출력:
node1 | CHANGED | rc=0 >>
* apache2 is running
클라이언트 시스템의 파티션 크기를 확인하려면 다음 명령어를 실행하십시오:
ansible -m shell -a 'df -h' Client출력:
node1 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 138G 48G 83G 37% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 1.9G 4.0K 1.9G 1% /dev
tmpfs 384M 1.2M 383M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 67M 1.9G 4% /run/shm
none 100M 36K 100M 1% /run/user
/dev/sda5 225G 35G 180G 16% /Data
축하합니다! 우분투 18.04 서버에 Ansible을 성공적으로 설치하고 구성했습니다. 이제 Ansible을 사용하여 원격으로 간단한 작업을 쉽게 실행할 수 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.