Opsætning af Ansible for Configuration Management på Ubuntu 14.04: Oprettelse af Playbooks

Opsætning af Ansible for Configuration Management på Ubuntu 14.04: Oprettelse af Playbooks

Playbooks i Ansible er det, der gør Ansible så handy. Playbooks giver mulighed for at udføre rutineopgaver med flere moduler. Hvornår skal vi bruge spillebøger?

Lad os tage et kig på en rutinemæssig vedligeholdelsesopgave: opdatering af dine servere. Vi behøver ikke bruge en playbook til dette, da det kun er én kommando: apt-get update. Vi kunne bare bruge en enkelt kommando til at opdatere software på alle vores servere. Men for at implementere noget som en web- eller databaseserver er der brug for mere arbejde: ikke kun en enkelt kommando. Playbooks er perfekt til denne sag. De giver dig mulighed for at bruge flere moduler, som er kommandoer, der kan udføres på en server. For eksempel er der moduler til at kopiere filer og udføre shell-kommandoer over SSH.

Så hvordan bruger vi playbooks? Lad os komme igang!

Trin 1: Oprettelse af en YAML ( .yml) fil

Ansible spillebøger er skrevet som .ymlfiler; Ansible kan ikke fortolke andre formater. Et eksempel på Ansible playbook ser sådan ud:

---
- 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

(Tattet fra Ansibles dokumentation)

Trin 2: Forståelse af playbooks: opgaver og handlere

Som du kan se, er der flere sektioner i denne spillebog. Først og fremmest vil du se hosts:linjen. Dette bestemmer, på hvilke værter afspilningsbogen skal køres. Du kan også se, at vi har defineret et par variabler, som kan tilgås og bruges i hele playbook. Du vil derefter se en række opgaver. Disse opgaver kunne f.eks. hedde noget som "Installer Apache". Den anden opgave i eksemplet skriver til Apache-konfigurationen. Du vil så se følgende:

    notify:
    - restart apache

Dette fortæller en opgave at udføre en bestemt handler. I dette tilfælde refererer det til handleren restart apache, som kan findes nederst i spillebogen:

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

Handlere er praktiske, fordi du, hvis du tager eksemplet, måske ønsker at genstarte Apache flere gange. I dette tilfælde behøver du ikke at gentage oprettelsen af ​​en opgave for hver eneste gang, du skal genstarte Apache, men i stedet kan du bare henvise til den samme handler hver gang.

Trin 3: Udførelse af playbooks

Lad os sige, at du vil installere en Apache-server. Nå, som du kan se, har vi lige lavet en spillebog til det. Udførelse af playbooks kan udføres ved at bruge ansible-playbookkommandoen. For eksempel, hvis vi skulle udføre denne playbook på alle servere i webserverskategorien (du skal have denne kategori i din /etc/ansible/hostsfil), ville du køre følgende kommando, givet at navnet på din playbook-fil er apache.yml:

ansible-playbook -i webservers apache.yml

Tillykke! Du har nu udført en spillebog på alle servere i din webserverskategori. Du skal nu bare vente på, at implementeringen er færdig, og du vil se, at Apache er blevet installeret og konfigureret på disse servere.


Sådan installeres Squid Proxy på CentOS

Sådan installeres Squid Proxy på CentOS

Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig

Sådan installeres Memcached på Ubuntu 14.04

Sådan installeres Memcached på Ubuntu 14.04

Memcached er et højtydende databasesystem, der kan hjælpe med at superlade din applikation. Den er meget hurtig, da den ikke skriver til disken, men i stedet t

Opsætning af Fail2ban Ubuntu x64

Opsætning af Fail2ban Ubuntu x64

Fail2ban er et program, der overvåger login-aktivitet på din server og blokerer stødende IP-adresser. Som standard blokerer den IP-adresser i 10 minutter

Konfigurer Red5 Media Server på Ubuntu 16.04

Konfigurer Red5 Media Server på Ubuntu 16.04

Bruger du et andet system? Red5 er en open source medieserver implementeret i Java, der giver dig mulighed for at køre Flash multi-bruger applikationer såsom live streamin

Sådan installeres Vanilla Forum på Ubuntu 16.04

Sådan installeres Vanilla Forum på Ubuntu 16.04

Bruger du et andet system? Vanilla forum er en open source forumapplikation skrevet i PHP. Det er en fuldt tilpasselig, nem at bruge og understøtter ekstern

Sådan installeres Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Sådan installeres Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Tiny Tiny RSS Reader er en gratis og open source selv-hostet webbaseret nyhedsfeed (RSS/Atom) læser og aggregator, designet til at allo

How to Install Wiki.js on FreeBSD 11

How to Install Wiki.js on FreeBSD 11

Using a Different System? Wiki.js is a free and open source, modern wiki app built on Node.js, MongoDB, Git and Markdown. Wiki.js source code is publicl

Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Installation af Microweber på Ubuntu 16.04

Installation af Microweber på Ubuntu 16.04

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres Mattermost 4.1 på CentOS 7

Sådan installeres Mattermost 4.1 på CentOS 7

Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca

Sådan installeres dotCMS på Ubuntu 16.04

Sådan installeres dotCMS på Ubuntu 16.04

Bruger du et andet system? DotCMS er et open source, enterprise-grade content management system skrevet i Java. Den indeholder næsten alle nødvendige funktioner

Sådan installeres Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Sådan installeres Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Pagekit 1.0 CMS er et smukt, modulært, udvideligt og let, gratis og open source Content Management System (CMS) med

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Sådan installeres BigTree CMS på en Fedora 26 LAMP VPS

Bruger du et andet system? BigTree CMS 4.2 er et hurtigt og let, gratis og open source, enterprise-grade content management system (CMS) med omfattende

Lad os kryptere på Plesk

Lad os kryptere på Plesk

Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af ​​de eneste SSL-udbydere, der udleverer certifikater komplet

Lader kryptere på cPanel

Lader kryptere på cPanel

Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient

Sådan installeres Concrete5 på CentOS 7

Sådan installeres Concrete5 på CentOS 7

Bruger du et andet system? Concrete5 er et open source CMS, som tilbyder mange karakteristiske og nyttige funktioner til at hjælpe redaktører med at producere indhold nemt og

Sådan installeres GoAccess på Ubuntu 16.04

Sådan installeres GoAccess på Ubuntu 16.04

Bruger du et andet system? GoAccess er en open source weblog-analysator. Du kan bruge det til analyse af logs på realtidsbasis i enten terminalen eller

Sådan installeres YOURLS på CentOS 7

Sådan installeres YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Konfigurer Nagios på Ubuntu: Del 1 - Nagios Server

Denne artikel er en del af en 2-delt serie om installation og konfiguration af Nagios på Ubuntu 14.04. Del 1: Nagios Server Del 2: Oversigt over fjernvært Nagio

Sådan installeres Laravel GitScrum på CentOS 7

Sådan installeres Laravel GitScrum på CentOS 7

Laravel GitScrum eller GitScrum er et open source-produktivitetsværktøj designet til at hjælpe udviklingsteams med at implementere Scrum-metoden på en måde, der ligner t.

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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere