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

  1. Sudah menginstall ansible
  2. 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…