ansible tutorial installation
Hands-on Ansible Tutorial med Ansible installation, brug og konfiguration med Ansible Modules:
Vi diskuterede om AWS elastisk bønnestængel i vores tidligere tutorial.
LISTE over vejledninger i denne seriøse serie:
Tutorial # 1: Anvendelig installation og moduler
Tutorial # 2: Ansible Playbooks og Vaults
Tutorial # 3: Ansible roller og integration med Jenkins
Ansible er et open source-værktøj, der hjælper med opgaveautomatisering, implementering af applikationer, cloud provisioning og konfigurationsstyring.
Læs også => DevOps-træningsliste over øvelser
Så vi taler om it-orkestrering, hvor opgaver køres i rækkefølge på flere forskellige maskiner eller servere.
Ansible gør dette ved at oprette forbindelse til flere maskiner via SSH og køre de opgaver, der er konfigureret i playbøger og bruger et simpelt sprog kaldet YAML (Yet Another Markup Language) .
Hvad du lærer:
- Oversigt over Ansible
- Anvendelig installationsproces
- Anvendelig anvendelse
- Ansible moduler
- Resumé
- Anbefalet læsning
Oversigt over Ansible
Vigtigst af alt bruger Ansible ikke en agent til at automatisere opgaver på forskellige maskiner.
Ansible sørger for at opretholde nøjagtige versioner og opdaterede oplysninger til softwarepakkerne.
For eksempel , hvis du vil installere JDK 8 eller Tomcat eller en hvilken som helst anden softwarepakke i 10 eller 20 forskellige maskiner, er det faktisk ikke muligt at gå til alle maskinerne og installere dem, men brug Ansible til at automatisere installationen eller endda softwareinstallationer ved hjælp af Playbooks og Inventory skrevet på et meget simpelt sprog.
Så Ansible er:
- Gratis og open source
- Vedligeholdt af Redhat
- I det væsentlige en serverkonfiguration
- Konfigurationsstyring
I denne 3-delige Ansible Tutorial-serie vil vi diskutere praktisk tilgang til følgende emner:
- Installations- og konfigurationsproces
- Beholdning
- Ansible moduler
- Ad-hoc kommandoer,
- Opgaveautomatisering ved hjælp af playbooks
- Synlige roller
- Synlig hvælving
- Ansible og AWS
Anvendelig installationsproces
Ansible kan installeres og køres fra enhver maskine.
Typisk har du brug for en Kontrol maskine til installation, som skal være Linux. Windows-maskine understøtter ikke at være en kontrolmaskine. Kontrolmaskinen styrer de andre fjernmaskiner. Som tidligere nævnt bruger Ansible SSH til at styre eksterne maskiner.
I løbet af denne tutorial bruger jeg AWS EC2-forekomster til at fremvise eksemplerne. Jeg har brugt to forekomster (en kontrolmaskine og en anden som et mål for automatisering af opgaver) og Redhat Linux 7.5.
Uanset om det er lokale eller skyforekomster, skal du åbne porte passende baseret på de opgaver, der automatiseres. Jeg har følgende porte åbne som en del af sikkerhedsgruppen for EC2-forekomsterne for at demonstrere eksemplerne nævnt i vejledningen.
systemovervågningsværktøjer til Windows 10
På ovenstående skærm har jeg nævnt åbningsport 8080, da jeg vil vise om automatisering af softwareinstallationsautomatisering ved hjælp af Tomcat, hvilket vil være nyttigt fra DevOps-synspunkt, især under den kontinuerlige leveringsproces.
Installation af Ansible ved hjælp af YUM
Som tidligere nævnt bruger jeg en kontrolmaskine og en målmaskine. For at starte med installationen skal du udføre trinnene som vist nedenfor på begge maskiner.
til) Opret et fælles id på begge maskiner til Eksempel , ansible med SUDO-privilegier. Dette id vil blive brugt til at kommunikere på tværs af alle de involverede maskiner til automatisering af opgaver.
# useradd ansible # passwd ansible
b) Rediger / etc / ssh / sshd_config fil på kontrol maskine og fjerne kommentarer til linjerne for PasswordAuthentication and PermitRootLogin
Udfør ovenstående trin på begge maskiner. Når du er færdig, skal du genstarte sshd service på begge maskiner.
# systemctl restart sshd
c) For fuldstændig automatisering af opgaver har vi brug for adgangskodeløs SSH-godkendelse, ellers bruges hele processen ikke, hvis du skal indtaste adgangskoden hver gang.
Så send de ændringer, der er udført ovenfor, hvis vi kører kommandoen ssh og ssh, skal vi indtaste adgangskoden hver gang, hvilket ikke er den rigtige procedure til at udføre Ansible-opgaver.
d) For at aktivere adgangskodeløs godkendelse for at udføre nedenstående trin. Tilføj først brugeren ansible til / etc / sudoers fil på begge maskiner, der gør det muligt for brugeren ansible at køre enhver kommando, der kræver root-rettigheder.
Gem og afslut filen efter tilføjelse af brugeren.
er) Fremadrettet bruger vi brugeren ansible at udføre alle trin. Så skift til brugeren ansible.
Kontrol maskine egnet AN Målmaskine passende
Kontrol maskine ssh-keygen
Målmaskine ssh-keygen
Kopier ssh-nøglen til målmaskinen og omvendt.
Kontrol maskine ssh-kopi-id
Målmaskine ssh-kopi-id
hvor er apk-filen i android
Vi er nu i stand til at logge ind uden at indtaste adgangskoden. Efter udtjekningen af ssh-forbindelsen på begge maskiner og være logget ind som anselig bruger.
Kontrol maskine: ssh ansible @
Målmaskine: ssh ansible @
f) Installer wget, hvis det ikke er installeret på begge maskiner.
$ sudo yum install wget -y
g) Vi kan nu installere ansible kun på kontrolmaskinen ved at aktivere EPEL repo fra fedora, der leverer add-on softwarepakker. Udfør følgende trin for at installere ANSIGT.
$ wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo rpm -ivh epel-release-latest-7.noarch.rpm $ sudo yum install ansible -y $ ansible --version
Den anvendte ansible version er 2.5.3
h) Rediger ansible.cfg fil og aktiver lagerparameterparameteren på kontrolmaskinen.
$ sudo vi /etc/ansible/ansible.cfg
jeg) Ansible bruger begrebet Inventory til at styre og spore målmaskinerne. Denne fil er som standard placeret i / etc / ansible / hosts og kan også ændres. En værtsfil består af grupper til bedre klassificering og flere maskiner under gruppen. Alle de nødvendige maskiner kan føjes til disse grupper.
Hver gruppe er betegnet med en firkantet parentes og et gruppenavn indeni. En server kan faktisk eksistere i flere grupper.
Rediger lagerfilen / etc / ansible / hosts og tilføj alle de servere, der skal styres.
j) For at teste forbindelsen mellem serverne under webserverens gruppe skal du køre ansible ping kommando som vist. Her ping er et modul, der udfører en bestemt funktion for at teste, om værterne kan forbindes som defineret i lagerfilen eller ej. Vi vil se mere om forskellige moduler og dens eksempler i det næste afsnit.
$ ansible webservers –m ping
For at liste værterne i lagerfilen kan du køre kommandoen nedenfor
$ ansible webservers --list-hosts
Anvendelig anvendelse
Ansible består af 3 hovedkomponenter
- Kontrol maskine
- Beholdning
- Playbook
Kontrolmaskinen administrerer udførelsen af Playbook. Det kan installeres på din bærbare computer eller på en hvilken som helst maskine på internettet.
Inventariefilen giver en komplet liste over alle de målmaskiner, som forskellige moduler køres på, ved at udføre en ssh-forbindelse og installere den nødvendige software.
Afspilningsbogen består af trin, som kontrolmekanismen udfører på de servere, der er defineret i lagerfilen.
Meget vigtigt at forstå her er, at Ansible interagerer med alle de servere, der er defineret i beholdningen gennem SSH-protokollen, som er en sikker metode til fjernlogin. Hver operation udføres, og filoverførslen krypteres.
Så som du ville have set i det foregående afsnit, bruger Ansible ikke nogen form for database til installation og er meget let at installere, vil vi nu fortsætte med den faktiske brug af Ansible startende med moduler, som er hovedbygningen.
Ansible moduler
Moduler er de vigtigste byggesten i Ansible og er dybest set genanvendelige scripts, der bruges af Ansible playbooks. Ansible leveres med et antal genanvendelige moduler. Disse inkluderer funktionalitet til styring af tjenester, installation af softwarepakke, arbejde med filer og mapper osv.
Syntaksen er som følger, mens ad-hoc-kommandoer køres, som hjælper med at køre enkelt eller enkle opgaver kun en gang, og som ikke behøver at køres senere. Til For eksempel. bare at installere Tomcat på alle servere.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
Lad os se på nogle af de mest populære Ansible-moduler og deres anvendelse gennem ad hoc-kommandoerne og senere i playbook.
# 1) Opsætningsmodul
For at få oplysninger om netværket eller hardware eller OS-version eller hukommelsesrelaterede oplysninger hjælper installationsmodulet med at samle det samme om målmaskinerne. På styringen kører maskinen nedenstående kommando.
$ ansible webservers –m setup
# 2) Kommandomodul
Kommandomodulet udfører simpelthen en bestemt kommando på målmaskinen og giver output.
Nogle af eksemplerne er angivet nedenfor
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Shell-modul
For at udføre en kommando i skallen efter eget valg kan du bruge Shell-modulet. Shell-modulkommandoerne køres i / bin / sh shell, og du kan gøre brug af operatorerne som '>' eller '|' (rørsymbol eller endda miljøvariabler.
Så primært er forskellen mellem Shell- og Command-modulet, at hvis du faktisk ikke behøver at bruge operatorerne som de nævnte, så kan du bruge kommandomodulet.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
På maskinerne under webservere gruppe skal du kontrollere, om filen er oprettet, og køre kommandoen for at se tekstfilen.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Brugermodul
Ved hjælp af dette modul kan man oprette eller slette brugere.
For at tilføje bruger
$ ansible webservers -m user -a 'name=user1 password=user1' --become
For at slette bruger
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Muligheder:
- blive - Rettigheder til superbrugeren til at køre kommandoen
- tilstand = fraværende for at slette brugeren
# 5) Filmodul
Dette modul bruges til at oprette filer, mapper, indstille eller ændre filtilladelser og ejerskab osv
Eksempel 1: Opret en fil
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
Eksempel 2: Opret en mappe
For at oprette et bibliotek ved hjælp af filmodulet skal du indstille to parametre.
- Sti (alias - navn, dest) - Dette er den absolutte sti til den mappe, der skal oprettes.
- Stat - Du skal indtaste værdien som 'bibliotek.' Som standard er værdien 'fil'.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
Eksempel 3: Slet en fil
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Eksempel 4: Slet et bibliotek
Du kan slette et bibliotek ved at indstille tilstandsparameterværdien til fraværende . Kataloget og alt dets indhold slettes.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
hvordan man håndterer vanskelige situationer på arbejdspladsen
# 6) Kopimodul
Det bruges til at kopiere filer til flere målmaskiner.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Administration af softwarepakker
Hvis du har brug for at installere softwarepakker via 'yum' eller 'apt', kan du bruge nedenstående kommandoer.
Eksempel 1: Installer GIT
$ ansible webservers –m yum -a “name=git state=present” --become
I højre vindue kan du se, om git ikke er installeret, det giver kommandoen, der ikke blev fundet, og når den er installeret, vises den output.
I denne kommando, tilstand = til stede vil kontrollere, om pakken er installeret eller ej, og hvis den ikke er installeret, installerer den den nyeste version.
Eksempel 2: Kontroller, om pakken er installeret, og opdater den til den nyeste version.
$ ansible webservers -m yum -a “name=git state=latest”
I ovenstående kommando, tilstand = seneste opdaterer kun pakken til den nyeste version.
Eksempel 3: Installer Apache Webserver
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Eksempel 4: Kontroller, om Maven er installeret eller ej.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Administration af servicemodul
For at administrere tjenester med ansible bruger vi et modul 'service'.
Start af en tjeneste
$ ansible webservers -m service -a “name=httpd state=started” --become
Stop en tjeneste
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Genstart af en tjeneste
$ ansible webservers -m service -a “name=httpd state=restarted --become
Klik på her for at få listen over komplette moduler.
Resumé
I denne vejledning introducerede jeg dig til de grundlæggende koncepter og komponenter i Ansible, og vi har også set mere om installation, konfiguration og brug af Ansible ved hjælp af Ansible-moduler, som er hovedkomponenten i Ansible-udførelse.
I vores kommende tutorial vil vi fokusere på det meget vigtige aspekt ved at skrive playbooks til opgaveautomatisering og Ansible-hvælvinger for at opbevare følsomme data i krypterede filer.
PREV-vejledning | NÆSTE vejledning
Anbefalet læsning
- Dybdegående formørkelsesvejledninger til begyndere
- Ansible roller, integration med Jenkins i DevOps og EC2-moduler
- Opgaveautomatisering ved hjælp af anvendelige playbøger og svarbare hvælvinger med eksempler
- Trin-for-trin installation og opsætning af Appium Studio
- Introduktion til Java-programmeringssprog - Videovejledning
- WebDriver hele opsætningen og installationen med Eclipse - Selenium-tutorial # 9
- Jira Download og installation med Jira License Setup
- Python introduktion og installationsproces