Hampir semua distribusi Linux sudah mengemas Ansible di repositori mereka, dan anda dapat langsung menginstall ansible:
# debian based
sudo apt install ansible
# MacOS
brew install ansible
# Redhat
dnf install ansible
Ansible ditulis menggunkan python, Anda dapat menginstal Ansible menggunakan salah satu manajer paket Python.
pip3 install --user ansible
Jika Anda mengerjakan beberapa proyek dan tidak ingin terjadi konflik library, Anda dapat menginstal Ansible ke dalam virtualenv Python.
python3 -m venv .venv
source .venv/bin/activate
pip install ansible
Untuk membuat lingkungan labs ansible diperlukankan setidaknya satu host kontrol dan beberapa target host. Hanya host kontrol yang perlu terinstall ansible.
-
[Host Kontrol]
/ | \
[Host Target] [Host Target] [Host Target]
-
Kali ini saya membuat 3 container dengan lxc-proxmox dengan rincian berikut
Ubntuk ansible dapat berkomunikasi dan melakukan automation diperlukan akses SSH ke terget host. Kali ini kita akan mensetup ssh keys ke masing masing hosts. lebih lanjut mengenai SSH
ssh-keygen -t ed25519 -C "Ansible Keys"
Ansible 00: Installation and TestingAnsible 00: Installation and Testing
ssh-copy-id -i ~/.ssh/ansible pod0-ubuntu.yaslab.my.id
Setelah semua sudah siap kita perlu memberi tahu ansible tentang host target yang akan di koneksi. buat file inventory berisikan hostname target.
nano hosts
pod0 ansible_host=pod0-ubuntu.yaslab.my.id
pod1 ansible_host=pod1-debian.yaslab.my.id
pod2 ansible_host=pod2-fedora.yaslab.my.id
Untuk mengetes koneksi terhadap target host kita dapat menggunakan module ansible ping.
ansible all --private-key=~/.ssh/ansible -i hosts -m ping
... SUCCESS
Untuk menghemat pengetikan, Kita dapat mendeklarasikan variable seperti private key, inventory ,users dll. di ansible.cfg
.
ansible.cfg
nano ansible.cfg
[defaults]
inventory = ./hosts
remote_user = ilyasa
private_key_file = ~/.ssh/ansible
lakukan ping tanpa argument
ansible all -m ping