Tutorial yang Mungkin - Belajar Menulis Buku Panduan yang Mungkin



Di blog Ansible Tutorial ini Anda akan belajar cara menulis buku pedoman yang mungkin, perintah adhoc, dan melakukan praktik langsung untuk menerapkan Nginx di mesin host Anda.

Tutorial yang Mungkin

Saya harap Anda membaca blog saya sebelumnya untuk belajar dan terminologi Ansible yang paling banyak digunakan. Jika Anda belum melakukannya, harap periksa agar Anda bisa mendapatkan pemahaman yang lebih baik tentang Tutorial yang Mungkin ini.Anda juga harus tahu bahwa Ansible merupakan bagian penting dari sebagai alat untuk manajemen konfigurasi, penerapan dan orkestrasi.

Izinkan saya memberi Anda gambaran umum tentang 'Tutorial Yang Mungkin' ini:





cara membuat array dinamis di java

Tutorial Playbook yang Mungkin | Pelatihan DevOps | Edureka

Tutorial yang Mungkin - Menulis Buku Panduan yang Mungkin

Playbook di Ansible ditulis dalam format YAML. Ini adalah bahasa serialisasi data yang dapat dibaca manusia. Ini biasanya digunakan untuk file konfigurasi. Ini juga dapat digunakan di banyak aplikasi tempat data disimpan.



Untuk Ansible, hampir setiap file YAML dimulai dengan daftar. Setiap item dalam daftar adalah daftar pasangan kunci / nilai, biasanya disebut 'hash' atau 'kamus'. Jadi, kita perlu tahu cara menulis daftar dan kamus di YAML.

Semua anggota daftar adalah baris yang dimulai pada tingkat indentasi yang sama dimulai dengan '-' (tanda hubung dan spasi). Struktur data yang lebih rumit dimungkinkan, seperti daftar kamus atau kamus campuran yang nilainya berupa daftar atau campuran keduanya.

misalnya Untuk daftar departemen di edureka:



departemen: - pemasaran - penjualan - solusi - penulisan konten - dukungan - produk

Sekarang izinkan saya memberi Anda contoh kamus:

-USA -benua: Amerika Utara-ibukota: Washington DC -populasi: 319 juta

Host dan Pengguna:

Untuk setiap permainan dalam pedoman, Anda dapat memilih mesin mana di infrastruktur Anda yang akan ditargetkan dan pengguna jarak jauh mana yang menyelesaikan tugas. Untuk memasukkan host dalam inventaris Ansible, kami akan menggunakan alamat IP dari mesin host.

Umumnya host adalah daftar satu atau lebih grup atau pola host, dipisahkan oleh titik dua. Pengguna jarak jauh hanyalah nama akun pengguna.

Variabel:

Ansible menggunakan variabel yang telah ditentukan sebelumnya untuk memungkinkan lebih banyak fleksibilitas dalam buku pedoman dan peran. Mereka dapat digunakan untuk melakukan perulangan melalui serangkaian nilai yang diberikan, mengakses berbagai informasi seperti nama host dari suatu sistem dan mengganti string tertentu dalam templat dengan nilai tertentu.

Ansible sudah mendefinisikan sekumpulan variabel yang kaya, individual untuk setiap sistem. Setiap kali Ansible berjalan di sistem, semua fakta dan informasi tentang sistem dikumpulkan dan ditetapkan sebagai variabel.

Tapi ada aturan untuk menamai variabel. Nama variabel harus berupa huruf, angka, dan garis bawah. Variabel harus selalu dimulai dengan huruf. Misalnya. wamp_21, port5 adalah nama variabel yang valid, sedangkan 01_port, _server tidak valid.

Tugas:

Tasks memungkinkan Anda memecah bit kebijakan konfigurasi menjadi file yang lebih kecil. Tugas termasuk menarik dari file lain. Tasks in Ansible sesuai dengan arti bahasa Inggrisnya.

Misalnya: Instal, perbarui, dll.

Penangan:

Penangan sama seperti tugas biasa dalam pedoman yang mungkin, tetapi hanya dijalankan jika Tugas berisi arahan notify dan juga menunjukkan bahwa itu mengubah sesuatu. Misalnya, jika file konfigurasi diubah, maka tugas yang mereferensikan file konfigurasi mungkin memberi tahu penangan restart layanan.

Izinkan saya memberi Anda contoh playbook yang akan memulai program server httpd Apache:

----tuan rumah: server web yang: http_port: 80 max_clients: 200 remote_user: akar tugas: - nama: pastikan apache ada di versi terbaru yum: name = httpd state = latest - nama: tulis file konfigurasi apache template: src = / srv / httpd.j2 tujuan = / etc / httpd.conf memberitahu: - restart apache - nama: pastikan apache sedang berjalan (dan aktifkan saat boot) layanan: name = httpd state = mulai diaktifkan = ya penangan: - nama: restart apache layanan: name = httpd state = restart

Saya harap contoh ini akan menghubungkan Anda dengan semua deskripsi komponen playbook yang telah saya sebutkan di atas. Jika masih belum jelas bagi Anda, jangan khawatir semua keraguan Anda akan jelas di bagian akhir blog ini.

Ini semua tentang pedoman. Playbook yang akan Anda tulis. Tetapi Ansible juga memberi Anda berbagai modul, yang dapat Anda gunakan.

Tutorial yang Mungkin - Modul

Modul di Ansible idempoten. Dari sudut pandang layanan RESTful, agar operasi (atau panggilan layanan) menjadi idempoten, klien dapat melakukan panggilan yang sama berulang kali sambil memberikan hasil yang sama. Dengan kata lain, membuat beberapa permintaan identik memiliki efek yang sama seperti membuat satu permintaan.

Ada berbagai jenis modul di Ansible

  • Modul inti
  • modul tambahan

Modul Inti

Ini adalah modul yang dipelihara oleh tim inti Ansible dan akan selalu dikirimkan bersama Ansible itu sendiri. Mereka juga akan menerima prioritas yang sedikit lebih tinggi untuk semua permintaan daripada yang ada di repositori 'ekstra'.

Sumber modul ini dihosting oleh Ansible di GitHub di Ansible-modules-core.

Modul Ekstra

Modul-modul ini saat ini dikirimkan dengan Ansible, tetapi mungkin dikirimkan secara terpisah di masa mendatang. Mereka juga sebagian besar dikelola oleh komunitas Ansible. Modul non-inti masih dapat digunakan sepenuhnya, tetapi mungkin menerima tingkat respons yang sedikit lebih rendah untuk masalah dan permintaan penarikan.

Modul 'ekstra' yang populer dapat dipromosikan menjadi modul inti seiring waktu.

Sumber untuk modul ini dihosting oleh Ansible di GitHub di Ansible-modules-extras.

Misalnya: Salah satu modul tambahan dalam Modul Manajemen Jarak Jauh adalah modul ipmi_power, yang merupakan palungan daya untuk mesin jarak jauh. Dibutuhkan python 2.6 atau yang lebih baru dan pyghmi untuk dijalankan.

Anda dapat menggunakan modul ini dengan menulis perintah adhoc seperti yang saya tulis di bawah ini:

ipmi_power: name = 'test.domain.com' user = 'localhost' password = 'xyz' state = 'on'

Tutorial yang Mungkin - Mengembalikan Nilai

Modul Ansible biasanya mengembalikan struktur data yang dapat didaftarkan menjadi variabel, atau dilihat secara langsung ketika dikeluarkan oleh program Ansible. Setiap modul secara opsional dapat mendokumentasikan nilai kembalian uniknya sendiri.

Beberapa contoh nilai pengembalian adalah:

  • diubah: kembali dengan nilai boolean setiap kali tugas membuat perubahan apa pun.
  • gagal: mengembalikan nilai boolean, jika tugas gagal
  • msg: mengembalikan string dengan pesan umum yang diteruskan ke pengguna.

Tutorial yang Mungkin - Perintah AdHoc

Perintah adhoc adalah perintah satu baris sederhana untuk melakukan beberapa tindakan. Menjalankan modul dengan perintah yang memungkinkan adalah perintah adhoc.

Misalnya:

host yang memungkinkan -m netscaler -a 'nsc_host = nsc.example.com user = apiuser password = apipass' 

Perintah adhoc di atas menggunakan modul netscaler untuk menonaktifkan server. Ada ratusan modul yang tersedia di Ansible tempat Anda dapat merujuk dan menulis perintah adhoc.

Nah, cukup dengan semua penjelasan teoritis, izinkan saya menjelaskan Anda Mungkin dengan beberapa tangan.

Tutorial yang Mungkin - Hands On

Saya akan menulis pedoman untuk menginstal Nginx pada mesin node / host saya.

Mari kita mulai :)

Langkah 1: Hubungkan ke host Anda menggunakan SSH. Untuk itu, Anda perlu membuat kunci SSH publik.

Gunakan perintah di bawah ini:

ssh-keygen.dll

Hasilkan Kunci Ssh - Tutorial Yang Mungkin - Edureka

Seperti yang Anda lihat pada snapshot di atas, perintahnya ssh-keygen.dll membuat kunci SSH publik.

Langkah 2: Tugas Anda selanjutnya adalah menyalin kunci SSH publik di host Anda. Untuk melakukan itu, gunakan perintah di bawah ini:

ssh-copy-id -i root @

Snapshot di atas menunjukkan kunci SSH sedang disalin ke host.

Langkah 3: Cantumkan alamat IP host / node Anda di inventaris Anda.

Gunakan perintah berikut:

vi / etc / ansible / hosts

Ini akan membuka editor vi di mana Anda dapat mencantumkan alamat IP host Anda. Ini sekarang inventaris Anda.

Langkah 4: Mari ping untuk memastikan koneksi telah dibuat.

Cuplikan di atas menegaskan bahwa koneksi telah dibuat antara mesin kontrol dan host Anda.

Langkah 5: Sekarang mari kita menulis pedoman untuk menginstal Nginx di mesin host. Anda dapat menulis pedoman Anda di editor vi. Untuk itu, cukup buat playbook Anda dengan menggunakan perintah:

vi

Cuplikan di bawah ini menunjukkan pedoman saya untuk menginstal Nginx yang ditulis dalam format YAML.

Tugas pedoman ditetapkan dalam YAML sebagai daftar kamus dan dijalankan dari atas ke bawah. Jika kita memiliki beberapa host, maka setiap tugas dicoba untuk setiap host sebelum melanjutkan ke tugas berikutnya. Setiap tugas didefinisikan sebagai kamus yang dapat memiliki beberapa kunci, seperti 'nama' atau 'sudo' yang menandakan nama tugas dan apakah memerlukan hak sudo.

Variabel server_port diatur yang mendengarkan pada port TCP 8080 untuk permintaan masuk.

apa kendala kunci utama

Di sini, tugas pertama adalah mendapatkan paket yang diperlukan untuk instalasi Nginx dan kemudian menginstalnya.Secara internal, Ansible akan memeriksa apakah direktori tersebut ada dan membuatnya jika tidak ada, jika tidak maka tidak akan melakukan apa-apa.

Tugas selanjutnya adalah mengkonfigurasi Nginx.Di Nginx, konteks berisi detail konfigurasi.

Di sini, template adalah file yang dapat Anda terapkan pada host. Namun, file template juga menyertakan beberapa variabel referensi yang diambil dari variabel yang ditetapkan sebagai bagian dari pedoman yang mungkin atau fakta yang dikumpulkan dari host. Fakta yang berisi detail konfigurasi sedang ditarik dari direktori sumber dan disalin ke direktori tujuan.

Penangan di sini mendefinisikan tindakan yang akan dilakukan hanya setelah pemberitahuan tugas atau perubahan status. Dalam playbook ini, kami mendefinisikan, notify: restart Nginx handler yang akan memulai ulang Nginx setelah file dan template disalin ke host.

Sekarang, simpan file dan keluar.

Langkah 6: Sekarang mari kita jalankan pedoman ini, menggunakan perintah di bawah ini:

ansible-playbook .yml

Kita dapat melihat pada gambar di atas bahwa tugas kita adalah menjalankan Nginx yang sedang diinstal.

Langkah 7: Mari kita periksa apakah Nginx diinstal di mesin host saya. Gunakan perintah di bawah ini:

ps waux | grep nginx

Anda dapat melihat pada gambar di atas, bahwa id proses 3555 dan 103316 yang berbeda sedang berjalan yang memastikan bahwa Nginx berjalan di mesin host Anda.

Selamat! Anda telah berhasil menerapkan Nginx di host Anda menggunakan buku pedoman yang mungkin. Saya harap Anda menikmati membaca blog Ansible Tutorial ini. Tolong beri tahu saya jika Anda memiliki pertanyaan di bagian komentar di bawah.

Jika Anda menemukan ' Tutorial yang Mungkin 'Relevan, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus Pelatihan Sertifikasi DevOps Edureka membantu pelajar mendapatkan keahlian dalam berbagai proses dan alat DevOps seperti Puppet, Jenkins, Ansible, Nagios, dan Git untuk mengotomatiskan beberapa langkah di SDLC.