Ansible - Playbooks

Pada bab ini, kita akan belajar tentang PlayBooks in Ansible.

Playbook adalah file tempat kode yang memungkinkan ditulis. Playbook ditulis dalam format YAML. YAML adalah singkatan dari Yet Another Markup Language.Playbooksadalah salah satu fitur inti Ansible dan memberi tahu Ansible apa yang harus dijalankan. Mereka seperti daftar tugas untuk Ansible yang berisi daftar tugas.

Playbook berisi langkah-langkah yang ingin dijalankan pengguna pada mesin tertentu. Playbook dijalankan secara berurutan. Playbook adalah blok bangunan untuk semua kasus penggunaan Ansible.

Struktur Playbook

Setiap pedoman adalah agregasi dari satu atau lebih permainan di dalamnya. Playbook disusun menggunakan Drama. Ada lebih dari satu permainan di dalam pedoman.

Fungsi permainan adalah untuk memetakan serangkaian instruksi yang ditentukan terhadap tuan rumah tertentu.

YAML adalah bahasa yang diketik dengan ketat; jadi, perhatian ekstra harus diberikan saat menulis file YAML. Ada beberapa editor YAML tetapi kami lebih suka menggunakan editor sederhana seperti notepad ++. Buka saja notepad ++ dan salin dan tempel yaml di bawah ini dan ubah bahasanya menjadi YAML (Bahasa → YAML).

YAML dimulai dengan --- (3 tanda hubung)

Buat Playbook

Mari kita mulai dengan menulis contoh file YAML. Kami akan menelusuri setiap bagian yang ditulis dalam file yaml.

--- 
   name: install and configure DB
   hosts: testServer
   become: yes

   vars: 
      oracle_db_port_value : 1521
   
   tasks:
   -name: Install the Oracle DB
      yum: <code to install the DB>
    
   -name: Ensure the installed service is enabled and running
   service:
      name: <your service name>

Di atas adalah contoh Playbook di mana kami mencoba untuk membahas sintaks dasar dari sebuah playbook. Simpan konten di atas dalam file sebagaitest.yml. Sintaks YAML harus mengikuti indentasi yang benar dan perlu sedikit berhati-hati saat menulis sintaks.

Tag YAML yang Berbeda

Sekarang mari kita membahas tag YAML yang berbeda. Tag yang berbeda dijelaskan di bawah -

nama

Tag ini menentukan nama dari buku pedoman yang mungkin. Seperti apa yang akan dilakukan oleh pedoman ini. Nama logis apa pun dapat diberikan ke pedoman.

tuan rumah

Tag ini menentukan daftar host atau grup host yang tugasnya ingin kita jalankan. Bidang / tag host adalah wajib. Ini memberi tahu Ansible di mana host untuk menjalankan tugas yang terdaftar. Tugas dapat dijalankan di mesin yang sama atau di mesin jarak jauh. Seseorang dapat menjalankan tugas pada beberapa mesin dan karenanya tag host dapat memiliki grup entri host juga.

vars

Vars tag memungkinkan Anda menentukan variabel yang dapat Anda gunakan di playbook Anda. Penggunaannya mirip dengan variabel dalam bahasa pemrograman apa pun.

tugas

Semua pedoman harus berisi tugas atau daftar tugas yang akan dijalankan. Tugas adalah daftar tindakan yang perlu dilakukan. Bidang tugas berisi nama tugas. Ini berfungsi sebagai teks bantuan untuk pengguna. Ini tidak wajib tetapi terbukti berguna dalam men-debug pedoman. Setiap tugas secara internal terhubung ke sepotong kode yang disebut modul. Modul yang harus dijalankan, dan argumen yang diperlukan untuk modul yang ingin Anda jalankan.