GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal Ansible di Oracle Linux 8

Ansible adalah platform otomatisasi sumber terbuka dan gratis yang digunakan oleh administrator sistem untuk menginstal, mengonfigurasi, dan menyediakan beberapa sistem sekaligus. Saat ini lingkungan TI sangat kompleks dan seringkali perlu ditingkatkan dengan sangat cepat. Otomatisasi membuat pekerjaan administrator sistem dan pengembang lebih mudah, dan memungkinkan mereka untuk memusatkan perhatian pada tugas lain yang menambah nilai bagi organisasi. Ansible sangat mudah diatur dan digunakan; Anda tidak memerlukan keahlian coding untuk menggunakan Ansible.

Dalam posting ini, kami akan menunjukkan cara menginstal Ansible di Oracle Linux 8.

Prasyarat

  • Server yang menjalankan Oracle Linux 8 di Atlantic.Net Cloud Platform. Ini akan menjadi Node Manajer Anda
  • Server kedua yang menjalankan Oracle Linux 8 di Atlantic.Net Cloud Platform. Ini akan menjadi Node Pekerja Anda
  • Kata sandi root yang dikonfigurasi di server Anda

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Oracle Linux 8 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

dnf update -y

Langkah 2 – Siapkan Otentikasi Berbasis Kunci SSH

Sebelum memulai, Anda perlu mengatur login tanpa kata sandi SSH antara node kontrol Ansible dan node manajer. Anda dapat melakukannya dengan menyiapkan autentikasi berbasis kunci SSH.

Pertama, buat kunci privat dan publik menggunakan perintah berikut:

ssh-keygen -t rsa

Anda akan melihat output berikut:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0qOchzAC0Asm8WPlduL7ZxN6C5NUelScBo2nYVuqPMs [email protected]
The key's randomart image is:
+---[RSA 3072]----+
|oo  .   .=..     |
|+o.o    +.B      |
|+.+.+ ..oO       |
| o.+ o =+        |
|  . +.+.S        |
|   . *+B..       |
|    ..O+..       |
|     .E+=        |
|      .+.o       |
+----[SHA256]-----+

Selanjutnya, salin kunci publik yang dihasilkan ke node terkelola Ansible menggunakan perintah berikut:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Anda akan melihat output berikut:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
ECDSA key fingerprint is SHA256:4K4sZbu1hLHzDGlwmWAJng6nDbxDqp6hnv65KDaOAn0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]<server-ip>'"
and check to make sure that only the key(s) you wanted were added.

Sekarang, jalankan perintah berikut untuk menguji login tanpa kata sandi SSH:

ssh [email protected]

Langkah 3 – Instal Ansible di Oracle Linux 8

Sekarang, Anda perlu menginstal paket Ansible pada node kontrol Ansible. Secara default, paket Ansible tidak tersedia di repo default Oracle Linux 8, jadi Anda harus menginstalnya dari repo EPEL.

Pertama, instal repo EPEL menggunakan perintah berikut:

dnf install -y epel-release

Selanjutnya, instal paket Ansible menggunakan perintah berikut:

dnf install ansible -y

Setelah Ansible diinstal, verifikasi versi Ansible dengan perintah berikut:

ansible --version

Anda akan melihat output berikut:

ansible 2.9.27
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.6.8 (default, Nov 10 2021, 06:50:23) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3.0.2)]

Langkah 4 – Konfigurasikan Host yang Memungkinkan

Selanjutnya, Anda perlu mengedit file konfigurasi Ansible hosts dan menentukan server Linux jarak jauh yang ingin Anda kelola.

Anda dapat mengeditnya dengan perintah berikut:

nano /etc/ansible/hosts

Tambahkan baris berikut:

[web]
server1 ansible_ssh_host=<manager-node-ip> ansible_ssh_port=22 ansible_ssh_user=root

[database]
dbserver1 ansible_ssh_host=<worker-node-ip> ansible_ssh_port=22 ansible_ssh_user=root

Simpan dan tutup file setelah Anda selesai.

Selanjutnya, edit file konfigurasi Ansible dan nonaktifkan peringatan penghentian dan pemeriksaan kunci host:

nano /etc/ansible/ansible.cfg

Tambahkan baris berikut di bawah [default]:

deprecation_warnings=False
host_key_checking = False

Simpan dan tutup file setelah Anda selesai.

Langkah 5 – Cara Menggunakan Ansible

Pada titik ini, Ansible diinstal dan dikonfigurasi. Sekarang, Anda perlu memeriksa fungsionalitas Ansible menggunakan perintah ad-hoc Ansible:

Pertama, periksa konektivitas semua node yang dikelola menggunakan perintah berikut:

ansible -m ping all

Jika semuanya baik-baik saja, Anda akan melihat output berikut:

dbserver1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
server1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Jika Anda hanya ingin memeriksa konektivitas server database, jalankan perintah berikut:

ansible -m ping database

Anda akan mendapatkan output berikut:

dbserver1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Untuk memeriksa memori kosong pada node server web, jalankan perintah berikut:

ansible -m shell -a "free -m" web

Anda akan mendapatkan output berikut:

server1 | CHANGED | rc=0 >>
              total        used        free      shared  buff/cache   available
Mem:           1817         621         210          21         985        1006
Swap:             0           0           0

Untuk memeriksa versi MySQL pada node server database, jalankan perintah berikut:

ansible -m shell -a "mysqladmin --version" database

Anda akan melihat output berikut:

dbserver1 | CHANGED | rc=0 >>
mysqladmin  Ver 8.0.26 for Linux on x86_64 (Source distribution)

Langkah 6 – Buat Playbook yang Memungkinkan untuk Menginstal Paket pada Node Terkelola

Ansible memungkinkan kami membuat buku pedoman untuk menentukan semua tugas yang ingin kami lakukan pada node yang dikelola. Pertama, buat direktori untuk menyimpan buku pedoman Anda.

mkdir project

Selanjutnya, navigasikan ke direktori yang dibuat dan buat file YAML menggunakan perintah berikut:

cd project
nano app.yaml

Tambahkan konfigurasi berikut:

- name: Install Packages
  hosts:
    - web
    - database
  tasks:
  - name: Install php and nginx
    package:
      name:
        - php
        - httpd
      state: present

Simpan dan tutup file, lalu jalankan playbook menggunakan perintah berikut:

ansible-playbook app.yaml

Setelah playbook Ansible berhasil dijalankan, Anda akan mendapatkan output berikut:

PLAY [Install Packages] **********************************************************************************************************************

TASK [Gathering Facts] ***********************************************************************************************************************
ok: [server1]
ok: [dbserver1]

TASK [Install php and apache] ****************************************************************************************************************
ok: [server1]
changed: [dbserver1]

PLAY RECAP ***********************************************************************************************************************************
dbserver1                  : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
server1                    : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Anda sekarang dapat memverifikasi versi PHP pada node server web menggunakan perintah berikut:

ansible -m shell -a "php -v" web

Anda akan mendapatkan output berikut:

server1 | CHANGED | rc=0 >>
PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Kesimpulan

Dalam panduan ini, kami menjelaskan cara menginstal Ansible di Oracle Linux 8. Kami juga menjelaskan cara menggunakan perintah ad-hoc Ansible dan buku pedoman untuk menyediakan node yang dikelola. Anda sekarang dapat menggunakan Ansible untuk menyediakan dan mengelola seluruh infrastruktur TI Anda dengan mudah. Cobalah di hosting VPS dari Atlantic.Net!


Linux
  1. Cara menginstal Python di Linux

  2. Cara menginstal Java di Linux

  3. Cara Menginstal Oracle Java 10 Di Arch Linux

  1. Cara Menginstal dan Menguji Ansible di Linux

  2. Cara Menginstal Oracle Java JDK 17 di Linux

  3. Cara Instal Apache Cassandra di Oracle Linux 8

  1. Cara menginstal Ansible di CentOS 8 Linux

  2. Cara Menginstal Ansible di Linux Mint 20

  3. Cara Menginstal Apache Maven di Oracle Linux 8