Ansible er et åpen kildekode-verktøy for IT-automatisering og konfigurasjonsstyring. Det forenkler prosessen med å automatisere programvarelevering, konfigurere systemer og distribuere applikasjoner.
Det som skiller Ansible fra andre verktøy for konfigurasjonsstyring, er dets unike tilnærming til automatisering, som er forskjellig fra løsninger som Chef, CFEngine, Salt og Puppet.
Ansible Tower er en webbasert løsning som gir et grafisk grensesnitt for å administrere Ansible. Dette grensesnittet er utviklet for å være intuitivt og enkelt å bruke, og det gir mulighet for rask distribusjon og overvåking av konfigurasjoner.
Ansible Tower ble utviklet som et svar på brukernes behov for et mer brukervennlig grensesnitt. I denne artikkelen skal vi se nærmere på de ulike aspektene ved Ansible, Ansible Galaxy og Ansible Tower og diskutere hvordan de skiller seg fra hverandre.
Introduksjon til Ansible
Ansible er et verktøy med åpen kildekode for konfigurasjonsstyring, som brukes for å automatisere klargjøring av programvare og konfigurering av systemer. Med Ansible kan du administrere og konfigurere flere maskiner fra en enkelt server.
Ansible bruker et «push»-basert system, der konfigurasjoner sendes fra hovedmaskinen til alle andre noder.
Konfigurasjonene skrives ved hjelp av YAML, som er lett å forstå og skape for systemadministratorer. Ansible kommuniserer over SSH og bruker OpenSSH som transportlag.
Alle Ansible-konfigurasjoner finnes i YAML-filer som kalles «playbooks». Disse inneholder oppgaver og handlinger som utføres. En oppgave bruker en modul for å konfigurere noder.
Playbooks gir en strukturert måte å skrive konfigurasjoner på, og alle oppgaver utføres i den rekkefølgen de er spesifisert. Ansible støtter både synkron og asynkron utførelse.
Som illustrert ovenfor, brukes vertmaskiner for å utføre de konfigurasjonene som er opprettet.
Fordeler med Ansible:
- Gratis og åpen kildekode.
- Enkel å sette opp.
- Kraftig verktøy som kan konfigurere tusenvis av maskiner samtidig.
- Fleksibel og kan brukes i flere miljøer.
- Agentløs, og dermed uavhengig av agentnoder.
- Effektiv, da det ikke krever ekstra programvare for å fungere.
Ulemper med Ansible:
- Kan være vanskelig å installere.
- Fungerer ikke på Windows.
- Kan ha problemer med bakoverkompatibilitet.
Introduksjon til Ansible Galaxy
Ansible Galaxy er en plattform for deling og gjenbruk av roller. Det oppmuntrer til bruk av gjenbrukbare komponenter i serverkonfigurasjon og er ofte benyttet i prosjekter.
Ansible Galaxy fungerer i bunn og grunn som et offentlig lager for Ansible-rollebeskrivelser. Hver rolle inneholder en README-fil, som gir informasjon om hvordan rollen skal brukes og hvilke variabler den krever.
Ansible Galaxy har mange roller som kontinuerlig utvikles og oppdateres. Roller lar deg dele opp større playbooks og skape en mer strukturert arkitektur. Du kan tilpasse dine egne roller og bruke dem etter behov.
Ansible Galaxy rolestruktur:
- README.md: Inneholder en beskrivelse av rollen, inkludert detaljer om inngangsparametere og et eksempel på yml-konfigurasjon.
- tasks: Inneholder alle oppgavene som rollen skal utføre. Main.yml er inngangspunktet for rollen.
- handlers: Inneholder behandlere som kan brukes i denne rollen eller andre roller.
- defaults: Inneholder standardvariabler for rollen.
- vars: Variabler som overstyrer standardinnstillingene.
- files: Inneholder filer som skal distribueres av rollen.
- templates: Inneholder maler som kan brukes via rollen.
- meta: Metadata som brukes til å definere rollen, inkludert eventuelle rolleavhengigheter.
- tests: CI-tester som skal utføres.
- library: Inneholder innebygde moduler eller plugins for rollen.
Ansible Galaxy lar deg opprette og administrere roller. Med nye versjoner av Ansible introduseres ofte endringer. Ansible versjon 2.2.8 introduserte «collections»-funksjonen. Disse brukes for å pakke og distribuere moduler, playbooks og plugins.
Fordeler med Ansible Galaxy:
- Sentralisert sted for å finne, gjenbruke og dele Ansible-relatert innhold.
- Enkelt å laste ned gjenbrukbare roller for applikasjonsinstallasjon.
- Øker distribusjonshastigheten.
Ulemper med Ansible Galaxy:
- Fellesskapsdrevet, noe som betyr at det ikke er noen garanti for at alle moduler fungerer som forventet.
- Mange roller har dårlig dokumentasjon.
- De fleste roller er ikke idempotente.
Introduksjon til Ansible Tower
Ansible Tower er brukergrensesnittet for Ansible. Det er en webbasert løsning som er egnet for mange forskjellige typer IT-team.
Ansible Tower kan sammenlignes med et dashbord i en bil. Dashbordet viser viktig informasjon om bilens tilstand, mens Ansible Tower gir en oversikt over Ansible-miljøet, der Ansible er selve motoren.
Ansible Tower lar brukere kjøre oppgaver via et grafisk brukergrensesnitt. Playbooks kan kjøres via Ansible CLI, men med Ansible Tower kan administrasjon og utførelse av playbooks gjøres via GUI.
Du kan enten kjøre eksisterende playbooks eller opprette dine egne. Ansible Tower tilbyr også varslingsfunksjoner, slik at spesifikke team kan varsles når en jobb er fullført eller mislyktes. Denne type kommunikasjon er viktig for enhver organisasjon.
Ansible Tower tilbyr også rollebasert tilgangskontroll (RBAC), slik at du kan kontrollere hvem som har tillatelse til å kjøre jobber. Dette bidrar til å oppfylle sikkerhetskrav i ulike bransjer.
I tillegg til RBAC, gir Ansible Tower en revisjonslogg som viser hvem som har utført hvilke jobber. Dette gir ekstra sikkerhet, som er vanskelig å oppnå ved bruk av Ansible alene.
Ansible Tower tillater ekstern kjøring av kode i ulike applikasjoner. For eksempel kan en virtuell maskin som har feil, enkelt startes på nytt med Ansible Tower. Det er også mulig å installere programvare eksternt for å raskt tette sikkerhetshull eller tilbakestille passord. Ansible Tower er en sentralisert plattform for administrasjon av nettverksinfrastruktur og virtuelle maskiner som distribueres via Ansible.
I motsetning til Ansible er ikke Ansible Tower gratis. Det finnes to versjoner: Standard og Premium. Valget avhenger av IT-kravene til din bedrift. Standardutgaven passer for de fleste IT-operasjoner, mens Premium er designet for oppdragskritiske DevOps.
Red Hat gir detaljert prisinformasjon når du kontakter dem. Standardutgaven vil koste omtrent $10 000 per år for 100 noder, mens Premium koster rundt $14 000 per år for samme antall noder.
Fordeler med Ansible Tower:
- Oversiktlig og brukervennlig grensesnitt.
- Hjelper med å bygge CI/CD-pipelines.
- Mulighet for å planlegge jobber og varsler ved feil.
- Grafisk lagerstyring.
- Enkelt å sette opp.
Ulemper med Ansible Tower:
- Dyrt.
- Abonnementsbasert.
- Håndtering av sammenslåingskonflikter kan være vanskelig.
- Feilsøking kan være komplisert.
Ansible vs Ansible Galaxy vs Ansible Tower
Ansible er et IT-automatiseringsverktøy som kan distribuere programvare og konfigurere systemer. Det kan også orkestrere mer komplekse oppgaver som kontinuerlige distribusjoner og oppdateringer uten nedetid. Målet med Ansible er enkelhet og brukervennlighet.
Ansible Tower gir på sin side en grafisk brukerflate for administrasjon av Ansible. Ansible Galaxy kan brukes for å lagre Ansible-roller. Det kan sammenlignes med PyPI for Python eller Maven for Java.
Ansible Tower kan ikke fungere uten Ansible. Ansible Tower er avhengig av Ansible for sin funksjonalitet. Ansible er kjernen for infrastrukturadministrasjon og distribusjon.
Ansible Tower lar deg overvåke og kontrollere sikkerhetskompatibiliteten i organisasjonens infrastruktur.
Ansible Tower gir RBAC for Ansible-distribusjoner og er også et godt alternativ for ikke-tekniske fagpersoner som trenger å overvåke infrastrukturen.
Sammenligning av Ansible vs Ansible Tower vs Ansible Galaxy:
Ansible | Ansible Tower | Ansible Galaxy | |
Type | Åpen kildekode-verktøy for konfigurasjonsstyring | Brukergrensesnitt for Ansible | Lager for roller og samlinger |
Funksjon | Kjører playbooks via CLI | Kjører playbooks via GUI | Kjører ansible-galaxy ved hjelp av CLI |
Lansert | 2012 | 2015 | 2015 |
Egenskaper | Gratis å bruke | Gir innsyn i hele Ansible-miljøet | Lar deg gjenbruke kodeblokker i ulike playbooks |
Konklusjon
Denne artikkelen har tatt for seg Ansible, Ansible Tower og Ansible Galaxy, og de viktigste forskjellene mellom dem. Organisasjoner bør vurdere sine behov nøye før de investerer i Ansible Tower, da det kan være dyrt. Men generelt er Ansible et utmerket verktøy for konfigurasjonsstyring i alle Linux-lignende miljøer.
Du kan også være interessert i å lære mer om Sysadmin-oppgaver som du kan automatisere med Ansible.