Pendahuluan
Ansible adalah alat Infrastruktur sebagai Kode yang memungkinkan Anda mengelola dan memantau sejumlah server jarak jauh dengan menggunakan node kontrol tunggal.
Dengan Ansible, Anda dapat mengelola server jarak jauh dengan menggunakan buku pedoman. Playbook ini menyampaikan instruksi ke server jarak jauh dan memungkinkan mereka untuk menjalankan tugas yang telah ditentukan sebelumnya.
Dalam tutorial ini, kita akan membahas apa itu playbook Ansible, cara kerjanya, dan cara Anda membuat dan menjalankannya.
Prasyarat
- Sistem Linux (kami menggunakan Ubuntu 20.04)
- Akses ke baris perintah / jendela terminal
- Dapat dipasang dan dikonfigurasi
Apa itu Playbook Ansible?
Playbook Ansible adalah daftar instruksi untuk pekerjaan yang dijalankan secara otomatis oleh komputer jarak jauh di jaringan Ansible.
Sebuah buku pedoman Ansible terdiri dari drama. Drama adalah serangkaian tugas yang diatur yang diselesaikan setelah buku pedoman dijalankan. Anda dapat menambahkan beberapa permainan ke satu buku pedoman.
Drama menggunakan modul untuk menentukan perubahan mana yang perlu dilakukan untuk menyelesaikan tugas. Setiap modul menyediakan kerangka kerja untuk kategori pekerjaan tertentu dan dapat disesuaikan menggunakan argumen dan variabel .
Playbook yang memungkinkan disimpan sebagai file .yaml, yang membuatnya fleksibel dan mudah digunakan.
Playbook sebagian besar digunakan untuk:
- Mendeklarasikan konfigurasi.
- Mengotomatiskan tugas berulang tertentu yang akan memakan waktu terlalu lama untuk dilakukan secara manual.
- Meluncurkan tugas secara sinkron atau asinkron.
Variabel Playbook yang Dimungkinkan
Playbook yang memungkinkan menggunakan variabel untuk memberikan fleksibilitas dan kemudahan penggunaan. Variabel dapat built-in (seperti informasi sistem) atau ditentukan pengguna .
Dalam buku pedoman Ansible, variabel didefinisikan dengan menggunakan vars
kata kunci:
Pada contoh di atas, kita mendefinisikan greeting
variabel dengan nilai yang ditetapkan Hello World!
.
Untuk mengakses nilai, masukkan nama variabel greeting
dalam tanda kurung kurawal ganda:
Setelah dieksekusi, playbook mencetak pesan Hello World!
Selain variabel dengan nilai tunggal, ada beberapa jenis variabel Ansible lainnya. Menggunakan variabel dengan array , tetapkan beberapa nilai ke satu variabel dengan sintaks berikut:
vars:
array_name:
- value1
- value2
…
- valueN
Akses nilai tertentu dengan menggunakan {{ array_name[value number] }}
, misalnya:
Variabel dengan kamus menggabungkan beberapa array nilai menjadi satu variabel:
vars:
array_name:
dictionary_name1:
item1: value1
item2: value2
dictionary_name2:
item1: value1
item2: value2
Terakhir, variabel khusus telah ditentukan sebelumnya oleh Ansible dan tidak dapat disetel oleh pengguna. Gunakan perintah berikut untuk mendapatkan daftar variabel khusus:
ansible -m setup hostname
Bagaimana Cara Menulis Playbook yang Mungkin?
Buat buku pedoman Ansible dengan menggunakan editor teks apa pun yang tersedia di sistem Anda. Misalnya, buat buku pedoman dengan Nano:
sudo nano /path/to/playbook/directory/playbook_name.yaml
Playbook yang memungkinkan mengikuti aturan sintaksis YAML dasar.
Playbook dimulai dengan tiga tanda pisah (---
), yang diikuti dengan nama buku pedoman, nama grup host jarak jauh yang menjalankan buku pedoman, dan parameter tambahan seperti become
(jalankan playbook sebagai admin).
Bagian berikutnya berisi semua variabel yang ditentukan pengguna. Dimulai dengan vars
tag di tingkat lekukan yang sama seperti bagian sebelumnya, diikuti dengan daftar variabel di lekukan berikutnya.
Terakhir, daftar tugas dimulai dengan tasks
tag, dengan tingkat indentasi tergantung pada jenis tugas dan parameter yang digunakan.
Sintaks YAML memungkinkan Anda menggunakan tiga titik (…
) untuk mengakhiri buku pedoman. Meskipun sebagian besar playbook berakhir seperti ini, playbook tidak perlu berfungsi dengan baik.
Sintaks Playbook yang Dimungkinkan
Beberapa elemen penting sintaks YAML yang perlu diingat saat menulis buku pedoman Ansible:
- Saat membuat daftar, gunakan spasi di antara tanda hubung (
-
) dan entri daftar. - Saat menggunakan
key: value
bentuk, titik dua harus diikuti dengan spasi. - Nilai Boolean dapat menggunakan keduanya
yes
danno
, sertatrue
danfalse
. - Gunakan spasi diikuti dengan
#
untuk menunjukkan komentar.
Contoh Playbook yang Mungkin
Untuk contoh ini, kami akan membuat buku pedoman di folder instalasi Ansible:
sudo nano /etc/ansible/example_playbook.yaml
Buku pedoman ini berisi elemen-elemen berikut:
---
:Menandakan dimulainya pedoman.name
:Menentukan nama untuk buku pedoman Ansible.hosts
:Menentukan host mana yang menjalankan buku pedoman. Dalam contoh di atas, buku pedoman dijalankan di semua host yang disertakan dalam file inventaris.become
:Menginstruksikan host jarak jauh untuk menjalankan playbook sebagai admin. Menggunakan tag ini mengharuskan Anda memasukkan kata sandi admin untuk host jarak jauh saat menjalankan buku pedoman.vars
:Mendefinisikan variabel – dalam kasus kita, sebuah variabel bernamagreeting
dengan nilaiHello World!
.tasks
:Daftar tugas yang harus dijalankan oleh buku pedoman. Pada contoh di atas, tugas pertama membuat direktori bernama example_playbook pada host jarak jauh. Tugas kedua membuat file teks baru di direktori itu dan menempatkan nilaigreeting
variabel sebagai konten....
:Menandakan akhir dari buku pedoman.
Bagaimana Playbook Dieksekusi?
Playbook yang memungkinkan dijalankan secara berurutan, dari atas ke bawah. Ini berlaku untuk permainan individu dan tugas yang tercantum dalam drama tersebut.
Dalam contoh di atas, buku pedoman melakukan tindakan berikut, dengan urutan:
- Mendefinisikan daftar variabel.
- Membuat folder baru di host jarak jauh.
- Membuat file teks di folder baru.
- Menambahkan nilai variabel sebagai konten file.
Cara Menjalankan Playbook yang Memungkinkan
Untuk menjalankan buku pedoman Ansible, gunakan:
ansible-playbook /path/to/playbook/directory/playbook_name.yaml
Untuk keperluan artikel ini, kami akan menggunakan example_playbook.yaml
dengan -K
argumen, yang memungkinkan kita memasukkan kata sandi pengguna root untuk host jarak jauh dan menjalankan buku pedoman sebagai admin:
ansible-playbook /etc/ansible/example_playbook.yaml -K
Cara Memverifikasi Playbook
Jalankan buku pedoman dalam mode centang menggunakan --check
bendera untuk memverifikasinya. Ini memungkinkan Anda melihat perubahan yang akan dibuat oleh buku pedoman Anda, tanpa benar-benar membuatnya:
ansible-playbook /path/to/playbook/directory/playbook_name.yaml --check
Untuk ikhtisar yang lebih mendetail tentang kemungkinan perubahan, gunakan kombinasi --check
dan --diff
bendera:
ansible-playbook /path/to/playbook/directory/playbook_name.yaml --check --diff
Kiat Playbook yang Berguna dan Berguna
Ada beberapa cara untuk membuat buku pedoman Ansible lebih mudah dibaca dan digunakan:
Selalu Beri Nama Drama dan Tugas
Gunakan name
kata kunci untuk menentukan nama untuk drama dan tugas. Menambahkan nama yang singkat dan lugas memudahkan untuk mengetahui apa yang dilakukan setiap permainan atau tugas secara sekilas.
Gunakan Komentar
Pastikan Anda menambahkan banyak komentar, terutama saat mendefinisikan variabel dan tugas.
Komentar mendetail membantu membuat buku pedoman menjadi lebih jelas dan mudah dipahami. Mereka juga membantu orang lain menggunakan buku pedoman Anda.
Format Playbook untuk Kemudahan Penggunaan
Meskipun Anda harus mengikuti aturan indentasi agar buku pedoman berfungsi, Anda masih dapat menggunakan spasi putih (seperti baris kosong di antara tugas-tugas) untuk membuat buku pedoman lebih mudah dibaca.