Netværkstopologi:
Her, den linuxhint-711ea er en Ubuntu 20.04 LTS-maskine, hvor jeg vil installere Ansible.
Derefter konfigurerer jeg værterne vært1 (IP-adresse 192.168.20.162) og vært2 (IP-adresse 192.168.20.153) til Ansible automatisering og køre kommandoer på dem ved hjælp af Ansible fra linuxhint-711ea maskine.
Jeg vil bare ringe vært1 og vært2 som Ansible værter i denne artikel.
Installation af Ansible:
Du kan nemt installere Ansible på Ubuntu 20.04 LTS fra Ubuntu's officielle pakkelager.
Opdater først APT-pakkeopbevaringscachen med følgende kommando:
$ sudo apt opdatering
APT-pakkeopbevaringscachen skal opdateres.
Installer nu Ansible med følgende kommando:
$ sudo apt install ansible
Tryk på for at bekræfte installationen Y og tryk derefter på
Ansible skal installeres.
Kør nu følgende kommando for at kontrollere, om ansible fungerer korrekt.
$ ansible - versionSom du kan se, er ansible kommando tilgængelig og fungerer korrekt.
Genererer SSH-nøgle:
Nu skal du generere en SSH-nøgle på computeren, hvor du har installeret Ansible.
For at generere en SSH-nøgle skal du køre følgende kommando:
$ ssh-keygen
Nu skal du trykke på
Trykke
Trykke
Der skal genereres en SSH-nøgle.
Konfiguration af Ubuntu-værter til brugbar automatisering:
I dette afsnit vil jeg vise dig, hvordan du konfigurerer en Ubuntu-vært (vært1) til Ansible automatisering. Hvis du har mere end en vært, som du vil automatisere ved hjælp af Ansible, skal du gentage den samme proces på hver af værterne.
Ubuntu Ansible-værterne (som du vil konfigurere til Ansible-automatisering) skal have SSH-serverpakke installeret.
Opdater først APT-pakkeopbevaringscachen med følgende kommando:
$ sudo apt opdatering
Installer derefter OpenSSH-serveren med følgende kommando:
$ sudo apt installerer openssh-server -y
I mit tilfælde er OpenSSH-serverpakken allerede installeret. Hvis det ikke er installeret i dit tilfælde, skal det installeres.
Kontroller nu, om sshd tjenesten kører med følgende kommando:
$ sudo systemctl status sshdSom du kan se, er sshd tjenesten er aktiv (kører) og aktiveret (starter automatisk ved systemstart).
Hvis den sshd tjeneste er ikke aktiv (kører) i dit tilfælde skal du starte det manuelt med følgende kommando:
$ sudo systemctl start sshdHvis den sshd tjeneste er ikke aktiveret (ikke føjet til systemstart) i dit tilfælde skal du tilføje det til systemstart manuelt med følgende kommando:
$ sudo systemctl aktiver sshdKonfigurer nu firewallen til at tillade SSH-adgang med følgende kommando:
$ sudo ufw tillader ssh
Du skal også oprette en ansible bruger og tillade adgangskodeløs sudo-adgang til ansible bruger.
At oprette en ansible bruger, kør følgende kommando:
$ sudo adduser ansible
Indtast nu en adgangskode til ansible bruger og tryk på
Indtast nu adgangskoden igen, og tryk på
Nu skal du trykke på
Nu skal du trykke på
Nu skal du trykke på
Nu skal du trykke på
Nu skal du trykke på
Indtast nu y og tryk derefter på
En ansible bruger skal oprettes.
Konfigurer nu adgangskodeløs sudo-adgang til ansible bruger med følgende kommando:
$ echo "ansible ALL = (ALL) NOPASSWD: ALL" | sudo tee / etc / sudoers.d / ansible
Find nu IP-adressen til Ansible-værten (vært1) med følgende kommando:
$ værtsnavn -IHer er IP-adressen i mit tilfælde 192.168.20.162. Det vil være anderledes for dig. Så sørg for at erstatte den med din formular nu.
Kopier nu den offentlige SSH-nøgle fra den computer, hvor du har installeret Ansible, til den Ansible-vært (vært1) som følger:
$ ssh-copy-id ansible @ 192.168.20.162
Indtaste Ja og tryk på
Indtast nu adgangskoden til ansible bruger og tryk på
Den offentlige SSH-nøgle skal kopieres til vært1.
Deaktiver nu adgangskodebaseret login til ansible bruger med følgende kommando:
$ sudo usermod -L ansible
Nu kan du kun SSH i Ansible-værten (vært1) som ansible bruger uden adgangskode fra den computer, du har kopieret den offentlige SSH-nøgle fra (i dette tilfælde den computer, hvor du har installeret Ansible). Men du kan ikke SSH ind i Ansible-værten (vært1) som ansible bruger fra enhver anden computer. Jeg har konfigureret Ansible-værterne på denne måde af sikkerhedsmæssige årsager. Som den ansible bruger ikke brug for nogen adgangskode til at køre administrative kommandoer, det er risikabelt at tillade adgangskodebaseret login til ansible bruger.
Nu skal du kunne SSH ind i den ansible vært vært1 fra computeren, hvor du har installeret Ansible, som følger:
$ ssh ansible @ 192.168.20.162
Som du kan se, har jeg adgang til Ansible-værten (vært1) som anselig bruger uden adgangskode. Så den Ansible vært (vært1) er klar til Ansible automatisering.
Hvis du af en eller anden grund vil tillade adgangskodebaseret login til ansible bruger igen, kør følgende kommando i Ansible-værten (vært1):
$ sudo usermod -U ansible
Du kan konfigurere så mange værter, som du vil, til Ansible-automatisering på samme måde.
I denne artikel har jeg kun konfigureret 2 værter, vært1 og vært2 til demonstrationen.
Testbar:
Opret nu et nyt projektkatalog ~ / ansible-demo / på computeren, hvor du har installeret Ansible, som følger:
$ mkdir ~ / ansible-demo
Naviger nu til ~ / ansible-demo / katalog som følger:
$ cd ~ / ansible-demo /
Opret nu et nyt værter fil i projektmappen som følger:
$ nano værter
Indtast nu IP-adresserne eller DNS-navnene på Ansible-værterne (vært1 og vært2 i mit tilfælde) i værter fil som følger:
192.168.20.162192.168.20.153
Gem nu filen ved at trykke på
Prøv nu at pinge alle værterne ved hjælp af Ansible som følger:
$ ansible alle -i ./ hosts -u ansible -m pingBEMÆRK: Her bruges -u-indstillingen til at specificere det brugernavn (ansible i dette tilfælde), som Ansible vil bruge til SSH i værterne.
Som du kan se, kan alle værterne pinges. Så værterne er klar til Ansible-automatisering.
På samme måde kan du køre en hvilken som helst kommando i værterne ved hjælp af Ansible som følger:
$ ansible alle -i ./ hosts -u ansible -m shell -a 'echo "$ (hostname) - $ (hostname -I)"'
Som du kan se, kørte kommandoen med succes i hver af værterne, og output vises.
Så dette er, hvordan du installerer Ansible på Ubuntu 20.04 LTS og konfigurer Ubuntu 20.04 LTS-værter til Ansible automatisering. Tak, fordi du læste denne artikel.