GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Ansible di Ubuntu 20.04 LTS / 21.04

Ansible adalah alat konfigurasi dan otomatisasi TI sumber terbuka dan gratis. Ini tersedia untuk hampir semua distribusi Linux dan dapat digunakan untuk mengelola sistem Linux dan Windows. Saat ini Ansible juga digunakan untuk mengelola instans EC2 di AWS, Mesin virtual, dan Kontainer, dll. Ansible tidak memerlukan agen apa pun pada host terkelola, tetapi hanya memerlukan koneksi ssh.

Pada artikel ini, kami akan membahas cara menginstal Ansible versi terbaru di Ubuntu 20.04 LTS / 21.04

Persyaratan sistem untuk Ansible

  • Instalasi Minimal Ubuntu 20.04 LTS / 21.04
  • pengguna sudo dengan hak akses root
  • 2 CPU / vCPU
  • RAM 2 GB atau lebih
  • Hardisk 20 GB
  • Koneksi Internet (Jika Anda tidak memiliki server repositori apt yang dikonfigurasi secara lokal)

Berikut adalah detail penyiapan lab saya untuk demonstrasi yang memungkinkan.

  • Node Kontrol yang Memungkinkan – control.example.com (192.168.1.112)
  • Node Terkelola yang Memungkinkan – node1.example.com &node2.example.com
  • menjaga pengguna sudo pada kontrol dan node terkelola dengan hak istimewa.

Catatan:Di sini node1 adalah Sistem Ubuntu dan node2 adalah sistem CentOS dan node kontrol adalah sistem tempat kami akan menginstal mungkin. Saya berasumsi sysops sudah dibuat di setiap host.

Untuk mengkonfigurasi pengguna sudo (sysops) untuk menjalankan semua perintah tanpa meminta kata sandi, jalankan perintah berikut pada setiap host yang dikelola

echo "sysops ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sysops

Mari masuk ke langkah-langkah Instalasi Ansible

Langkah 1) Terapkan Pembaruan pada Node Kontrol

Masuk ke sistem Ubuntu 20.04 LTS / 21.04 dan jalankan perintah apt di bawah ini untuk menerapkan pembaruan.

$ sudo apt update
$ sudo apt updgrade -y

Setelah semua pembaruan diinstal, reboot sistem sekali.

$ sudo reboot

Langkah 2) Instal dependensi dan konfigurasikan Ansible Repository

Instal dependensi yang memungkinkan dengan menjalankan perintah apt berikut,

$ sudo apt install -y software-properties-common

Setelah dependensi diinstal, konfigurasikan repositori PPA agar memungkinkan, jalankan

$ sudo add-apt-repository --yes --update ppa:ansible/ansible

Sekarang perbarui repositori dengan menjalankan di bawah perintah apt.

$ sudo apt update

Langkah 3) Instal versi terbaru yang memungkinkan

Sekarang kita siap untuk menginstal Ansible versi terbaru di Ubuntu 20.04 LTS / 21.04, jalankan perintah berikut.

$ sudo apt install -y ansible

Setelah instalasi Ansible berhasil, verifikasi versinya dengan menjalankan perintah

$ ansible --version

Bagus, output di atas mengonfirmasi bahwa Ansible versi 2.9.6 telah diinstal.

Langkah 4) Siapkan kunci SSH dan bagikan di antara node yang dikelola

Sekarang mari buat kunci SSH untuk pengguna sysops dari node kontrol dan bagikan di antara host yang dikelola. Jalankan  perintah ssh-keygen

$ ssh-keygen

Tekan enter saat meminta input, output ditampilkan di bawah ini

Catatan:Tambahkan entri host terkelola di file /etc/hosts pada node kontrol. Ini hanya diperlukan jika Anda tidak memiliki server DNS lokal yang dikonfigurasi.

192.168.1.115   node1.example.com
192.168.1.120   node2.example.com

Untuk membagikan kunci ssh antara kontrol ke host yang dikelola, jalankan contoh perintah ssh-copy-id ditunjukkan di bawah ini

$ ssh-copy-id node1.example.com
$ ssh-copy-id node2.example.com

Output dari perintah di atas akan terlihat seperti di bawah ini

Langkah 5) Buat file cfg dan inventaris yang memungkinkan

Selalu disarankan untuk memiliki file ansible.cfg dan inventaris yang terpisah untuk setiap proyek. Untuk tujuan demonstrasi saya menggunakan demo sebagai nama proyek. Jadi, buat folder proyek terlebih dahulu dengan menjalankan perintah mkdir.

$ mkdir demo

Salin file ansble.cfg default ke folder ~/demo,

$ cp /etc/ansible/ansible.cfg ~/demo/

Edit file ~/demo/ansible.cfg, atur parameter berikut,

$ vi ~/demo/ansible.cfg

Di bawah bagian default

inventory      = /home/sysops/demo/inventory
remote_user = sysops
host_key_checking = False

Di bawah bagian privilege_escalation

become=True
become_method=sudo
become_user=root
become_ask_pass=False

Simpan dan Tutup file. Sekarang, mari kita buat file inventaris yang telah kita definisikan di file ~/demo/ansible.cfg.

$ vi ~/demo/inventory
[dev]
node1.example.com

[prod]
node2.example.com

simpan dan keluar dari file

Sekarang akhirnya instruksikan ansible untuk menggunakan file ansible.cfg proyek demo dengan mendeklarasikan variabel ANSIBLE_CONFIG, jalankan perintah berikut,

$ export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg
$ echo "export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg" >> ~/.profile

Jalankan perintah –version yang memungkinkan dari folder demo untuk memverifikasi konfigurasi yang memungkinkan

$ cd demo/
$ ansible --version

Bagus, Ansible sekarang membaca file konfigurasi ansible proyek kami. Mari kita verifikasi konektivitas node yang dikelola menggunakan perintah ad-hoc yang memungkinkan,

$ ansible all -m ping

Catatan:Pastikan menjalankan perintah yang memungkinkan dari folder demo.

Output dari perintah akan terlihat seperti di bawah ini:

Output ini mengonfirmasi bahwa konektivitas tersedia dari node kontrol ke host terkelola.

Langkah 6) Buat pedoman yang memungkinkan untuk Menginstal paket pada host terkelola

Untuk memverifikasi instalasi dan konfigurasi yang memungkinkan, mari buat contoh buku pedoman bernama package.yaml di bawah folder demo.

$ vi packages.yaml
---
- name: Playbook to Install Packages
  hosts:
    - dev
    - prod
  tasks:
  - name: Install php and mariadb
    package:
      name:
        - php
        - mariadb-server
      state: present

simpan dan tutup file

Sekarang jalankan playbook menggunakan perintah ansible-playbook,

$ ansible-playbook packages.yaml

Keluaran:

Output di atas mengkonfirmasi bahwa playbook telah berhasil dijalankan. Untuk memverifikasi hasil, jalankan perintah ad-hoc berikut,

$ ansible dev -m shell -a 'dpkg -l | grep -E "php|mariadb"'
$ ansible prod -m shell -a 'rpm -qa | grep -E "php|mariadb"'

Itu menyimpulkan artikel. Jika Anda menemukan artikel ini informatif, jangan ragu untuk membagikannya. Jika Anda memiliki pertanyaan, silakan tulis di bagian komentar di bawah.

Baca Juga :Cara Menggunakan Handler di Ansible Playbook


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 Minikube di Ubuntu 20.04 LTS / 21.04

  2. Cara Menginstal Spotify di Ubuntu 18.04 LTS

  3. Cara Menginstal Prometheus di Ubuntu 18.04 LTS