Untuk melakukan tugas otomatis pada host jarak jauh dengan Ansible, perlu untuk mengisi dan bekerja dengan variabel tertentu, seperti yang diharapkan. Misalnya, jenis tugas ini diperlukan untuk membuat host jarak jauh online, mengizinkan login dan hak pengguna, dan menyiapkan lingkungan Python.
Dimungkinkan untuk SSH menjadi host jarak jauh dan memeriksa apakah host memenuhi semua kriteria. Namun, sebagai alat otomatisasi, Ansible menyediakan modul yang memungkinkan Anda melakukan tugas yang membosankan dan memakan waktu ini dalam satu baris perintah.
Tutorial ini menunjukkan cara menggunakan modul ping bawaan Ansible untuk melakukan berbagai set variabel pada host jarak jauh. Permintaan ping Ansible adalah alat sederhana namun berguna yang dapat Anda gunakan untuk menguji ketersediaan dan kepraktisan host jarak jauh.
Sekarang kita akan melihat lebih dekat bagaimana ping Ansible bekerja.
CATATAN: Bagian ini agak teoritis. Jika yang Anda butuhkan hanyalah bagian teknis dari artikel tersebut, maka Anda dapat melewati bagian ini. Meski begitu, kami merekomendasikan membaca bagian ini, karena memberikan beberapa wawasan dan informasi yang berguna tentang modul ping.
Dengan catatan itu, sekarang kita akan melanjutkan untuk memperkenalkan modul ping.
Tentang Modul ping yang memungkinkan
Permintaan ping yang dimungkinkan memeriksa host jarak jauh. Modul ini secara khusus memeriksa:
- Apakah host jarak jauh aktif dan dapat diakses.
- Apakah lingkungan Python berhasil menjalankan buku pedoman yang diperlukan.
- Login pengguna dan hak istimewa.
Setelah permintaan ping dikirim ke host jarak jauh, modul mengembalikan nilai yang menunjukkan apakah ping berhasil. Secara default, modul ping mengembalikan string 'pong' pada keberhasilan, dan pengecualian pada kegagalan (jika ditentukan).
KIAT PRO: Untuk memastikan bahwa playbook Ansible Anda pada host jarak jauh target tidak gagal, gunakan modul ping untuk memeriksa apakah persyaratan terpenuhi, dan hanya jalankan tugas jika output berhasil diperoleh.
Fitur Modul ping yang Mungkin
Modul ping cukup sederhana, dan berikut ini adalah daftar fitur yang disediakan oleh modul ini:
- Bukan ping ICMP; alih-alih, ini adalah modul kecil yang membutuhkan lingkungan Python yang valid pada host jarak jauh.
- Host jarak jauh Windows harus menggunakan modul win_ping sebagai gantinya.
- Menyediakan modul net_ping untuk perangkat jaringan.
- Hanya menerima satu parameter untuk memunculkan pengecualian.
- Digunakan secara default saat memanggil perintah yang memungkinkan di direktori /usr/bin/ansible untuk memverifikasi izin masuk dan lingkungan Python yang valid.
- Mengembalikan string 'pong' saat sukses.
Cara Menggunakan Modul ping yang memungkinkan
Sekarang kita akan melihat beberapa contoh yang menggunakan modul ping Ansible.
Menggunakan Perintah ping AD HOC
Cara paling sederhana untuk menjalankan modul ping Ansible adalah dengan menjalankan perintah AD HOC sederhana di terminal.
Perintah AD HOC adalah sebagai berikut:
mungkin semua -m ping -vPerintah di atas dimulai dengan memanggil Ansible, diikuti dengan pola spesifik dari host. Dalam hal ini, kami ingin melakukan ping ke 'semua' host. Bagian selanjutnya, '-m,' menentukan modul yang ingin kita gunakan. '-v' adalah singkatan dari verbose.
Jika berhasil, Anda akan mendapatkan output seperti yang ditunjukkan di bawah ini:
Menggunakan /etc/ansible/ansible.cfg sebagai file konfigurasi 35.222.210.12| SUKSES =>
"ansible_facts":
"discovered_interpreter_python": "/usr/bin/python" ,
"berubah": false,
"pingpong"
Jika remote host tidak tersedia (mungkin sedang offline), Anda akan mendapatkan output seperti yang ditunjukkan di bawah ini:
Menggunakan /etc/ansible/ansible.cfg sebagai file konfigurasi 35.222.210.12| TIDAK TERJANGKAU! =>
"berubah": false,
"msg": "Gagal terhubung ke host melalui ssh: ssh: sambungkan ke host 35.222.210.12 port 22: Waktu koneksi habis",
"tidak terjangkau": benar
Menggunakan Modul ping di Playbook
Anda juga dapat menggunakan modul ping di dalam buku pedoman. Dalam kebanyakan kasus, Anda tidak akan membuat buku pedoman yang hanya melakukan permintaan ping. Namun, Anda dapat membungkus semua tugas di dalam kondisi permintaan ping.
Perhatikan buku pedoman sederhana berikut ini:
- tuan rumah: semuamenjadi: ya
tugas:
- ping
Anda mungkin memperhatikan bahwa dalam buku pedoman di atas, saya menyertakan arahan 'menjadi'. Ini bukan persyaratan, tetapi saya telah menemukan kasus di mana modul ping gagal untuk pengguna standar. Anda sekarang dapat menjalankan buku pedoman dan memeriksa apakah server host memenuhi persyaratan untuk respons 'pong' yang berhasil.
memungkinkan-playbook ping.ymlJika ping tidak berhasil, Anda akan mendapatkan kesalahan 'tidak dapat dijangkau' berikut:
mematikan: [35.222.210.12]: TIDAK TERJANGKAU! => "berubah": false, "msg": "Gagal terhubung ke host melalui ssh: ssh: terhubung ke host 35.222.210.12 port 22: Waktu koneksi habis", "tidak dapat dijangkau": trueMenggunakan Pengecualian kenaikan dengan Modul ping
Anda juga dapat menentukan data sebagai kerusakan untuk menyebabkan pengecualian. Ini mengubah pengembalian default dari 'pong' menjadi 'crash.'
Perhatikan buku pedoman berikut:
- tuan rumah: semuamenjadi: ya
tugas:
- ping:
kecelakaan: data
Menjalankan buku pedoman dengan pengecualian harus mengembalikan nilai berikut:
mungkin-playbook ping_except.yml
Kesimpulan
Tutorial ini menunjukkan kepada Anda beragam utilitas dari modul ping. Meskipun modul ini tidak mengandung parameter kompleks seperti kebanyakan modul Ansible, modul ini masih berisi kemampuan yang kuat. Misalnya, Anda dapat menggunakan modul ping untuk memeriksa apakah kesalahan disebabkan oleh lingkungan Python yang hilang dan membuat tugas untuk menginstal lingkungan yang diperlukan pada host jarak jauh.