GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie Ansible unter Oracle Linux 8

Ansible ist eine kostenlose Open-Source-Automatisierungsplattform, die von Systemadministratoren verwendet wird, um mehrere Systeme gleichzeitig zu installieren, zu konfigurieren und bereitzustellen. Heutzutage sind IT-Umgebungen sehr komplex und müssen oft extrem schnell skaliert werden. Die Automatisierung erleichtert die Arbeit von Systemadministratoren und Entwicklern und ermöglicht es ihnen, sich auf andere Aufgaben zu konzentrieren, die einen Mehrwert für ein Unternehmen darstellen. Ansible ist sehr einfach einzurichten und zu verwenden; Sie benötigen keine Programmierkenntnisse, um Ansible zu verwenden.

In diesem Beitrag zeigen wir Ihnen, wie Sie Ansible auf Oracle Linux 8 installieren.

Voraussetzungen

  • Server mit Oracle Linux 8 auf der Atlantic.Net Cloud Platform. Dies wird Ihr Manager-Knoten sein
  • Ein zweiter Server, auf dem Oracle Linux 8 auf der Atlantic.Net Cloud Platform ausgeführt wird. Dies wird Ihr Worker-Knoten sein
  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Schritt 1 – Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Oracle Linux 8 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

dnf update -y

Schritt 2 – Richten Sie eine SSH-Schlüssel-basierte Authentifizierung ein

Bevor Sie beginnen, müssen Sie eine passwortlose SSH-Anmeldung zwischen dem Ansible-Steuerknoten und dem Manager-Knoten einrichten. Sie können dies tun, indem Sie eine SSH-Schlüssel-basierte Authentifizierung einrichten.

Generieren Sie zunächst einen privaten und öffentlichen Schlüssel mit dem folgenden Befehl:

ssh-keygen -t rsa

Sie sollten die folgende Ausgabe sehen:

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]-----+

Kopieren Sie als Nächstes den generierten öffentlichen Schlüssel mit dem folgenden Befehl auf die von Ansible verwalteten Knoten:

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

Sie sollten die folgende Ausgabe sehen:

/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.

Führen Sie nun den folgenden Befehl aus, um die passwortlose SSH-Anmeldung zu testen:

ssh [email protected]

Schritt 3 – Ansible auf Oracle Linux 8 installieren

Jetzt müssen Sie das Ansible-Paket auf dem Ansible-Steuerknoten installieren. Standardmäßig ist das Ansible-Paket nicht im Standard-Repository von Oracle Linux 8 verfügbar, daher müssen Sie es aus dem EPEL-Repository installieren.

Installieren Sie zuerst das EPEL-Repo mit dem folgenden Befehl:

dnf install -y epel-release

Installieren Sie als Nächstes das Ansible-Paket mit dem folgenden Befehl:

dnf install ansible -y

Überprüfen Sie nach der Installation von Ansible die Ansible-Version mit dem folgenden Befehl:

ansible --version

Sie sollten die folgende Ausgabe sehen:

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)]

Schritt 4 – Ansible-Hosts konfigurieren

Als Nächstes müssen Sie die Ansible-Hosts-Konfigurationsdatei bearbeiten und den Remote-Linux-Server definieren, den Sie verwalten möchten.

Sie können es mit dem folgenden Befehl bearbeiten:

nano /etc/ansible/hosts

Fügen Sie die folgenden Zeilen hinzu:

[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

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Bearbeiten Sie als Nächstes die Ansible-Konfigurationsdatei und deaktivieren Sie die Verfallswarnungen und die Überprüfung des Hostschlüssels:

nano /etc/ansible/ansible.cfg

Fügen Sie die folgende Zeile unter [defaults] hinzu:

deprecation_warnings=False
host_key_checking = False

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Schritt 5 – Verwendung von Ansible

An diesem Punkt ist Ansible installiert und konfiguriert. Jetzt müssen Sie die Funktionalität von Ansible mit den Ad-hoc-Befehlen von Ansible überprüfen:

Überprüfen Sie zunächst die Konnektivität aller verwalteten Knoten mit dem folgenden Befehl:

ansible -m ping all

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe sehen:

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"
}

Wenn Sie nur die Konnektivität des Datenbankservers überprüfen möchten, führen Sie den folgenden Befehl aus:

ansible -m ping database

Sie erhalten die folgende Ausgabe:

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

Führen Sie den folgenden Befehl aus, um den freien Speicher auf dem Webserverknoten zu überprüfen:

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

Sie erhalten die folgende Ausgabe:

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

Führen Sie den folgenden Befehl aus, um die MySQL-Version auf dem Datenbankserverknoten zu überprüfen:

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

Sie sollten die folgende Ausgabe sehen:

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

Schritt 6 – Ansible Playbook erstellen, um Pakete auf verwalteten Knoten zu installieren

Mit Ansible können wir ein Playbook erstellen, um alle Aufgaben zu definieren, die wir auf den verwalteten Knoten ausführen möchten. Erstellen Sie zunächst ein Verzeichnis zum Speichern Ihres Playbooks.

mkdir project

Navigieren Sie als Nächstes zum erstellten Verzeichnis und erstellen Sie mit dem folgenden Befehl eine YAML-Datei:

cd project
nano app.yaml

Fügen Sie die folgende Konfiguration hinzu:

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

Speichern und schließen Sie die Datei und führen Sie dann das Playbook mit dem folgenden Befehl aus:

ansible-playbook app.yaml

Sobald das Ansible-Playbook erfolgreich ausgeführt wird, erhalten Sie die folgende Ausgabe:

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   

Sie können jetzt die PHP-Version auf dem Webserver-Knoten mit dem folgenden Befehl überprüfen:

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

Sie erhalten die folgende Ausgabe:

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

Schlussfolgerung

In diesem Handbuch haben wir erklärt, wie Ansible unter Oracle Linux 8 installiert wird. Wir haben auch erklärt, wie Sie Ad-hoc-Befehle und Playbook von Ansible verwenden, um verwaltete Knoten bereitzustellen. Sie können jetzt Ansible verwenden, um Ihre gesamte IT-Infrastruktur einfach bereitzustellen und zu verwalten. Probieren Sie es auf VPS-Hosting von Atlantic.Net aus!


Linux
  1. So installieren und testen Sie Ansible unter Linux

  2. So installieren Sie Ansible unter CentOS 8 Linux

  3. So installieren Sie Ansible unter Linux Mint 20

  4. So installieren Sie Apache Cassandra unter Oracle Linux 8

  5. So installieren Sie Apache Maven unter Oracle Linux 8

So installieren Sie FreeOffice unter Linux

So installieren Sie Apache Solr unter Oracle Linux 8

So installieren Sie GitLab CE auf Oracle Linux 8

So installieren Sie OpenCart auf Oracle Linux 8

So installieren Sie Joomla auf Oracle Linux 8

So installieren Sie Ansible unter Linux Mint 20