Sådan installeres og konfigureres en svær kontrolknude - del 2
I det forrige emne lærer du om grundlæggende Ansible terminologier og grundlæggende begreber. I dette emne (del 2 i Ansible-serien) demonstrerer vi, hvordan du kan installere og konfigurere en Ansible-kontrolknude på RHEL 8.
I vores opsætning skal vi bruge 1 Ansible server og 2 eksterne Linux-noder:
Control Node 1: RHEL 8 Server IP: 192.168.0.108 Ansible Server Managed Host 1: Debian 10 IP: 192.168.0.15 Webserver Managed Host 2: CentOS 8 IP: 192.168.0.200 Database Server
En kontrolknude er en Linux-server, der har Ansible installeret og bruges til styring af eksterne værter eller noder. Disse eksterne systemer er kendt som Managed Hosts eller Managed nodes.
I ovenstående opsætning er kontrolknudepunktet RHEL 8-serveren, hvor Ansible skal installeres, og Debian 10 & CentOS 8 er de administrerede værter.
BEMÆRK: Ansible er kun installeret på kontrolknudepunktet og ikke de administrerede værter.
Trin 1: Installation af Python 3
Som standard leveres RHEL 8 med Python 3, og du kan kontrollere den version af Python, der er installeret på din server, ved at køre.
# python3 -V
Hvis Python3 af en eller anden grund ikke er installeret, skal du installere det ved hjælp af følgende dnf-kommando.
# dnf install python3
Hvis der findes flere versioner af Python på dit RHEL 8-system, kan du indstille Python 3 som standard Python-version ved at køre.
# alternatives --set python /usr/bin/python3
Trin 2: Aktivér det officielle RedHat-arkiv
Efter installation af Python3 skal du sikre dig, at du har aktiveret RedHats officielle lager for Ansible som vist nedenfor.
# subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms
BEMÆRK: For at ovenstående kommando skal fungere, skal du sikre dig, at du har registreret din RHEL 8 til RedHat-abonnement.
Trin 3: Installer Ansible på RHEL 8
For at installere Ansible på kontrolnoden, som er vores RHEL 8-system, skal du køre kommandoen.
# dnf install ansible -y
Når du er installeret, kan du kontrollere versionen af Ansible installeret ved at køre kommandoen.
# ansible --version
Trin 4: Oprettelse af en statisk værtsbeholdningsfil
Indtil videre har vi med succes installeret ansible på Control Node, som er vores RHEL 8-server. Fjernknudepunkterne, der skal styres af kontrolknudepunktet, skal defineres i en fil kaldet lagerfilen. Inventarfilen er en almindelig tekstfil, der ligger på kontrolknudepunktet og består af fjernværternes værtsnavne eller IP-adresser.
En statisk værtsfil er en almindelig tekstfil, der indeholder en liste over administrerede noder defineret af deres IP-adresser eller værtsnavne. Lad os oprette en statisk fil 'værter' i/etc/ansible/biblioteket.
# vi /etc/ansible/hosts
Definer derefter en eller flere grupper til dine administrerede værter. Vi har 2 administrerede værter som tidligere set i opsætningen ved introduktionen af dette emne. Fra opsætningen defineres den statiske værtsfil som følger:
[webserver] 192.168.0.15 [database_server] 192.168.0.200
Gem og luk lagerfilen.
Sådan vises en liste over administrerede værter, der køres:
# ansible all -i hosts --list-hosts
Indtil videre er det lykkedes os at installere Ansible i kontrolknudepunktet og definere de administrerede værter i en statisk værtsfil, der findes på kontrolknudepunktet.
Dernæst skal vi se, hvordan vi kan styre eller styre vores eksterne eller administrerede værter.
Trin 5: Opsæt den anvendelige kontrolknude til at oprette forbindelse til fjernknudepunkterne
For at Ansible-kontrolknudepunktet (RHEL 8) skal styre fjernværtssystemerne (Debian 10 og CentOS 8), skal vi konfigurere adgangskodeløs SSH-godkendelse til fjernværterne. For at dette kan ske, skal du generere et SSH-nøglepar og gemme den offentlige nøgle til de eksterne knudepunkter.
På Ansible-kontrolknudepunktet skal du logge ind som en normal bruger og generere SSH-nøgleparet ved at køre kommandoen.
# su tecmint $ ssh-keygen
Kopier derefter den offentlige ssh-nøgle til eksterne noder som vist.
$ ssh-copy-id [email (For Debian 10 node) $ ssh-copy-id [email (For CentOS 8 node)
Efter at have tilføjet de offentlige nøgler til alle vores fjernknudepunkter udsteder vi en ping-kommando fra Ansible Control-noden for at sikre, at de er tilgængelige.
$ ansible -m ping all
Fra ovenstående output kan vi tydeligt se, at ping-kommandoen var vellykket, og vi var i stand til at teste tilgængelighed til alle knudepunkter.
I denne vejledning installerede og konfigurerede vi Ansible på kontrolnoden, der kører RHEL 8. Vi definerede senere fjernværterne i en statisk værtsfil og konfigurerede kontrolnoden til at oprette forbindelse til og styre de administrerede værter ved at opsætte SSH-adgangskodeløs godkendelse.