GNU/Linux >> Belajar Linux >  >> Ubuntu

Peran yang Mungkin dan Cara Menggunakannya di Playbook

Selama menulis file playbook Ansible, Anda mungkin telah memperhatikan bahwa Anda dapat menggunakan kembali beberapa kode yang ditentukan dalam playbook yang ada. Misalnya, Anda dapat menggunakan kembali kode untuk menginstal server database MariaDB pada satu host terkelola dengan nama host, pengguna, dan kata sandi yang berbeda untuk host jarak jauh lainnya. Ini menghemat banyak waktu dan energi yang akan digunakan dalam menulis file buku pedoman baru dari awal. Dan di sinilah konsep peran Ansible masuk.

Peran yang memungkinkan adalah konsep untuk mengubah tugas menjadi file individual yang lebih mudah untuk dikelola dan dimanipulasi. Setiap peran menyediakan satu set tugas, variabel, dan penangan - untuk menyebutkan beberapa - yang diperlukan untuk implementasinya. Peran memungkinkan pengguna untuk mengatur ulang struktur buku pedoman yang panjang dan kompleks menjadi file buku pedoman yang lebih sederhana, lebih pendek, dan lebih rapi. Seperti yang kami sebutkan sebelumnya, peran dimaksudkan untuk dapat digunakan kembali, dan menjalankan peran dalam file playbook menyederhanakan kode &menghilangkan duplikasi. Tugas berulang seperti penginstalan, &konfigurasi aplikasi dapat dikemas dalam file terpisah dan digunakan kembali di berbagai host terkelola.

Dalam panduan ini, Anda akan belajar cara membuat dan menggunakan peran Ansible dalam buku pedoman. Untuk demonstrasi, kami akan membuat peran yang menginstal server web Apache dan mengkonfigurasi firewall untuk membuka port 80.

Cara membuat peran yang Memungkinkan

Kita akan mulai dengan membuat role Ansible sederhana. Untuk membuat peran, cukup gunakan sintaks perintah di bawah ini di mana myrole adalah nama perannya.

$ ansible-galaxy init myrole

Misalnya, untuk membuat peran yang disebut test_role jalankan perintah.

$ ansible-galaxy init  test-role

Dari output, kita mendapatkan bahwa perintah memunculkan test-role direktori dan secara default, ini berisi beberapa direktori default. Anda dapat menggunakan pohon perintah untuk mencantumkannya seperti yang ditunjukkan.

$ tree test-role

Mari kita lihat ikhtisar singkat tentang isi setiap direktori

'default ' folder - Direktori ini menyimpan variabel default yang akan dibutuhkan oleh peran. Variabel-variabel ini memiliki prioritas terendah dan dengan demikian cukup mudah untuk ditimpa.

File ’ folder – Folder ini terdiri dari file yang akan disalin ke host yang dikelola atau remote.

penangan ' folder - Direktori berisi penangan yang biasanya dibangkitkan oleh arahan 'beri tahu'. Anda dapat mempelajari lebih lanjut tentang penangan Ansible.

meta ’ folder – Terdiri dari metadata peran misalnya penulis, dependensi, dll.

tugas ' folder – Ini berisi file YAML yang mendefinisikan daftar tugas yang akan dijalankan oleh peran itu sendiri. Ini berisi main.yml berkas.

Templat ’ folder – Direktori terdiri dari file template yang dapat dimodifikasi jika dianggap cocok untuk mengonfigurasi peran.

Tes ’ folder – Mengintegrasikan pengujian dengan file playbook yang memungkinkan.

'vars ' folder – Terdiri dari variabel yang nantinya akan digunakan oleh role. peran. Variabel ini memiliki prioritas yang lebih tinggi dibandingkan dengan variabel di 'default ’ direktori.

Kami akan membuat dua peran untuk tujuan demonstrasi:

git role – Ini akan menginstal versi terbaru Git.

Apache role- Ini akan menginstal server web Apache

Buat mereka sebagai berikut:

$ sudo ansible-galaxy init git
$ sudo ansible-galaxy init apache

Setelah itu, kita perlu mendefinisikan setiap peran dengan mengedit main.yml file di ‘tugas ' folder di setiap peran. Mari kita mulai dengan mendefinisikan git peran.

$ sudo vim git/tasks/main.yml

Tentukan tugas untuk peran git seperti yang ditunjukkan.

Simpan main.yml file dan keluar.

Selanjutnya, tentukan tugas untuk peran Apache.

$ sudo vim apache/tasks/main.yml

Tentukan tugas yang menginstal server web Apache.

Demikian juga, simpan main.yml file dan keluar.

Buat file playbook dan panggil peran

Setelah tugas untuk setiap peran ditentukan di main.yml file untuk setiap peran, buat file playbook dan rujuk peran seperti yang ditunjukkan.

$ sudo vim roles_demo.yml

CATATAN:

Anda perlu menentukan jalur lengkap ke peran dalam buku pedoman.

peran:

  • /path/ke/peran

Dalam contoh ini, peran berada di direktori yang sama dengan file playbook, dan cukup memanggilnya dengan namanya saja sudah berhasil.

Terakhir, jalankan file playbook.

$ sudo ansible-playbook /etc/ansible/roles_demo.yml

Peran yang ditentukan dalam file buku pedoman akan direferensikan dan tugas masing-masing akan dijalankan. Di sini, Ansible menginstal server web git dan Apache.

Anda dapat memverifikasi penginstalan dengan menjalankan perintah yang ditampilkan.

$ git --version
$ apachectl -v

Seperti yang telah Anda catat, file playbook singkat dan mudah diikuti karena tugas telah dirujuk oleh peran yang ditentukan dalam file playbook.

Menyimpulkan

Peran yang memungkinkan membantu dalam mengatur file buku pedoman dan membantu menghindari duplikasi kode. Mereka dapat digunakan kembali dan direferensikan oleh file playbook lain untuk menjalankan tugas serupa pada node yang berbeda sehingga menghemat waktu dan energi yang dapat digunakan dalam menulis playbook baru. Secara keseluruhan, peran membuat pekerjaan lebih mudah.


Ubuntu
  1. Bagaimana saya menggunakan Ansible dan anacron untuk otomatisasi

  2. Cara Menginstal dan Menggunakan Ansible di Debian 11

  3. Cara menggunakan Ansible untuk menginstal dan mengkonfigurasi Redis 6 di Debian 11

  1. Cara Memasang dan Menggunakan TensorFlow di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Ansible di Windows

  3. Playbook yang Mungkin:Cara Membuat dan Mengonfigurasi Playbook

  1. Apa itu Umask dan Bagaimana Cara Menggunakannya

  2. Cara Menginstal dan Menggunakan Anggur di Ubuntu 20.04

  3. Cara Menginstal dan Menggunakan FFmpeg di Ubuntu 18.04