Repository untuk belajar ansible dalam bahasa Indonesia dengan contoh (maaf kalau bahasanya berantakan). Disini akan menjadi playground ansible yang dapat dijalankan di local mesin kalian dengan sedikit sentuhan docker.
Kenapa docker ? dengan docker, kamu tidak perlu melakukan instalasi binary langsung ke mesin. Sehingga dapat dipastikan ini akan berjalan ke semua platform (macOS, Linux, Windows). Namun karena untuk mempermudah commands, repository ini akan dibungkus dengan Makefile
. Sehingga mungkin tidak akan berjalan dengan lancar di Windows. Untuk pengguna windows mohon menggunakan command docker compose
secara langsung.
Sebelum mulai pastikan kamu sudah memiliki pengetahuan dasar tentang system operasi, Makefile dan docker. Silahkan belajar di belajar-os, belajar-makefile dan belajar-docker.
Binary Details:
- Ansible Core: 2.15.4
Untuk mempermudah proses development, di dalam repository ini terdapat beberapa command bantuan yang dapat dijalankan dengan Makefile
:
____ _ _ _ _ _ _
| __ ) ___| | __ _ (_) __ _ _ __ / \ _ __ ___(_) |__ | | ___
| _ \ / _ \ |/ _` || |/ _` | '__|____ / _ \ | '_ \/ __| | '_ \| |/ _ \
| |_) | __/ | (_| || | (_| | | |_____/ ___ \| | | \__ \ | |_) | | __/
|____/ \___|_|\__,_|/ |\__,_|_| /_/ \_\_| |_|___/_|_.__/|_|\___|
|__/
Copyright (c) 2023 Devetek Tech. https://devetek.com.
Repo: https://github.com/devetek/belajar-ansible
Use: make <target>
GENERIC
help Show available commands
DEVELOPMENT
run Run playground
ls Show containers
enter-ansible-executor Enter to ansible-executor
enter-ansible-inventory Enter to ansible-inventory
log Show containers log
down Shutdown playground
DOCKER
docker-build-push Build and push ansible master
ANSIBLE
ansible-create-roles Create new role ansible_role_name=<ROLE_NAME>
- Kenapa Ansible
- Cara Memulai
- Configurasi Dasar
- Apa Itu Playbook
- Apa Itu Roles
- Apa Itu Collections
- Remote Dependencies
- Praktek Video Youtube
Ansible adalah sebuah provisioning tool yang dikembangkan oleh RedHat. Dimana kamu dapat mencatat setiap proses deployment ataupun konfigurasi yang biasa dilakukan berulang - ulang terhadap beberapa server dan membuatnya identik ke semua server.
Bayangkan jika kamu mau melakukan instalasi PHP, MySQL, Apache dan sebagainya. Jika melakukannya ke satu server mungkin hal itu akan mudah dilakukan. Namun jika server yang kamu kelola mulai banyak, ini pasti akan menjadi sangat sulit untuk membuatnya identik.
Untuk memulai menjalankan repository ini cukup dengan menjalankan perintah make run
. Perintah tersebut akan melakukan beberapa hal:
- Menjalankan docker compose dari file
docker-compose.yml
- Menjalankan 2 buah container, satu untuk ansible executor kedua merupakan ansible inventory
Selanjutnya kamu dapat mulai melakukan modifikasi file ansible (inventory, playbook, roles, etc) yang ada di repository di dalam folder ansible
. Untuk bagian ini, kita akan belajar di bagian selanjutnya details tentang ansible.
Kemudian jalankan command make enter-ansible-executor
di terminal lain untuk masuk ke container ansible-executor
.
Kemudian jalankan command make enter-ansible-inventory
di terminal lainnya. Untuk melihat perubahan yang kamu lakukan sudah masuk ke mesin tujuan atau belum.
Konfigurasi dasar berada di file ansible/ansible.cfg
. Akan dibahas lebih jauh selanjutnya.
Playbook adalah tempat penulisan peraturan / langkah-langkah yang akan dijalankan ke dalam server tujuan. Kita akan membahas playbook lebih jauh di chapter lain. Untuk memulai, jalankan perintah di bawah ini didalam container ansible-executor
:
cd /executor && ansible-playbook -i inventory/ansible-inventory.ini playbooks/hello-world.yml -vv
atau menggunakan golang executor
cd /executor/ && go run main.go
Kemudian lihat di dalam container ansible-inventory
, akan ada sebuah file baru di /root/output
yang terbuat.