ansible tutorial installation
Hands-on Ansible Tutorial med Ansible installasjon, bruk og konfigurasjon med Ansible Modules:
Vi diskuterte om AWS elastisk bønnestengel i vår forrige opplæring.
LISTE over opplæringsprogrammer i denne Ansible-serien:
Opplæring # 1: Ansiktsmontering og moduler
Opplæring # 2: Ansible lekebøker og hvelv
Opplæring # 3: Ansible Rolles and Integration with Jenkins
Ansible er et åpen kildekodeverktøy som hjelper til med automatisering av oppgaver, distribusjon av applikasjoner, klargjøring av sky og konfigurasjonsadministrasjon.
Les også => DevOps Training Tutorial liste
Så vi snakker om IT-orkestrering der oppgaver kjøres i rekkefølge i flere forskjellige maskiner eller servere.
Ansible gjør dette ved å koble til flere maskiner via SSH og kjører oppgavene som er konfigurert i spillbøker og bruker et enkelt språk som heter YAML (Yet Another Markup Language) .
Hva du vil lære:
- Oversikt over Ansible
- Ansible installasjonsprosesser
- Ansiktsbruk
- Ansible moduler
- Sammendrag
- Anbefalt lesing
Oversikt over Ansible
Viktigst av alt bruker Ansible ikke en agent for å automatisere oppgaver på forskjellige maskiner.
Ansible sørger for å opprettholde eksakte versjoner og oppdatert informasjon til programvarepakkene.
For eksempel , hvis du vil installere JDK 8 eller Tomcat eller en annen programvarepakke i 10 eller 20 forskjellige maskiner, er det faktisk ikke mulig å gå til alle maskinene og installere dem, men bruk Ansible for å automatisere installasjonen eller til og med programvaredistribusjoner ved hjelp av Playbooks and Inventory skrevet på et veldig enkelt språk.
Så Ansible er:
- Gratis og åpen kildekode
- Vedlikeholdt av Redhat
- I hovedsak en serverkonfigurasjon
- Konfigurasjonsstyring
I denne 3-delen Ansible Tutorial-serien vil vi diskutere praktisk tilnærming til følgende emner:
- Installasjons- og konfigurasjonsprosess
- Inventar
- Ansible moduler
- Ad-hoc-kommandoer,
- Oppgaveautomatisering ved hjelp av spillbøker
- Synlige roller
- Ansible hvelv
- Ansible og AWS
Ansible installasjonsprosesser
Ansible kan installeres og kjøres fra hvilken som helst maskin.
Vanligvis trenger du en Kontrollmaskin for installasjon som skal være Linux. Windows-maskin støtter ikke å være en kontrollmaskin. Kontrollmaskinen administrerer de andre eksterne maskinene. Som nevnt tidligere bruker Ansible SSH til å administrere eksterne maskiner.
Gjennom denne opplæringen vil jeg bruke AWS EC2-forekomster for å vise eksemplene. Jeg har brukt to forekomster (en kontrollmaskin og en annen som et mål for automatisering av oppgaver) og Redhat Linux 7.5.
Uansett om det er lokale eller skyforekomster, må du åpne porter riktig basert på oppgavene som blir automatisert. Jeg har følgende porter åpne som en del av sikkerhetsgruppen for EC2-forekomster for å demonstrere eksemplene nevnt i opplæringen.
beste dvd-dekryptereren for Windows 10
I skjermbildet ovenfor har jeg nevnt åpningsport 8080 da jeg skal vise om automatisering av programvaredistribusjonsautomatisering ved hjelp av Tomcat, noe som vil være nyttig fra DevOps-synspunkt, spesielt under den kontinuerlige leveringsprosessen.
Installasjon av Ansible ved hjelp av YUM
Som nevnt før vil jeg bruke en kontrollmaskin og en målmaskin. For å starte med installasjonen, utfør trinnene som vist nedenfor i begge maskinene.
til) Lag en felles ID på begge maskinene, for Eksempel , ansible med SUDO-privilegier. Denne ID-en vil bli brukt til å kommunisere på tvers av alle maskinene som er involvert for automatisering av oppgaver.
# useradd ansible # passwd ansible
b) Rediger / etc / ssh / sshd_config filen på kontrollmaskin og unkommentere linjene for PasswordAuthentication and PermitRootLogin
Utfør trinnene ovenfor på begge maskinene. Når du er ferdig, start på nytt sshd service på begge maskinene.
# systemctl restart sshd
c) For fullstendig automatisering av oppgaver trenger vi passordfri SSH-autentisering ellers vil ikke hele prosessen bli brukt hvis du må skrive inn passordet hver gang.
Så legg inn endringene som er gjort ovenfor hvis vi kjører kommandoen ssh og ssh, må vi taste inn passordet hver gang, noe som ikke er riktig prosedyre for å utføre Ansible-oppgaver.
d) For å aktivere passordfri autentisering for å utføre trinnene vist nedenfor. Legg først til brukeren ansible til / etc / sudoers fil på begge maskinene som vil gjøre det mulig for brukeren ansible å kjøre en kommando som krever rotprivilegier.
Lagre og avslutt filen etter å ha lagt til brukeren.
er) Fremover vil vi bruke brukeren ansible for å utføre alle trinnene. Så bytt til brukeren ansible.
Kontrollmaskin egnede OG Målmaskin passende
Kontrollmaskin ssh-keygen
Målmaskin ssh-keygen
Kopier ssh-nøkkelen til målmaskinen og omvendt.
Kontrollmaskin ssh-copy-id
Målmaskin ssh-copy-id
testers-inc iptv fungerer ikke
Vi kan nå logge på uten å skrive inn passordet. Etter at du har sjekket ut ssh-tilkoblingen på begge maskinene, og logg inn som ansiktsbruker.
Kontrollmaskin: ssh ansible @
Målmaskin: ssh ansible @
f) Installer wget hvis det ikke er installert på begge maskinene.
$ sudo yum install wget -y
g) Vi kan nå installere ansible kun på kontrollmaskinen ved å aktivere EPEL repo fra fedora som gir tilleggsprogramvarepakker. Utfør følgende trinn for å installere ANSIKLIG.
$ 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 brukbare versjonen er 2.5.3
h) Rediger ansible.cfg fil og aktiver lagerparameterparameteren på kontrollmaskinen.
$ sudo vi /etc/ansible/ansible.cfg
Jeg) Ansible bruker konseptet Inventory til å administrere og spore målmaskinene. Som standard ligger denne filen i / etc / ansible / verter og kan også endres. En vertsfil består av grupper for bedre klassifisering og flere maskiner under gruppen. Alle nødvendige maskiner kan legges til disse gruppene.
Hver gruppe er betegnet med en firkantet parentes og et gruppenavn innenfor. En server kan faktisk eksistere i flere grupper.
Rediger lagerfilen / etc / ansible / verter og legg til alle serverne som må administreres.
j) For å teste tilkoblingen til serverne under webserverens gruppe, kjør ansible ping kommandoen som vist. Her ping er en modul som utfører en bestemt funksjon for å teste om vertene kan kobles til som definert i lagerfilen eller ikke. Vi vil se mer om ulike moduler og eksemplene i neste avsnitt.
$ ansible webservers –m ping
For å liste vertene i lagerfilen, kan du kjøre kommandoen nedenfor
$ ansible webservers --list-hosts
Ansiktsbruk
Ansible består av 3 hovedkomponenter
- Kontrollmaskin
- Inventar
- Lekebok
Kontrollmaskinen administrerer kjøringen av Playbook. Den kan installeres på den bærbare datamaskinen eller på hvilken som helst maskin på internett.
Inventory-filen gir en komplett liste over alle målmaskiner som forskjellige moduler kjøres på ved å gjøre en ssh-tilkobling og installere den nødvendige programvaren.
Spillboken består av trinn som kontrollmekanismen vil utføre på serverne som er definert i lagerfilen.
Veldig viktig å forstå her er at Ansible samhandler med alle serverne som er definert i varelageret gjennom SSH-protokollen, som er en sikker metode for ekstern pålogging. Hver operasjon er utført og filoverføring er kryptert.
Så som du ville ha sett i forrige avsnitt, bruker Ansible ikke noen form for database for installasjon og er veldig enkel å installere, vil vi nå fortsette med den faktiske bruken av Ansible, og starte med moduler som er hovedbygningen.
Ansible moduler
Moduler er de viktigste byggesteinene i Ansible og er i utgangspunktet gjenbrukbare manus som brukes av Ansible playbooks. Ansible kommer med en rekke gjenbrukbare moduler. Disse inkluderer funksjonalitet for å kontrollere tjenester, installering av programvarepakke, arbeid med filer og kataloger etc.
Syntaksen er som følger når du kjører ad-hoc-kommandoene som hjelper med å kjøre enkle eller enkle oppgaver bare en gang, og som ikke trenger å kjøres senere. Til F.eks. bare å installere Tomcat på alle servere.
ansible hostORgroup -m module_name -a 'arguments' -u username --become
La oss ta en titt på noen av de mest populære Ansible-modulene og deres bruk gjennom ad hoc-kommandoene og senere i spillboken.
# 1) Oppsettmodul
For å få informasjon om nettverket eller maskinvaren eller OS-versjonen eller hukommelsesrelatert informasjon, vil oppsettmodulen bidra til å samle det samme om målmaskinene. På kontrollen kjører maskinen kommandoen nedenfor.
$ ansible webservers –m setup
# 2) Kommandomodul
Kommandomodulen utfører ganske enkelt en bestemt kommando på målmaskinen og gir utdata.
Noen av eksemplene er gitt nedenfor
$ ansible webservers –m command - an ‘uptime’ $ ansible webservers –m command –a ‘hostname’
# 3) Skallmodul
For å utføre en hvilken som helst kommando i skallet du ønsker, kan du bruke Shell-modulen. Skallmodulkommandoene kjøres i / bin / sh skall, og du kan bruke operatørene som '>' eller '|' (rørsymbol eller til og med miljøvariabler.
Så først og fremst er forskjellen mellom Shell og Command-modulen at hvis du faktisk ikke trenger å bruke operatørene som de som er nevnt, kan du bruke kommandomodulen.
$ ansible webservers -m shell -a 'ls -l > temp.txt'
På maskinene under webservergrupper, se etter filen som er opprettet, og kjør kommandoen for å se tekstfilen.
$ ansible webservers –m command -a ‘cat temp.txt’
# 4) Brukermodul
Ved hjelp av denne modulen kan man opprette eller slette brukere.
For å legge til bruker
$ ansible webservers -m user -a 'name=user1 password=user1' --become
For å slette bruker
$ ansible webservers -m user -a 'name=user1 state=absent' --become
Alternativer:
- bli - Privilegier til superbrukeren å kjøre kommandoen
- tilstand = fraværende for å slette brukeren
# 5) Filmodul
Denne modulen brukes til å lage filer, kataloger, angi eller endre filtillatelser og eierskap osv
Eksempel 1: Lag en fil
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=touch mode=600 owner=ansible group=ansible'
Eksempel 2: Lag en katalog
For å opprette en katalog ved hjelp av filmodulen, må du angi to parametere.
- Sti (alias - navn, dest) - Dette er den absolutte banen til katalogen som skal opprettes.
- Tilstand - Du bør angi verdien som 'katalog.' Som standard er verdien 'fil'.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=directory mode=755'
Eksempel 3: Slett en fil
$ ansible webservers -m file -a 'dest=/home/ansible/niranjan.txt state=absent'
Eksempel 4: Slett en katalog
Du kan slette en katalog ved å sette tilstandsparameterverdien til fraværende . Katalogen og alt innholdet blir slettet.
$ ansible webservers -m file -a 'dest=/home/ansible/vndir state=absent'
hvordan du åpner .java filer
# 6) Kopimodul
Den brukes til å kopiere filer til flere målmaskiner.
$ ansible webservers -m copy -a 'src=sample.txt dest=/home/ansible/sample.txt'
# 7) Administrere programvarepakker
Hvis du trenger å installere programvarepakker gjennom ‘yum’ eller ‘apt’, kan du bruke kommandoene nedenfor.
Eksempel 1: Installer GIT
$ ansible webservers –m yum -a “name=git state=present” --become
På høyre vindu kan du se om git ikke er installert, det vil gi kommandoen som ikke ble funnet, og når den er installert, vil den vise utdataene.
I denne kommandoen, tilstand = tilstede vil sjekke om pakken er installert eller ikke, og hvis den ikke er installert, vil den installere den nyeste versjonen.
Eksempel 2: Sjekk om pakken er installert, og oppdater den til den nyeste versjonen.
$ ansible webservers -m yum -a “name=git state=latest”
I kommandoen ovenfor, tilstand = siste oppdaterer bare pakken til den nyeste versjonen.
Eksempel 3: Installer Apache Webserver
$ ansible webservers -m yum -a 'name=httpd state=present' –become
Eksempel 4: Sjekk om Maven er installert eller ikke.
$ ansible webservers -m yum -a 'name=maven state=absent' –become
# 8) Managing Services Module
For å administrere tjenester med ansible bruker vi en modul 'service'.
Starte en tjeneste
$ ansible webservers -m service -a “name=httpd state=started” --become
Stoppe en tjeneste
$ ansible webservers -m service -a “name=httpd state=stopped” --become
Start en tjeneste på nytt
$ ansible webservers -m service -a “name=httpd state=restarted --become
Klikk her for å få listen over komplette moduler.
Sammendrag
I denne opplæringen introduserte jeg deg for de grunnleggende konseptene og komponentene i Ansible, og vi har også sett mer om installasjon, konfigurasjon og bruk av Ansible ved hjelp av Ansible-moduler, som er hovedkomponenten i Ansible-utførelse.
I vår kommende opplæring vil vi fokusere på det veldig viktige aspektet ved å skrive spillbøker for oppgaveautomatisering og Ansible hvelv for å holde sensitive data i krypterte filer.
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- In-Depth Eclipse Tutorials For Beginners
- Ansible Rolles, Integrasjon med Jenkins i DevOps og EC2-moduler
- Oppgaveautomatisering ved hjelp av Ansible Playbooks og Ansible Vaults med eksempler
- Trinnvis installasjon og oppsett av Appium Studio
- Introduksjon til Java Programming Language - Video Tutorial
- WebDriver Hele installasjonen og installasjonen med Eclipse - Selenium Tutorial # 9
- Jira nedlasting og installasjon med Jira License Setup
- Python Introduksjon og installasjonsprosess