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…