Ansible adalah seperangkat alat perangkat lunak yang memungkinkan infrastruktur sebagai kode. Ini adalah open-source dan suite mencakup penyediaan perangkat lunak, manajemen konfigurasi, dan fungsionalitas penerapan aplikasi.
Pernahkah kalian kepikiran untuk melakukan setup VM secara massal? Jika kalian lakukan secara manual satu persatu tentunya tidak akan efektif karena melakukan hal yang sama berulang.
Pada artikel ini kita akan mengimplementasikan ansible untuk mengonfigurasi banyak vm.

Prasyarat
- Sudah menginstall ansible
- Sudah setup ssh key di server
Langkah langkahnya, pertama kita buat dua file berikut. Sesuaikan “host” dengan ip / domain VM kalian..
inventory.yml
vm:
hosts:
host:
vars:
ansible_user: root
ansible_ssh_private_key_file: ~/.ssh/id_rsa
docker-ce.yml
- hosts: vm
tasks:
- name: "update"
apt:
update_cache: yes
- name: "install prerequisite"
apt:
name: ca-certificates
state: present
- name: "install prerequisite"
apt:
name: curl
state: present
- name: "install prerequisite"
apt:
name: gnupg
state: present
- name: "install prerequisite"
apt:
name: lsb-release
state: present
- name: "preparing"
file:
path: /etc/apt/keyrings
state: directory
mode: '0755'
- name: "preparing"
shell: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- name: "preparing"
shell: echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- name: "update"
apt:
update_cache: yes
- name: "install docker"
apt:
name: docker-ce
state: present
- name: "install docker"
apt:
name: docker-ce-cli
state: present
- name: "install docker"
apt:
name: containerd.io
state: present
- name: "install docker"
apt:
name: docker-compose-plugin
state: present
Kemudian jalankan perintah berikut di terminal
ansible-playbook -i inventory.yml docker-ce.yml
Selesai.. Cukup mudah kan, silahkan mencobaa…