Konfigurera Ansible för konfigurationshantering på Ubuntu 14.04: Skapa Playbooks

Konfigurera Ansible för konfigurationshantering på Ubuntu 14.04: Skapa Playbooks

Playbooks i Ansible är det som gör Ansible så praktisk. Playbooks gör det möjligt att utföra rutinuppgifter med flera moduler. När ska vi använda lekböcker?

Låt oss ta en titt på en rutinunderhållsuppgift: att uppdatera dina servrar. Vi skulle inte behöva använda en spelbok för detta, med tanke på att det bara är ett kommando: apt-get update. Vi kunde bara använda ett enda kommando för att uppdatera programvara på alla våra servrar. Men för att distribuera något som en webb- eller databasserver krävs mer arbete: inte bara ett enda kommando. Playbooks är perfekta för det här fallet. De låter dig använda flera moduler, vilket är kommandon som kan köras på en server. Det finns till exempel moduler för att kopiera filer och utföra skalkommandon över SSH.

Så hur använder vi lekböcker? Låt oss börja!

Steg 1: Skapa en YAML ( .yml) fil

Ansible playbooks skrivs som .ymlfiler; Ansible kan inte tolka andra format. Ett exempel på Ansible playbook ser ut så här:

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

(Tat från Ansibles dokumentation)

Steg 2: Förstå playbooks: uppgifter och hanterare

Som du kan se finns det flera avsnitt i den här spelboken. Först och främst kommer du att se hosts:linjen. Detta avgör på vilka värdar spelboken ska köras. Du kan också se att vi har definierat ett par variabler som kan nås och användas genom hela spelboken. Du kommer då att se ett antal uppgifter. Dessa uppgifter kan till exempel heta något som "Installera Apache". Den andra uppgiften i exemplet skriver till Apache-konfigurationen. Du kommer då att se följande:

    notify:
    - restart apache

Detta talar om för en uppgift att utföra en viss hanterare. I det här fallet syftar det på hanteraren restart apache, som finns längst ner i spelboken:

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

Hanterare är bekväma eftersom du, med exemplet, kanske vill starta om Apache flera gånger. I det här fallet behöver du inte upprepa att skapa en uppgift för varje gång du behöver starta om Apache utan istället kan du bara hänvisa till samma hanterare varje gång.

Steg 3: Kör spelböcker

Säg att du vill distribuera en Apache-server. Tja, som du kan se har vi precis skapat en lekbok för det. Du kan köra spelböcker genom att använda ansible-playbookkommandot. Till exempel, om vi skulle köra den här spelboken på alla servrar i webserverskategorin (du måste ha den här kategorin i din /etc/ansible/hostsfil), skulle du köra följande kommando med tanke på att namnet på din spelbokfil är apache.yml:

ansible-playbook -i webservers apache.yml

Grattis! Du har nu kört en spelbok på alla servrar i din webserverskategori. Du behöver nu bara vänta på att distributionen ska slutföras och du kommer att se att Apache har installerats och konfigurerats på dessa servrar.


Skapa en Jekyll-blogg på Ubuntu 16.04

Skapa en Jekyll-blogg på Ubuntu 16.04

Använder du ett annat system? Jekyll är ett bra alternativ till WordPress för att blogga eller dela innehåll. Det kräver inga databaser och det är väldigt enkelt i

Hur man installerar Squid Proxy på CentOS

Hur man installerar Squid Proxy på CentOS

Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig

Hur man installerar Memcached på Ubuntu 14.04

Hur man installerar Memcached på Ubuntu 14.04

Memcached är ett högpresterande databassystem som kan hjälpa dig att ladda din applikation. Det är väldigt snabbt eftersom det inte skriver till disken, utan istället t

Installera InfluxDB på Ubuntu 14

Installera InfluxDB på Ubuntu 14

Inledning InfluxDB är en öppen källkod, distribuerad, tidsseriedatabas utan externa beroenden. Ja, du läser paragrafen för inga externa beroenden

Installera Fail2ban Ubuntu x64

Installera Fail2ban Ubuntu x64

Fail2ban är ett program som övervakar inloggningsaktivitet på din server och blockerar stötande IP-adresser. Som standard blockerar den IP-adresser i 10 minuter

Konfigurera Red5 Media Server på Ubuntu 16.04

Konfigurera Red5 Media Server på Ubuntu 16.04

Använder du ett annat system? Red5 är en mediaserver med öppen källkod implementerad i Java som låter dig köra Flash fleranvändarapplikationer som livestreamin

Hur man installerar Vanilla Forum på Ubuntu 16.04

Hur man installerar Vanilla Forum på Ubuntu 16.04

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

Hur man installerar Kanboard på Ubuntu 18.04 LTS

Hur man installerar Kanboard på Ubuntu 18.04 LTS

Använder du ett annat system? Introduktion Kanboard är ett gratis och öppen källkodsprogram för projektledningsprogram som är utformat för att underlätta och visualisera

Hur man installerar Kanboard på Debian 9

Hur man installerar Kanboard på Debian 9

Använder du ett annat system? Introduktion Kanboard är ett gratis och öppen källkodsprogram för projektledningsprogram som är utformat för att underlätta och visualisera

Hur man installerar Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Hur man installerar Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Tiny Tiny RSS Reader är en gratis och öppen källkod, webbaserat nyhetsflöde (RSS/Atom) läsare och aggregator, utformad för att

Hur man installerar Gitea på Debian 9

Hur man installerar Gitea på Debian 9

Använder du ett annat system? Gitea är ett alternativt versionskontrollsystem med öppen källkod som drivs av Git. Gitea är skriven på Golang och är

Hur man installerar Wiki.js på FreeBSD 11

Hur man installerar Wiki.js på FreeBSD 11

Använder du ett annat system? Wiki.js är en gratis och öppen källkod, modern wiki-app byggd på Node.js, MongoDB, Git och Markdown. Wiki.js källkod är offentlig

Hur man installerar Gitea på Ubuntu 18.04

Hur man installerar Gitea på Ubuntu 18.04

Använder du ett annat system? Gitea är ett alternativt versionskontrollsystem med öppen källkod som drivs av git. Gitea är skriven på Golang och är

Hur man installerar Thelia 2.3 på Debian 9

Hur man installerar Thelia 2.3 på Debian 9

Använder du ett annat system? Thelia är ett verktyg med öppen källkod för att skapa e-handelswebbplatser och hantera onlineinnehåll skrivet i PHP. Thelia källkod i

Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Installera Microweber på Ubuntu 16.04

Installera Microweber på Ubuntu 16.04

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar MODX Revolution på en Ubuntu 16.04 LAMP VPS

Hur man installerar MODX Revolution på en Ubuntu 16.04 LAMP VPS

Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, gratis och öppen källkod, företagsklassat Content Management System (CMS) skrivet i

Hur man installerar Vanilla Forum på CentOS 7

Hur man installerar Vanilla Forum på CentOS 7

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

Hur man installerar Mattermost 4.1 på CentOS 7

Hur man installerar Mattermost 4.1 på CentOS 7

Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca

Hur man installerar dotCMS på Ubuntu 16.04

Hur man installerar dotCMS på Ubuntu 16.04

Använder du ett annat system? DotCMS är ett open-source, företagsklassat innehållshanteringssystem skrivet i Java. Den innehåller nästan alla funktioner som krävs

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer