Topologi Rangkaian:
Di sini, linuxhint-711ea adalah Ubuntu 20.Mesin LTS 04 di mana saya akan memasang Ansible.
Kemudian, saya akan mengkonfigurasi hos tuan rumah1 (Alamat IP 192.168.20.162) dan tuan rumah2 (Alamat IP 192.168.20.153) untuk automasi Ansible dan menjalankan perintah pada mereka menggunakan Ansible dari linuxhint-711ea mesin.
Saya hanya akan memanggil tuan rumah1 dan tuan rumah2 sebagai hos Ansible dalam artikel ini.
Memasang Ansible:
Anda boleh memasang Ansible dengan mudah di Ubuntu 20.04 LTS dari repositori pakej rasmi Ubuntu.
Pertama, kemas kini cache repositori pakej APT dengan arahan berikut:
$ sudo apt kemas kini
Cache repositori pakej APT harus dikemas kini.
Sekarang, pasang Ansible dengan arahan berikut:
$ sudo apt install ansible
Untuk mengesahkan pemasangan, tekan Y dan kemudian tekan
Ansible mesti dipasang.
Sekarang, jalankan arahan berikut untuk memeriksa apakah ansible berfungsi dengan betul.
$ ansible - penukaranSeperti yang anda lihat, arahan yang tidak dapat digunakan tersedia dan berfungsi dengan betul.
Menjana Kunci SSH:
Sekarang, anda harus menghasilkan kunci SSH di komputer tempat anda memasang Ansible.
Untuk menghasilkan kunci SSH, jalankan arahan berikut:
$ ssh-keygen
Sekarang, tekan
Tekan
Tekan
Kekunci SSH harus dihasilkan.
Mengkonfigurasi Host Ubuntu untuk Automasi Ansible:
Di bahagian ini, saya akan menunjukkan kepada anda cara mengkonfigurasi hos Ubuntu (tuan rumah1) untuk automasi Ansible. Sekiranya anda mempunyai lebih daripada satu host yang anda mahu automatik menggunakan Ansible, maka ulangi proses yang sama pada setiap host.
Host Ubuntu Ansible (yang ingin anda konfigurasikan untuk automasi Ansible) mesti memasang pakej pelayan SSH.
Pertama, kemas kini cache repositori pakej APT dengan arahan berikut:
$ sudo apt kemas kini
Kemudian, pasang pelayan OpenSSH dengan arahan berikut:
$ sudo apt install openssh-server -y
Dalam kes saya, pakej pelayan OpenSSH sudah terpasang. Sekiranya tidak dipasang dalam kes anda, ia harus dipasang.
Sekarang, periksa sama ada sshd perkhidmatan dijalankan dengan arahan berikut:
$ sudo systemctl status sshdSeperti yang anda lihat, sshd perkhidmatan adalah aktif (berlari) dan didayakan (secara automatik akan bermula pada sistem boot).
Sekiranya sshd perkhidmatan tidak aktif (berjalan) dalam kes anda, mulakan secara manual dengan arahan berikut:
$ sudo systemctl mulakan sshdSekiranya sshd perkhidmatan tidak didayakan (tidak ditambahkan ke permulaan sistem) dalam kes anda, tambahkannya ke permulaan sistem secara manual dengan arahan berikut:
$ sudo systemctl mengaktifkan sshdSekarang, konfigurasikan firewall untuk membenarkan akses SSH dengan arahan berikut:
$ sudo ufw membenarkan ssh
Anda juga harus membuat tidak boleh dimakan pengguna dan membenarkan akses sudo tanpa kata laluan ke tidak boleh dimakan pengguna.
Untuk membuat tidak boleh dimakan pengguna, jalankan arahan berikut:
$ sudo adduser tidak boleh dimakan
Sekarang, taipkan kata laluan untuk tidak boleh dimakan pengguna dan tekan
Sekarang, taip semula kata laluan dan tekan
Sekarang, tekan
Sekarang, tekan
Sekarang, tekan
Sekarang, tekan
Sekarang, tekan
Sekarang, taipkan y dan kemudian tekan
Seorang tidak boleh dimakan pengguna harus dibuat.
Sekarang, konfigurasikan akses sudo tanpa kata laluan ke tidak boleh dimakan pengguna dengan arahan berikut:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | sudo tee / etc / sudoers.d / tidak boleh dimakan
Sekarang, cari alamat IP hos Ansible (tuan rumah1) dengan arahan berikut:
$ nama host -IDi sini, alamat IP dalam kes saya adalah 192.168.20.162. Ia akan berbeza bagi anda. Oleh itu, pastikan untuk menggantinya dengan borang anda sekarang juga.
Sekarang, dari komputer tempat anda memasang Ansible, salin kunci awam SSH ke hos Ansible (tuan rumah1) seperti berikut:
$ ssh-copy-id ansible @ 192.168.20.162
Taipkan iya dan tekan
Sekarang, taip kata laluan untuk tidak boleh dimakan pengguna dan tekan
Kunci SSH awam harus disalin ke tuan rumah1.
Sekarang, lumpuhkan log masuk berdasarkan kata laluan untuk tidak boleh dimakan pengguna dengan arahan berikut:
$ sudo usermod -L tidak boleh dimakan
Sekarang, anda hanya boleh memasukkan SSH ke hos Ansible (tuan rumah1sebagai tidak boleh dimakan pengguna tanpa kata laluan dari komputer anda telah menyalin kunci awam SSH (dalam kes ini, komputer tempat anda memasang Ansible). Tetapi anda tidak akan dapat SSH memasuki hos Ansible (tuan rumah1sebagai tidak boleh dimakan pengguna dari komputer lain. Saya telah mengkonfigurasi host Ansible dengan cara ini untuk keselamatan. Sebagai tidak boleh dimakan pengguna tidak memerlukan kata laluan untuk menjalankan perintah pentadbiran, berisiko untuk membenarkan log masuk berdasarkan kata laluan untuk tidak boleh dimakan pengguna.
Sekarang, anda seharusnya dapat memasukkan SSH ke dalam host yang tidak boleh diterima tuan rumah1 dari komputer tempat anda memasang Ansible seperti berikut:
$ ssh ansible @ 192.168.20.162
Seperti yang anda lihat, saya dapat mengakses hos Ansible (tuan rumah1) sebagai pengguna yang tidak boleh dilayari tanpa kata laluan. Jadi, hos Ansible (tuan rumah1) siap untuk automasi Ansible.
Sekiranya atas sebab tertentu, anda mahu membenarkan log masuk berdasarkan kata laluan untuk tidak boleh dimakan pengguna lagi, jalankan arahan berikut di host Ansible (tuan rumah1):
$ sudo usermod -U tidak boleh dimakan
Anda boleh mengkonfigurasi seberapa banyak host yang anda mahukan untuk automasi Ansible dengan cara yang sama.
Dalam artikel ini, saya telah mengkonfigurasi hanya 2 hos, tuan rumah1 dan tuan rumah2 untuk demonstrasi.
Menguji Keterangan:
Sekarang, buat direktori projek baru ~ / ansible-demo / di komputer di mana anda telah memasang Ansible seperti berikut:
$ mkdir ~ / ansible-demo
Sekarang, arahkan ke ~ / ansible-demo / direktori seperti berikut:
$ cd ~ / ansible-demo /
Sekarang, buat yang baru tuan rumah failkan dalam direktori projek seperti berikut:
hos $ nano
Sekarang, taipkan alamat IP atau nama DNS hos Ansible (tuan rumah1 dan tuan rumah2 dalam kes saya) di tuan rumah fail seperti berikut:
192.168.20.162192.168.20.153
Sekarang, simpan fail dengan menekan
Sekarang, cubalah ping semua host menggunakan Ansible seperti berikut:
$ ansible all -i ./ host -u ansible -m pingNOTA: Di sini, pilihan -u digunakan untuk menentukan nama pengguna (tidak dapat digunakan dalam kes ini) yang akan digunakan oleh Ansible untuk SSH ke dalam hos.
Seperti yang anda lihat, semua hos dapat di-ping. Jadi, tuan rumah bersedia untuk automasi Ansible.
Dengan cara yang sama, anda boleh menjalankan sebarang arahan di host menggunakan Ansible seperti berikut:
$ ansible all -i ./ hosts -u ansible -m shell -a 'echo "$ (nama host) - $ (nama host -I)"'
Seperti yang anda lihat, perintah berjaya dijalankan di setiap host dan outputnya dipaparkan.
Jadi, ini adalah cara anda memasang Ansible di Ubuntu 20.04 LTS dan konfigurasikan Ubuntu 20.04 hos LTS untuk automasi Ansible. Terima kasih kerana membaca artikel ini.