Hvordan installere og konfigurere en Ansible Control Node - Del 2
I forrige emne lærer du om grunnleggende Ansible-terminologier og grunnleggende konsepter. I dette emnet (del 2 av Ansible-serien) vil vi demonstrere hvordan du kan installere og konfigurere en Ansible-kontrollnode på RHEL 8.
I oppsettet vårt skal vi bruke 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
Hva er en Ansible Control Node?
En kontrollnode er en Linux-server som har Ansible installert på den og brukes til å administrere eksterne verter eller noder. Disse eksterne systemene er kjent som Managed Hosts eller Managed nodes.
I oppsettet ovenfor er kontrollnoden RHEL 8-serveren som Ansible vil bli installert på og Debian 10 og CentOS 8< er de administrerte vertene.
MERK: Ansible er bare installert på kontrollnoden og ikke de administrerte vertene.
Trinn 1: Installere Python 3
Som standard kommer RHEL 8 med Python 3, og du kan bekrefte versjonen av Python som er installert på serveren din ved å kjøre.
python3 -V
Hvis Python3 av en eller annen grunn ikke er installert, installer den ved å bruke følgende dnf-kommando.
dnf install python3
Hvis det finnes flere versjoner av Python på RHEL 8-systemet ditt, kan du angi Python 3 som standard Python-versjon ved å løpe.
alternatives --set python /usr/bin/python3
Trinn 2: Aktiver det offisielle RedHat-depotet
Etter å ha installert Python3, sørg for at du har aktivert RedHats offisielle depot for Ansible som vist nedenfor.
subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms
MERK: For at kommandoen ovenfor skal fungere, sørg for at du har registrert ditt RHEL 8 for RedHat-abonnement.
Trinn 3: Installer Ansible på RHEL 8
For å installere Ansible på kontrollnoden som er RHEL 8-systemet vårt, kjør kommandoen.
dnf install ansible -y
Når den er installert, kan du sjekke versjonen av Ansible installert ved å kjøre kommandoen.
ansible --version
Trinn 4: Opprette en statisk vertsinventarfil
Så langt har vi installert ansible på Control Node som er vår RHEL 8-server. De eksterne nodene som skal administreres av kontrollnoden, må defineres i en fil kalt inventory-filen. Inventarfilen er en ren tekstfil som ligger på kontrollnoden og består av de eksterne vertenes vertsnavn eller IP-adresser.
En statisk vertsfil er en ren tekstfil som inneholder en liste over administrerte noder definert av deres IP-adresser eller vertsnavn. La oss lage en statisk fil «hosts» i katalogen /etc/ansible/.
vi /etc/ansible/hosts
Deretter definerer du en gruppe eller grupper for de administrerte vertene dine. Vi har 2 administrerte verter som tidligere sett i oppsettet ved introduksjonen av dette emnet. Fra oppsettet vil den statiske vertsfilen bli definert som følger:
[webserver]
192.168.0.15
[database_server]
192.168.0.200
Lagre og avslutt inventarfilen.
Slik kjører du administrerte verter:
ansible all -i hosts --list-hosts
Så langt har vi klart å installere Ansible i kontrollnoden og definere de administrerte vertene i en statisk vertsfil som ligger på kontrollnoden.
Deretter skal vi se hvordan vi kan administrere eller kontrollere våre eksterne eller administrerte verter.
Trinn 5: Konfigurer Ansible Control Node for å koble til de eksterne nodene
For Ansible kontrollnoden (RHEL 8) for å administrere de eksterne vertssystemene (Debian 10 og CentOS 8) vi må sette opp passordløs SSH-autentisering til de eksterne vertene. For at dette skal skje, må du generere et SSH-nøkkelpar og lagre den offentlige nøkkelen til de eksterne nodene.
På Ansible-kontrollnoden logger du på som en vanlig bruker og generer SSH-nøkkelparet ved å kjøre kommandoen.
su tecmint
ssh-keygen
Deretter kopierer du den offentlige ssh-nøkkelen til eksterne noder som vist.
ssh-copy-id [email (For Debian 10 node)
ssh-copy-id [email (For CentOS 8 node)
Etter å ha lagt til de offentlige nøklene til alle våre eksterne noder, skal vi utstede en ping-kommando fra Ansible Control-noden for å sikre at de er tilgjengelige.
ansible -m ping all
Fra utgangen ovenfor kan vi tydelig se at ping-kommandoen var vellykket, og vi var i stand til å teste tilgjengeligheten til alle nodene.
Konklusjon
I denne veiledningen har vi installert og satt opp Ansible på kontrollnoden som kjører RHEL 8. Vi definerte senere de eksterne vertene i en statisk vertsfil og konfigurerte kontrollnoden til å koble til og kontrollere de administrerte vertene ved å sette opp SSH-passordløs autentisering.