GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Ansible di Ubuntu 20.04 LTS

Mengonfigurasi dan menerapkan aplikasi pada satu server biasanya merupakan tugas yang sederhana. Namun, dalam lingkungan TI yang kompleks dengan banyak server, ini bisa menjadi tugas yang menakutkan dan memakan waktu. Dikembangkan dan dikelola oleh RedHat, Ansible adalah konfigurasi server sumber terbuka dan alat penyediaan perangkat lunak yang menyederhanakan penerapan aplikasi dan manajemen konfigurasi. Ini mengangkat beban tim operasi TI dan mengotomatiskan konfigurasi server dan penerapan aplikasi dengan cara yang sederhana dan efektif.

Dibandingkan dengan rekan-rekannya seperti koki dan boneka, Ansible adalah alat yang paling banyak digunakan karena tidak memerlukan agen untuk berkomunikasi dengan host jarak jauh. Ansible memanfaatkan protokol SSH untuk berkomunikasi dengan target jarak jauh, dan dengan demikian, sumber daya CPU dari host jarak jauh tetap tidak terpengaruh.

Penyiapan Lab yang Memungkinkan

Untuk lingkungan pengujian kami, kami memiliki dua node:node kontrol tempat Ansible akan diinstal dan host jarak jauh yang akan dikonfigurasi dari node kontrol Ansible:

Node kontrol yang memungkinkan IP 192.168.2.101 Ubuntu 20.04

Host jarak jauh IP 192.168.2.104 Ubuntu 20.04

Selain itu, pastikan Anda memiliki pengguna sudo dikonfigurasi pada node kontrol Ansible dan bahwa daemon SSH berjalan di kedua node.

Tanpa basa-basi lagi, mari kita sentuh dasar tentang cara menginstal Ansible di Ubuntu 20.04

Langkah 1:Instal Ansible

Langsung saja, masuk ke server master Ansible dan instal Ansible sebagai pengguna sudo sebagai berikut.

$ sudo apt install ansible

Ini menginstal Ansible bersama sejumlah paket Python3 yang penting agar Ansible dapat berjalan tanpa masalah.

Setelah diinstal, Anda dapat mengonfirmasi versi Ansible seperti yang ditunjukkan.

Output memberikan beberapa informasi yang luas. Ini menampilkan versi Ansible – dalam hal ini, Ansible 2.9.6 – modul dan jalur eksekusi Ansible serta versi Python yang diinstal pada sistem Anda.

File konfigurasi – ansible.cfg – adalah file konfigurasi Ansible yang terletak di /etc/ansible direktori. Pengaturan menentukan bagaimana Ansible berjalan dan berinteraksi dengan klien jarak jauh. Selain itu, direktori berisi file inventaris yang disebut hosts. Di sinilah host jarak jauh atau terkelola didefinisikan. Saat kita bekerja keras dalam tutorial ini, kita akan mendefinisikan host jarak jauh dalam file inventaris ini.

Langkah 2:Siapkan login SSH tanpa kata sandi

Protokol SSH menyediakan dua metode otentikasi:kata sandi dan otentikasi kunci publik/pribadi. Dengan menggunakan kunci SSH, kita akan menyiapkan metode login ssh tanpa kata sandi untuk menyediakan cara yang lebih aman dan nyaman untuk berinteraksi dengan host jarak jauh. Metode login SSH tanpa kata sandi memberikan cara yang mulus untuk berinteraksi dengan host karena kami tidak perlu memberikan kata sandi saat menjalankan file playbook.

Untuk mengatur login SSH tanpa kata sandi, pertama-tama kita akan membuat pasangan kunci SSH seperti yang ditunjukkan:

$ ssh-keygen

Tekan ENTER sepenuhnya untuk menerima saran default.

Pasangan kunci SSH mencakup kunci pribadi dan publik. Kami memiliki id_rsa yang merupakan kunci pribadi. Juga, kami memiliki id_rsa.pub yang merupakan kunci publik.

Selanjutnya, kita akan menyalin kunci publik ke host jarak jauh menggunakan pengguna root sebagai pengguna host jarak jauh.

CATATAN

Sebelum menyalin file kunci publik ssh, kami akan mengonfigurasi pengguna jarak jauh di file konfigurasi Ansible seperti yang ditunjukkan.

$ sudo vim /etc/ansible/ansible.cfg

Setel pengguna jarak jauh ke root.

remote_user=root

Simpan file.

Selanjutnya, buka host jarak jauh dan aktifkan login root jarak jauh dengan mengedit /etc/ssh/ssh_config berkas.

$ sudo vim /etc/ssh/ssh_config

Tambahkan baris di bawah

PermitRootLogin yes

Sekali lagi, simpan dan keluar.

Sekarang kita dapat melanjutkan dan menyalin kunci publik SSH ke host jarak jauh seperti yang ditunjukkan.

$ ssh-copy-id [email protected]

Jika Anda masuk untuk pertama kali sebagai pengguna root, Anda akan mendapatkan prompt seperti yang ditunjukkan pada gambar di bawah ini. Cukup ketik 'ya' untuk melanjutkan koneksi. Setelah Anda memberikan kata sandi root host jarak jauh, kunci SSH akan ditambahkan ke direktori home root.

Untuk login berikutnya, Anda tidak akan diminta untuk memberikan kata sandi. Untuk memverifikasi ini, keluar dari host jarak jauh dan coba masuk sekali lagi.

$ ssh [email protected]

Ini secara otomatis membawa Anda ke shell host jarak jauh seperti yang ditunjukkan.

Sempurna! Pengaturan login SSH tanpa kata sandi kami selesai. Sekarang kita akan membuat file playbook yang akan menginstal server web Apache.

Langkah 3:Tambahkan host jarak jauh di file konfigurasi Ansible

Selanjutnya, kami akan mendefinisikan host jarak jauh kami di file inventaris Ansible yang, secara default, adalah /etc/ansible/hosts mengajukan. Jadi, buka file tersebut.

 $ sudo vim /etc/ansible/hosts

File host terstruktur dalam format INI. Kami akan menambahkan alamat IP dari host kami di bawah server web nama grup.

[webservers]
192.168.2.104

Simpan file inventaris dan tutup. Untuk memverifikasi host yang ditentukan dalam file inventaris, jalankan:

 $ ansible webservers --list-hosts

Atau, untuk memeriksa semua host di semua grup host, jalankan:

 $ ansible all --list-hosts

Sekarang kita akan menguji keberadaan modul Ansible Python pada host jarak jauh.

 $ ansible -m ping webservers

CATATAN:

ping modul bukan perintah ping ICMP. Ini hanya tes sepele untuk memeriksa apakah modul Python3 diinstal dan keberadaan SSH.

Output di bawah ini menunjukkan bahwa perintah itu berhasil. Outputnya juga menampilkan IP dari host jarak jauh yang ditentukan di bawah server web kelompok. Jika Anda memiliki beberapa host yang ditentukan dalam beberapa grup, gunakan semua pilihan.

 $ ansible -m ping all

Langkah 4:Buat file playbook untuk mengonfigurasi host jarak jauh

Dengan host jarak jauh yang ditentukan, sekarang kita akan membuat file playbook untuk menginstal server web Apache. File playbook adalah file YAML di Ansible yang menetapkan tugas yang harus dilakukan di host jarak jauh.

 $ sudo vim /etc/ansible/apache.yml

File playbook didefinisikan di bawah ini. Perhatikan bahwa file dimulai dengan 3 tanda hubung ( — ). Perhatikan juga lekukannya.

Terakhir, jalankan file playbook sebagai berikut.

$ ansible-playbook /etc/ansible/apache.yml

Selama runtime, playbook melakukan tugas dengan cermat dan menampilkan setiap tindakan di terminal. Ini menginstal server web Apache dan memulai layanan.

Untuk mengonfirmasi bahwa server web berhasil diinstal, luncurkan browser dan jelajahi IP host jarak jauh seperti yang ditunjukkan:

http://server-ip/

Ringkasan

Ansible adalah alat otomatisasi yang banyak digunakan di DevOps dan digunakan oleh ribuan pengembang dan sysadmin untuk mengonfigurasi dan menyebarkan aplikasi di server. Ini menghemat waktu dan meminimalkan upaya yang diperlukan untuk menangani banyak server dalam infrastruktur TI yang kompleks. Kami berharap Anda dapat menginstal dan mengonfigurasi Ansible dengan nyaman di Ubuntu 20.04.


Ubuntu
  1. Cara Menginstal Docker di Ubuntu 22.04 / 20.04 LTS

  2. Cara Menginstal dan Mengonfigurasi Ansible di Ubuntu 18.04 LTS

  3. Cara Menginstal Ansible di Ubuntu 18.04 LTS

  1. Cara Menginstal PlayOnLinux di Ubuntu 20.04 LTS

  2. Cara Menginstal MariaDB di Ubuntu 20.04 LTS

  3. Cara Menginstal AWX yang Mungkin di Ubuntu 20.04 LTS

  1. Cara Menginstal Ansible di Ubuntu 20.04 LTS / 21.04

  2. Cara Menginstal Minikube di Ubuntu 20.04 LTS / 21.04

  3. Cara Menginstal Spotify di Ubuntu 18.04 LTS