Konfigurere Ansible for Configuration Management på Ubuntu 14.04: Lage Playbooks

Konfigurere Ansible for Configuration Management på Ubuntu 14.04: Lage Playbooks

Playbooks i Ansible er det som gjør Ansible så hendig. Playbooks gjør det mulig å utføre rutineoppgaver med flere moduler. Når bør vi bruke lekebøker?

La oss ta en titt på en rutinemessig vedlikeholdsoppgave: å oppdatere serverne dine. Vi trenger ikke å bruke en spillebok for dette, gitt at det bare er én kommando: apt-get update. Vi kunne bare bruke én enkelt kommando for å oppdatere programvare på alle serverne våre. Men for å distribuere noe som en web- eller databaseserver, kreves det mer arbeid: ikke bare en enkelt kommando. Playbooks er prefekt for denne saken. De lar deg bruke flere moduler, som er kommandoer som kan utføres på en server. For eksempel er det moduler for å kopiere filer og utføre shell-kommandoer over SSH.

Så hvordan bruker vi lekebøker? La oss komme i gang!

Trinn 1: Opprette en YAML ( .yml) fil

Ansible lekebøker er skrevet som .ymlfiler; Ansible kan ikke tolke andre formater. Et eksempel på Ansible playbook ser slik ut:

---
- hosts: webservers
  vars:
    http_port: 80
    max_clients: 200
  remote_user: root
  tasks:
  - name: ensure apache is at the latest version
    yum: pkg=httpd state=latest
  - name: write the apache config file
    template: src=/srv/httpd.j2 dest=/etc/httpd.conf
    notify:
    - restart apache
  - name: ensure apache is running (and enable it at boot)
    service: name=httpd state=started enabled=yes
  handlers:
    - name: restart apache
      service: name=httpd state=restarted

(Tatt fra Ansibles dokumentasjon)

Trinn 2: Forstå lekebøker: oppgaver og behandlere

Som du kan se, er det flere seksjoner i denne lekeboken. Først vil du se hosts:linjen. Dette avgjør hvilke verter som spilleboken skal kjøres på. Du kan også se at vi har definert et par variabler som kan nås og brukes gjennom hele spilleboken. Du vil da se en rekke oppgaver. Disse oppgavene kan for eksempel hete noe som "Installer Apache". Den andre oppgaven i eksemplet skriver til Apache-konfigurasjonen. Du vil da se følgende:

    notify:
    - restart apache

Dette forteller en oppgave å utføre en bestemt behandler. I dette tilfellet refererer det til handleren restart apache, som du finner nederst i spilleboken:

  handlers:
    - name: restart apache
      service: name=httpd state=restarted

Håndtere er praktiske fordi, med eksempelet, vil du kanskje starte Apache på nytt flere ganger. I dette tilfellet trenger du ikke gjenta å lage en oppgave for hver gang du trenger å starte Apache på nytt, men i stedet kan du bare referere til den samme behandleren hver gang.

Trinn 3: Utføring av playbooks

Si at du vil distribuere en Apache-server. Vel, som du kan se, har vi nettopp laget en lekebok for det. Utførelse av spillebøker kan gjøres ved å bruke ansible-playbookkommandoen. For eksempel, hvis vi skulle kjøre denne spilleboken på alle servere i webserverskategorien (du må ha denne kategorien i /etc/ansible/hostsfilen din ), vil du kjøre følgende kommando gitt at navnet på spillebokfilen er apache.yml:

ansible-playbook -i webservers apache.yml

Gratulerer! Du har nå utført en spillebok på alle serverne i webserverskategorien din . Du må nå bare vente på at distribusjonen er ferdig, og du vil se at Apache har blitt installert og konfigurert på disse serverne.


Opprette en Jekyll-blogg på Ubuntu 16.04

Opprette en Jekyll-blogg på Ubuntu 16.04

Bruker du et annet system? Jekyll er et flott alternativ til WordPress for blogging eller deling av innhold. Det krever ingen databaser, og det er veldig enkelt, jeg

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Memcached på Ubuntu 14.04

Slik installerer du Memcached på Ubuntu 14.04

Memcached er et databasesystem med høy ytelse som kan hjelpe deg med å overlade applikasjonen din. Den er veldig rask siden den ikke skriver til disken, men i stedet t

Installere InfluxDB på Ubuntu 14

Installere InfluxDB på Ubuntu 14

Introduksjon InfluxDB er en åpen kildekode, distribuert, tidsseriedatabase uten eksterne avhengigheter. Ja, du leser ingen eksterne avhengigheter par

Oppsett av Fail2ban Ubuntu x64

Oppsett av Fail2ban Ubuntu x64

Fail2ban er et program som overvåker påloggingsaktivitet på serveren din og blokkerer støtende IP-adresser. Som standard vil den blokkere IP-adresser i 10 minutter

Sett opp Red5 Media Server på Ubuntu 16.04

Sett opp Red5 Media Server på Ubuntu 16.04

Bruker du et annet system? Red5 er en åpen kildekode medieserver implementert i Java som lar deg kjøre Flash flerbrukerapplikasjoner som live streamin

Hvordan installere Vanilla Forum på Ubuntu 16.04

Hvordan installere Vanilla Forum på Ubuntu 16.04

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Hvordan installere Kanboard på Ubuntu 18.04 LTS

Hvordan installere Kanboard på Ubuntu 18.04 LTS

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Kanboard på Debian 9

Hvordan installere Kanboard på Debian 9

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Tiny Tiny RSS-leser på en FreeBSD 11 FAMP VPS

Hvordan installere Tiny Tiny RSS-leser på en FreeBSD 11 FAMP VPS

Bruker du et annet system? Tiny Tiny RSS Reader er en gratis og åpen kildekode selvhostet nettbasert nyhetsfeed (RSS/Atom) leser og aggregator, designet for å allo

Hvordan installere Gitea på Debian 9

Hvordan installere Gitea på Debian 9

Bruker du et annet system? Gitea er et alternativt åpen kildekode, selvdrevet versjonskontrollsystem drevet av Git. Gitea er skrevet på Golang og er

Hvordan installere Wiki.js på FreeBSD 11

Hvordan installere Wiki.js på FreeBSD 11

Bruker du et annet system? Wiki.js er en gratis og åpen kildekode, moderne wiki-app bygget på Node.js, MongoDB, Git og Markdown. Wiki.js kildekode er offentlig

Hvordan installere Gitea på Ubuntu 18.04

Hvordan installere Gitea på Ubuntu 18.04

Bruker du et annet system? Gitea er et alternativt, selvdrevet versjonskontrollsystem med åpen kildekode drevet av git. Gitea er skrevet på Golang og er

Hvordan installere Thelia 2.3 på Debian 9

Hvordan installere Thelia 2.3 på Debian 9

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Hvordan installere MODX Revolution på en Ubuntu 16.04 LAMP VPS

Hvordan installere MODX Revolution på en Ubuntu 16.04 LAMP VPS

Bruker du et annet system? MODX Revolution er et raskt, fleksibelt, skalerbart, gratis og åpen kildekode, enterprise-grade Content Management System (CMS) skrevet i

Slik installerer du Mattermost 4.1 på CentOS 7

Slik installerer du Mattermost 4.1 på CentOS 7

Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca

Hvordan installere Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Hvordan installere Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Bruker du et annet system? Pagekit 1.0 CMS er et vakkert, modulært, utvidbart og lett, gratis og åpen kildekode Content Management System (CMS) med

Hvordan installere BigTree CMS på en Fedora 26 LAMP VPS

Hvordan installere BigTree CMS på en Fedora 26 LAMP VPS

Bruker du et annet system? BigTree CMS 4.2 er et raskt og lett, gratis og åpen kildekode, enterprise-grade content management system (CMS) med omfattende

Hvordan installere MODX Revolution på en FreeBSD 11 FAMP VPS

Hvordan installere MODX Revolution på en FreeBSD 11 FAMP VPS

Bruker du et annet system? MODX Revolution er et raskt, fleksibelt, skalerbart, åpen kildekode, enterprise-grade Content Management System (CMS) skrevet i PHP. Det jeg

Hvordan installere Concrete5 på CentOS 7

Hvordan installere Concrete5 på CentOS 7

Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer