Tutorial Ansible - Belajar Menulis Buku Mainan Ansible



Dalam blog Tutorial Ansible ini, anda akan belajar bagaimana menulis buku main Ansible, arahan adhoc dan melakukan hands-on untuk menyebarkan Nginx pada mesin hos anda.

Tutorial Ansible

Saya harap anda melalui blog saya yang terdahulu untuk belajar dan terminologi Ansible yang paling banyak digunakan. Sekiranya anda belum, sila periksa sehingga anda dapat memperoleh pemahaman yang lebih baik mengenai Tutorial Ansible ini.Anda juga harus tahu bahawa Ansible merupakan bahagian penting sebagai alat untuk pengurusan konfigurasi, penyebaran dan orkestrasi.

Izinkan saya memberi gambaran keseluruhan mengenai 'Tutorial Ansible' ini:





Tutorial Buku Panduan Ansible | Latihan DevOps | Edureka

Tutorial Ansible - Menulis Buku Mainan Ansible

Buku main dalam bahasa Ansible ditulis dalam format YAML. Ia adalah bahasa bersiri data yang dapat dibaca oleh manusia. Ia biasanya digunakan untuk fail konfigurasi. Ini juga dapat digunakan dalam banyak aplikasi di mana data disimpan.



Bagi Ansible, hampir setiap fail YAML bermula dengan senarai. Setiap item dalam senarai adalah senarai pasangan kunci / nilai, biasanya disebut 'hash' atau 'kamus'. Oleh itu, kita perlu mengetahui cara menulis senarai dan kamus dalam YAML.

pasang php pada windows 10

Semua anggota senarai adalah garis yang bermula pada tahap lekukan yang sama bermula dengan tanda '-' (tanda sempang dan spasi). Struktur data yang lebih rumit adalah mungkin, seperti senarai kamus atau kamus campuran yang nilainya adalah senarai atau gabungan kedua-duanya.

cth. Untuk senarai jabatan di edureka:



jabatan: - pemasaran - penjualan - penyelesaian - penulisan kandungan - sokongan - produk

Sekarang izinkan saya memberi anda contoh kamus:

-USA-Benua: Amerika Utara-kapital: Washington DC -populasi: 319 juta

Hos dan Pengguna:

Untuk setiap permainan dalam buku main, anda harus memilih mesin mana yang menjadi sasaran infrastruktur anda dan pengguna jarak jauh mana yang akan diselesaikan. Untuk memasukkan hos dalam inventori Ansible, kami akan menggunakan alamat IP mesin hos.

Umumnya host adalah senarai satu atau lebih kumpulan atau corak host, dipisahkan oleh titik dua. Pengguna jarak jauh hanyalah nama akaun pengguna.

Pemboleh ubah:

Ansible menggunakan pemboleh ubah yang ditentukan sebelumnya untuk membolehkan lebih banyak fleksibiliti dalam buku permainan dan peranan. Mereka dapat digunakan untuk melintasi sekumpulan nilai yang diberikan, mengakses berbagai maklumat seperti nama host sistem dan mengganti rentetan tertentu dalam templat dengan nilai tertentu.

Ansible sudah menentukan satu set pemboleh ubah yang kaya, individu untuk setiap sistem. Setiap kali Ansible dijalankan pada sistem, semua fakta dan maklumat mengenai sistem dikumpulkan dan ditetapkan sebagai pemboleh ubah.

Tetapi ada peraturan untuk penamaan pemboleh ubah. Nama pemboleh ubah mestilah huruf, nombor, dan garis bawah. Pemboleh ubah harus selalu bermula dengan huruf. Cth. wamp_21, port5 adalah nama pemboleh ubah yang sah, sedangkan 01_port, _server tidak sah.

Tugas:

Tugas membolehkan anda memecah sedikit dasar konfigurasi menjadi fail yang lebih kecil. Tugas merangkumi penarikan dari fail lain. Tugas di Ansible hampir sama dengan makna bahasa Inggeris daripadanya.

Cth: Pasang, kemas kini dll.

Pengendali:

Pengendali sama seperti tugas biasa dalam buku main Ansible, tetapi hanya dijalankan jika Tugas mengandungi arahan pemberitahuan dan juga menunjukkan bahawa ia mengubah sesuatu. Sebagai contoh, jika fail konfigurasi diubah, tugas yang merujuk fail konfigurasi mungkin akan memberitahu pengendali restart perkhidmatan.

Izinkan saya memberi anda contoh buku main yang akan memulakan program pelayan Apache httpd:

----tuan rumah: pelayan web yang: http_port: 80 pelanggan maksimum: 200 pengguna jarak jauh: akar tugas: - nama: pastikan apache ada pada versi terkini yum: nama = keadaan httpd = terkini - nama: tulis fail konfigurasi apache templat: src = / srv / httpd.j2 dest = / etc / httpd.conf memberitahu: - mulakan semula apache - nama: pastikan apache berjalan (dan aktifkan semasa boot) perkhidmatan: nama = keadaan httpd = mula diaktifkan = ya pengendali: - nama: mulakan semula apache perkhidmatan: nama = keadaan httpd = dimulakan semula

Saya harap contohnya akan mengaitkan anda dengan semua penerangan mengenai komponen buku permainan yang telah saya nyatakan di atas. Sekiranya masih belum jelas bagi anda, jangan risau semua keraguan anda akan jelas di bahagian akhir blog ini.

Ini semua mengenai buku permainan. Buku permainan yang akan ditulis oleh anda. Tetapi Ansible menyediakan anda dengan pelbagai modul, yang boleh anda gunakan.

Tutorial Ansible - Modul

Modul dalam Ansible tidak sesuai. Dari sudut pandang perkhidmatan RESTful, agar operasi (atau panggilan perkhidmatan) tidak berkekalan, pelanggan boleh membuat panggilan yang sama berulang kali sambil menghasilkan hasil yang sama. Dengan kata lain, membuat beberapa permintaan yang sama mempunyai kesan yang sama dengan membuat satu permintaan.

Terdapat pelbagai jenis modul dalam Ansible

  • Modul teras
  • modul tambahan

Modul Teras

Ini adalah modul yang dikekalkan oleh pasukan Ansible teras dan akan sentiasa dihantar dengan Ansible itu sendiri. Mereka juga akan mendapat keutamaan yang sedikit lebih tinggi untuk semua permintaan daripada permintaan di repositori 'tambahan'.

Sumber modul ini dihoskan oleh Ansible di GitHub dalam teras-modul-Ansible.

Modul Ekstra

Modul ini pada masa ini dihantar dengan Ansible, tetapi mungkin dihantar secara berasingan pada masa akan datang. Mereka juga dipelihara oleh masyarakat Ansible. Modul bukan teras masih boleh digunakan sepenuhnya, tetapi mungkin menerima kadar respons yang sedikit lebih rendah untuk masalah dan permintaan tarik.

Modul 'tambahan' yang popular boleh dipromosikan menjadi modul teras dari masa ke masa.

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

Cth: Salah satu modul tambahan dalam Modul Pengurusan Jauh adalah modul ipmi_power, yang merupakan power manger untuk mesin jarak jauh. Ia memerlukan python 2.6 atau lebih baru dan pyghmi untuk dijalankan.

Anda boleh menggunakan modul ini dengan menulis arahan adhoc seperti yang saya tulis di bawah:

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

Tutorial Ansible - Nilai Pulangan

Modul Ansible biasanya mengembalikan struktur data yang dapat didaftarkan ke dalam pemboleh ubah, atau dilihat secara langsung ketika dikeluarkan oleh program Ansible. Setiap modul secara opsional dapat mendokumentasikan nilai pulangan uniknya sendiri.

Beberapa contoh nilai pulangan adalah:

  • berubah: kembali dengan nilai boolean setiap kali tugas membuat perubahan.
  • gagal: mengembalikan nilai boolean, jika tugas tersebut gagal
  • msg: ia mengembalikan rentetan dengan mesej umum yang disampaikan kepada pengguna.

Tutorial Ansible - Perintah AdHoc

Perintah Adhoc adalah perintah satu baris yang mudah untuk melakukan beberapa tindakan. Menjalankan modul dengan perintah Ansible adalah arahan adhoc.

Cth:

hos ansible -m netscaler -a 'nsc_host = nsc.example.com pengguna = kata laluan apiuser = apipass' 

Perintah adhoc di atas menggunakan modul netscaler untuk mematikan pelayan. Terdapat beratus-ratus modul yang tersedia di Ansible dari mana anda boleh merujuk dan menulis arahan adhoc.

Baiklah, cukup dengan semua penjelasan teoritis, izinkan saya menjelaskan anda Orang yang tidak bertanggungjawab dengan beberapa tangan.

Tutorial Ansible - Hands On

Saya akan menulis buku main untuk memasang Nginx pada mesin nod / hos saya.

Mari kita mulakan :)

Langkah 1: Sambung ke hos anda menggunakan SSH. Untuk itu, anda perlu menghasilkan kunci SSH awam.

Gunakan arahan di bawah:

ssh-keygen

Hasilkan Kekunci Ssh - Tutorial Boleh Dengar - Edureka

Seperti yang anda lihat dalam gambar di atas, arahannya ssh-keygen menghasilkan kunci SSH awam.

Langkah 2: Tugas anda seterusnya adalah menyalin kunci SSH awam pada hos anda. Untuk melakukannya, gunakan arahan di bawah:

ssh-copy-id -i root @

Petikan di atas menunjukkan kunci SSH disalin ke host.

Langkah 3: Senaraikan alamat IP host / nod anda di inventori anda.

Gunakan arahan berikut:

vi / etc / ansible / host

Ini akan membuka editor vi di mana anda boleh menyenaraikan alamat IP host anda. Ini sekarang adalah inventori anda.

Langkah 4: Mari kita pastikan sambungan telah terjalin.

Petikan di atas mengesahkan bahawa hubungan telah dibuat antara mesin kawalan dan hos anda.

Langkah 5: Mari kita tulis buku main untuk memasang Nginx pada mesin hos. Anda boleh menulis buku main anda di editor vi. Untuk itu, cukup buat buku main anda, menggunakan arahan:

vi

Gambar di bawah menunjukkan buku main saya untuk memasang Nginx yang ditulis dalam format YAML.

Tugas sebuah buku main ditentukan dalam YAML sebagai senarai kamus dan dilaksanakan dari atas ke bawah. Sekiranya kita mempunyai beberapa host, maka setiap tugas dicuba untuk setiap host sebelum beralih ke host yang berikutnya. Setiap tugas didefinisikan sebagai kamus yang dapat memiliki beberapa kunci, seperti 'nama' atau 'sudo' yang menandakan nama tugas dan apakah itu memerlukan hak istimewa sudo.

Pemboleh ubah pelayan_port ditetapkan yang mendengar pada port TCP 8080 untuk permintaan masuk.

Di sini, tugas pertama adalah mendapatkan pakej yang diperlukan untuk pemasangan Nginx dan kemudian memasangnya.Secara dalaman, Ansible akan memeriksa apakah direktori itu ada dan membuatnya jika tidak, jika tidak, ia tidak akan membuat apa-apa.

Tugas seterusnya adalah mengkonfigurasi Nginx.Di Nginx, konteks mengandungi perincian konfigurasi.

Di sini, templat adalah fail yang boleh anda gunakan pada hos. Walau bagaimanapun, fail templat juga merangkumi beberapa pemboleh ubah rujukan yang diambil dari pemboleh ubah yang ditakrifkan sebagai bahagian dari buku main Ansible atau fakta yang dikumpulkan dari host. Fakta yang mengandungi perincian konfigurasi ditarik dari direktori sumber dan disalin ke direktori tujuan.

jumlahkan digit dalam java integer

Pengendali di sini menentukan tindakan yang akan dilakukan hanya setelah pemberitahuan tugas atau perubahan keadaan. Dalam buku main ini, kami menentukan, memberitahu: mulakan semula pengendali Nginx yang akan memulakan semula Nginx setelah fail dan templat disalin ke host.

Sekarang, simpan fail dan keluar.

Langkah 6: Sekarang mari kita jalankan buku main ini, menggunakan arahan di bawah:

buku main-ansible .yml

Kita dapat melihat dalam tangkapan skrin di atas bahawa tugas kita sedang dijalankan Nginx sedang dipasang.

Langkah 7: Mari kita periksa sama ada Nginx dipasang pada mesin hos saya. Gunakan arahan di bawah:

ps waux | grep nginx

Anda dapat melihat dalam tangkapan skrin di atas, bahawa proses ID yang berbeza 3555 dan 103316 sedang berjalan yang memastikan bahawa Nginx berjalan pada mesin hos anda.

Tahniah! Anda berjaya menggunakan Nginx pada hos anda menggunakan buku main Ansible. Saya harap anda seronok membaca blog Tutorial Ansible ini. Beritahu saya jika anda mempunyai pertanyaan di bahagian komen di bawah.

Sekiranya anda menjumpai ini ' Tutorial Ansible 'Relevan, lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus Latihan Persijilan Edureka DevOps membantu pelajar memperoleh kepakaran dalam pelbagai proses dan alat DevOps seperti Boneka, Jenkins, Ansible, Nagios dan Git untuk mengautomasikan beberapa langkah dalam SDLC.