Cara memperbaiki “koneksi bersama ke x.X.xx Tertutup ”Kesalahan Ansible
- 903
- 196
- Dr. Travis Bahringer
Dalam artikel singkat ini, kami akan menjelaskan cara menyelesaikan: “module_stderr“:“ Koneksi bersama ke x.X.X.x ditutup.\ r \ n "," module_stdout ":"/bin/sh:/usr/bin/python: tidak ada file atau direktori seperti itu \ r \ n ", saat menjalankan perintah ansible.
Tangkapan layar berikut menunjukkan kesalahan modul ansible. Kami mengalami kesalahan ini saat menjalankan perintah ansible untuk menjalankan perintah pada dua yang baru digunakan Centos 8 server.
Kesalahan modul ansibleDari detail kesalahan, koneksi gagal karena shell di sistem jarak jauh tidak dapat menemukan Python penerjemah (/usr/bin/python) sebagaimana ditunjukkan oleh garis: “module_stdout ":"/bin/sh:/usr/bin/python: tidak ada file atau direktori seperti itu \ r \ n“.
Setelah memeriksa host jarak jauh, kami menemukan bahwa sistem tidak dimiliki Python 2 terpasang.
Periksa biner PythonMereka punya Python 3 diinstal secara default dan binernya /usr/bin/python3.
Periksa biner Python3Menurut dokumentasi ansible, Semu (2.5 dan di atas) bekerja dengan python versi 3 dan di atas saja. Juga, ansible seharusnya secara otomatis mendeteksi dan menggunakan Python 3 pada banyak platform yang dikirimkan dengannya.
Namun, jika gagal, maka Anda dapat secara eksplisit mengonfigurasi interpreter Python 3 dengan mengatur ANSIBLE_PYTHON_INTERPRETER Variabel inventaris pada tingkat grup atau host ke lokasi interpreter Python 3 seperti yang dijelaskan di bawah ini.
Melewati interpreter Python ke Ansible pada baris perintah
Untuk memperbaiki kesalahan di atas sementara, Anda dapat menggunakan -e
Bendera untuk meneruskan interpreter Python 3 ke Ansible seperti yang ditunjukkan.
$ ansible prod_server -e 'ansible_python_intreter =/usr/bin/python3' -a "status firewalld" -u rootAtur Python Interpreter melalui baris perintah
Mengatur Python Interpreter untuk Ansible dalam Inventaris
Untuk memperbaiki kesalahan secara permanen, atur ANSIBLE_PYTHON_INTERPRETER variabel inventaris dalam inventaris Anda /etc/ansible/host. Anda dapat membukanya untuk mengedit menggunakan editor teks V/IM atau Nano seperti yang ditunjukkan.
$ sudo vim/etc/ansible/hosts atau # vim/etc/ansible/hosts
Tambahkan baris berikut ke setiap host atau host dalam grup:
ansible_python_intreter =/usr/bin/python3
Jadi, definisi host Anda bisa terlihat seperti ini:
[prod_server] 192.168.10.1 ansible_python_intreter =/usr/bin/python3 192.168.10.20 ansible_python_intreter =/usr/bin/python3.6Atur Python Interpreter untuk Ansible
Atau, atur interpreter Python yang sama untuk sekelompok host seperti yang ditunjukkan.
[prod_server] 192.168.10.1 192.168.10.20 [Prod_Server: VARS] ansible_python_intreter =/usr/bin/python3Atur Python Interpreter-untuk semua host dalam grup
Mengatur interpreter Python default dalam konfigurasi yang tidak dapat diabaikan
Untuk mengatur interpreter Python default, Anda dapat mengatur ANSIBLE_PYTHON_INTERPRETER Variabel inventaris di file konfigurasi utama AnSible /etc/ansible/ansible.CFG.
$ sudo vim/etc/ansible/ansible.CFG
Tambahkan baris berikut di bawah [default]
bagian.
ansible_python_intreter =/usr/bin/python3Atur Python Interpreter dalam konfigurasi yang tidak jelas
Simpan file dan tutup.
Sekarang coba jalankan perintah ansible sekali lagi:
$ ansible prod_server -a "status systemctl status firewalld" -u rootPeriksa perintah ansible
Untuk informasi lebih lanjut tentang topik ini, lihat dukungan Python 3 dalam dokumentasi resmi Ansible.
- « Panduan Utama untuk Mengamankan, Mengeraskan, dan Meningkatkan Kinerja Server Web Nginx
- Frostwire - cloud downloader, klien bittorrent dan pemutar media »