Cara Mengkonfigurasi Nod Diurus Ansible dan Jalankan Perintah Ad -Hoc - Bahagian 3
- 743
- 62
- Chris Little I
Dalam dua artikel sebelumnya siri ini, kami telah menerangkan komponen teras Ansible dan menubuhkan nod kawalan ansible. Dalam Bahagian 3 ini, kami akan menunjukkan bagaimana anda boleh mengkonfigurasi nod yang diurus oleh Ansible untuk menjalankan arahan ad-hoc pada tuan rumah jauh.
Persediaan Pengesahan SSH Tanpa Kata Laluan ke nod yang diurus oleh Ansible
Sebagai rekap pada topik terakhir kami, menguruskan tuan rumah jauh dengan Ansible memerlukan penubuhan pengesahan SSH tanpa kata laluan antara nod kawalan Ansible dan tuan rumah yang diuruskan. Ini melibatkan penjanaan pasangan utama (pasangan kunci SSH awam dan swasta) pada nod kawalan ansible dan menyalin kunci awam kepada semua tuan rumah jauh. Ini akan menjadi langkah penting yang akan berlaku dan akan menjadikan kerja anda lebih mudah.
Konfigurasikan peningkatan keistimewaan pada nod yang diuruskan
Semasa log masuk sebagai pengguna biasa, anda mungkin dikehendaki melaksanakan tugas tertentu pada nod yang diuruskan yang memerlukan keistimewaan atau keistimewaan akar yang tinggi. Tugas -tugas ini termasuk pengurusan pakej, menambah pengguna & kumpulan baru, dan mengubah suai konfigurasi sistem untuk disebutkan hanya tetapi beberapa. Untuk mencapai matlamat ini, anda perlu memanggil arahan tertentu dalam buku main untuk menjalankan tugas sebagai pengguna istimewa di tuan rumah jauh.
menjadi
Ansible membolehkan anda 'menjadi' pengguna lain di nod yang diuruskan berbeza dari yang sedang dilog masuk. The Menjadi: Ya
Arahan meningkatkan keistimewaan anda dan membolehkan anda melaksanakan tugas yang memerlukan keistimewaan root seperti memasang dan mengemas kini pakej dan memulihkan sistem.
Pertimbangkan buku main httpd.yml
yang memasang dan memulakan webserver Apache seperti yang ditunjukkan:
--- - Nama: Pasang dan Mula Apache Webserver Hosts: Webservers Tasks: - Nama: Pasang Httpd Yum: Name = Httpd State = Terkini Menjadi: Ya - Nama: Semak Perkhidmatan Status Httpd: Nama = Httpd State = Bermula
The Menjadi: Ya
Arahan ini membolehkan anda melaksanakan arahan sebagai pengguna root pada hos jauh.
menjadi_user
Arahan lain yang boleh anda gunakan untuk menjadi pengguna lain adalah menjadi_user. Ini membolehkan anda beralih kepada pengguna sudo pada hos terpencil apabila masuk dan bukan pengguna yang anda log masuk sebagai.
Contohnya, untuk menjalankan arahan sebagai Tecmint pengguna di alat kawalan jauh Gunakan arahan seperti yang ditunjukkan.
- Nama: Jalankan Perintah sebagai Perintah Pengguna Apache: SomeCommand Menjadi: Ya menjadi_user: Tecmint
menjadi_method
Arahan ini akan mengatasi kaedah lalai yang ditetapkan ansible.cfg fail yang biasanya ditetapkan ke sudo.
menjadi_flags
Ini digunakan pada tahap permainan atau tugas, misalnya apabila anda perlu beralih kepada pengguna apabila shell ditetapkan ke nologin.
Sebagai contoh,
- Nama: Jalankan Perintah Sebagai Perintah Tidak Ada: SomeCommand Menjadi: Benar Be_method: Su Be_User: Tiada siapa yang menjadi_flags: '-s /bin /sh'
Pilihan baris arahan dalam peningkatan keistimewaan
Mari kita lihat beberapa pilihan baris arahan yang boleh anda gunakan untuk meningkatkan keistimewaan anda semasa menjalankan arahan:
--Ask-Become-Pass
,-K
- Ini mendorong anda untuk kata laluan pengguna sudo pada sistem jauh yang anda cuba sambungkan.
$ ansible-playbook myplaybook.YML --k-become-passAnsible menjadi lulus
--menjadi
,-b
- Ini membolehkan anda menjalankan tugas sebagai pengguna root tanpa meminta kata laluan.
$ ansible-playbook myplaybook.YML - -Become
--menjadi pengguna = menjadi_user
- Ia membolehkan anda menjalankan tugas sebagai pengguna lain.
$ ansible-playbook myplaybook.YML--Become-user = TecmintAnsible menjadi pengguna
Mengesahkan konfigurasi kerja menggunakan arahan ad-hoc ansible
Kadang -kadang, anda mungkin mahu melaksanakan tugas cepat dan mudah pada tuan rumah atau pelayan jauh di Ansible tanpa perlu membuat buku main. Dalam kes itu, anda perlu menjalankan ad hoc perintah.
Apa itu perintah adhoc?
Ansible perintah ad-hoc adalah arahan satu baris yang membantu anda melaksanakan tugas mudah dengan cara yang sederhana namun efisien tanpa perlu membuat buku main. Tugas tersebut termasuk menyalin fail antara tuan rumah, pelayan reboot, menambah & mengeluarkan pengguna dan memasang satu pakej.
Dalam tutorial ini, kami meneroka pelbagai aplikasi perintah ad-hoc ansible. Kami akan menggunakan fail inventori di bawah untuk demonstrasi.
[Webservers] 173.82.115.165 [Database_Servers] 173.82.202.239
Penggunaan asas arahan adhoc
Penggunaan yang paling asas bagi arahan Ansible-ADHOC adalah ping tuan rumah atau sekumpulan tuan rumah.
# ansible -m ping semua
Dalam perintah di atas, -m
Parameter adalah pilihan modul. Ping adalah arahan adhoc dan parameter kedua semuanya mewakili semua tuan rumah dalam fail inventori. Output arahan ditunjukkan di bawah:
Ke ping, kumpulan tuan rumah tertentu, menggantikannya 'semua' parameter dengan nama kumpulan. Dalam contoh di bawah, kami sedang menguji sambungan dengan tuan rumah di bawah kumpulan webservers.
# Ansible -m Ping WebserversKumpulan Ping Host Ansible
Di samping itu, anda boleh menggunakan -a
atribut untuk menentukan arahan Linux biasa dalam tanda petikan berganda. Sebagai contoh, untuk menyemak sistem uptime sistem jauh, jalankan:
# ansible -a "uptime" semuaAnsible check uptime host jauh
Untuk memeriksa penggunaan cakera tuan rumah jauh.
# ansible -a "df -th" semuaPenggunaan cakera cek ansible dari tuan rumah jauh
Terdapat beratus -ratus beratus -ratus modul yang boleh anda gunakan dengan arahan adhoc. Untuk melihat keseluruhan senarai modul dengan deskripsi mereka, jalankan arahan di bawah.
# ansible -doc -l
Untuk melihat maklumat terperinci mengenai modul tertentu, jalankan arahan.
# ansible-doc module_name
Contohnya, untuk mencari maklumat lanjut mengenai Modul Yum Jalankan:
# ansible-doc yumModul periksa yum ansible
Menguruskan pakej / perkhidmatan dengan Ansible
Perintah adhoc ansible boleh digunakan untuk pemasangan dan penyingkiran pakej menggunakan yum dan Apt Pengurus Pakej.
Untuk memasang pelayan web Apache di Centos 7 Hos di bawah kumpulan Webservers dalam fail inventori menjalankan arahan:
# Ansible Webservers -m yum -a "name = httpd state = present"Ansible Pasang Apache pada tuan rumah jauh
Untuk mengesahkan pemasangan pelayan web Apache, log masuk ke klien jauh dan lari.
# rpm -qa | GREP HTTPDSahkan pemasangan Apache
Untuk menyahpasang Apache, mengubah keadaan mudah dari keadaan dari hadir ke tidak hadir.
# Ansible Webservers -m yum -a "name = httpd state = absent"Ansible keluarkan apache
Sekali lagi, untuk mengesahkan penyingkiran httpd run.
# rpm -qa | GREP HTTPDSahkan penyingkiran Apache
Seperti yang diperhatikan, pakej pelayan web Apache telah dibersihkan.
Membuat pengguna dan kumpulan menggunakan Ansible
Semasa membuat pengguna, 'penggunaModul 'berguna. Untuk membuat pengguna baru James dengan kata laluan topi merah mengenai sistem pelanggan database_server, mengeluarkan arahan.
# ansible database_server -m user -a "name = james password = redhat"Ansible Buat pengguna pada tuan rumah jauh
Untuk mengesahkan penciptaan pengguna baru, jalankan arahan:
# Ansible Database_Servers -A "ID James"Mengesahkan penciptaan pengguna
Untuk mengalih keluar pengguna, jalankan arahan:
# ansible database_servers -m user -a "name = James state = absent"Ansible Buang pengguna
Peningkatan keistimewaan
Sekiranya anda menjalankan Ansible sebagai pengguna biasa, Ansible memberikan peningkatan keistimewaan dalam tuan rumah jauh menggunakan --menjadi
pilihan untuk memperoleh keistimewaan root dan -k
Untuk meminta kata laluan.
Sebagai contoh, untuk menjalankan perintah adhoc ansible 'netstat -pnltu'Dengan pilihan istimewa --menjadi
dan pilihan -K
untuk meminta kata laluan pengguna root untuk menjalankan arahan.
$ Ansible Webservers -m shell -a 'netstat -pnltu' --become -kAnsible Privilege Escalation
Untuk menjadi pengguna lain selain akar, gunakan --menjadi pengguna
atribut.
Contohnya untuk menjalankan 'df -th'as Tecmint pengguna di hos jauh dan meminta kata laluan yang dijalankan:
$ ansible all -m shell -a 'df -th' --become -user tecmint -kAnsible menjadi pengguna lain
Mengumpulkan fakta mengenai sistem tuan rumah
Fakta Rujuk maklumat terperinci mengenai sistem. Ini termasuk maklumat mengenai alamat IP, seni bina sistem, memori, dan CPU untuk menyebut beberapa.
Untuk mendapatkan maklumat mengenai tuan rumah jauh, jalankan arahan:
$ ansible all -m persediaanAnsible mengumpul fakta sistem
Fail pemindahan / salinan fail
Ansible menggunakan modul salinan dengan selamat menyalin fail dari kawalan ansible ke pelbagai tuan rumah jauh.
Berikut adalah contoh operasi salinan:
# Ansible Webservers -m Copy -a "src =/var/log/selamat Dest =/tmp/"Fail salinan ansible ke hos jauh
Perintah itu menyalin /var/log/selamat fail dalam nod kawalan ansible ke tuan rumah jauh di kumpulan webservers di /TMP destinasi.
Anda boleh menggunakan modul fail Untuk menukar kebenaran dan pemilikan fail.
# Ansible Webservers -m File -a "DEST =/TMP/Mode Secure = 600"Kebenaran Fail Perubahan Ansible
Di samping itu, anda boleh menambahkan hujah pemilik dan kumpulan seperti yang ditunjukkan:
# Ansible Webservers -m File -a "Dest =/tmp/Secure Mode = 600 pemilik = Tecmint Group = Tecmint"Atribut pengguna dan kumpulan tambahan
Anda juga boleh membuat direktori, dengan cara yang sama dengan mkdir -p
seperti yang ditunjukkan.
$ Ansible Webservers -m File -a "Dest =/Path/To/Directory Mode = 755 pemilik = Tecmint Group = Tecmint State = Direktori"
Sebagai contoh,
$ Ansible Webservers -m File -a "Dest =/Home/Tecmint/Data Mode = 755 Pemilik = Tecmint Group = Tecmint State = Direktori"Ansible buat direktori
Kesimpulan
Dalam artikel ini, kami memberi penjelasan mengenai bagaimana anda boleh mengkonfigurasi nod yang dikendalikan untuk menjalankan perintah ad-hoc yang boleh dikendalikan untuk menguruskan tuan rumah jauh. Kami harap anda dapati ia berguna. Beri pukulan dan beritahu kami bagaimana keadaannya.