A SaltStack használata a pillérekkel az Ubuntu 17.04-en

Míg a SaltStack nagyszerű eszköz a műveletek egyidejű futtatására számos szerveren, támogatja az egyedi fájlban tárolt, gazdagépenként meghatározott konfigurációs előre beállított értékeket is, amelyeket "pillérnek" neveznek. Ebben az útmutatóban egy kis SaltStack képletet írunk az Nginx telepítéséhez és a virtuális gazdagépek telepítésének automatizálásához pillérek segítségével.

Követelmények

  • Ubuntu 17.04-et futtató Vultr példány (fő)
  • Két Vultr-példány, amelyen az Ubuntu 17.04 fut (minionok)

Mester beállítása

Ha még csak most kezdi, és még nem állította be a SaltStack mestert, tekintse meg ezt a cikket, amely elmagyarázza, hogyan kezdje el a SaltStack használatát.

Képlet

Kezdjük a képletünk mappájának létrehozásával, amely tovább tárolja a SaltStack műveleteihez szükséges fájlokat a csatlósainkon.

mkdir -p /srv/salt/nginx

A mappa létrehozása után folytathatjuk a init.slsfájl írását, amely minden képlet elengedhetetlen része:

nginx:
  pkg:
    - installed

/etc/nginx/sites-enabled/virtualhosts.conf:
    file.managed:
        - source: salt://nginx/files/virtualhosts.jinja
        - template: jinja
        - user: root
        - group: root
        - mode: 655

  cmd:
    - run
    - names:
        - service nginx restart

Amint azt valószínűleg észrevette, a SaltStack a Jinja sablonozó motort használja dinamikus konfigurációs fájlok generálásához. Ez a lehetőségek széles skáláját kínálja konfigurációs sablonfájljainkban, például a natív Python-kód elérését vagy a változók beállítását és hasonlókat. A következő lépés a virtualhosts.conffájlunk sablonjának létrehozása , míg először a mappát kell létrehoznunk:

mkdir -p /srv/salt/nginx/files

A mappa létrehozása után folytathatjuk a virtualhosts.jinjafájl írását :

{% for vhost in pillar['vhosts'] %}
server {
    listen {{ vhost['listenPort'] }};
    server_name {{ vhost['serverName'] }};
    root {{ vhost['documentRoot'] }};
    index {%- for index in vhost['indexFiles'] -%}{{ index }}{%- endfor -%};
    location / {
        try_files $uri $uri/ =404;
    }
}
{% endfor %}

Pillér

A képlet elkészítése után folytathatjuk a Pillar bázis beállítását:

mkdir -p /srv/pillar/

Az adott pillérfájlnak megfelelő gazdagépekre vonatkozó hivatkozások az top.slséppen létrehozott könyvtárban található fájlba kerülnek . Példánkban feltételezzük, hogy két minion létezik a gazdagépnévvel, nginxwww1és nginxwww2mindkettőhöz egyedi oszlopfájlt rendelünk hozzá:

base:
  'id:nginxwww1':
    - match: grain
    - nginxwww1
  'id:nginxwww2':
    - match: grain
    - nginxwww2

Ezután folytatjuk nginxwww1a pillérfájl létrehozását , míg a 81-es porton figyelő vhost-ot hozunk létre a tartományhoz example.com, ahol a dokumentum gyökér /var/www/example_com/és az indexfájlok index.shtml:

vhosts:
    -
      listenPort: '81'
      serverName: 'example.com'
      documentRoot: '/var/www/example_com'
      indexFiles:
        - index.shtml

Folytatjuk létre pillér fájlt nginxwww2mivel fogunk létrehozni vhost porton 82 domain example2.com, a dokumentum gyökér lenni /var/www/example2_com/, és az index fájlokat nem index.jsés index.css:

vhosts:
    -
      listenPort: '82'
      serverName: 'example2.com'
      documentRoot: '/var/www/example2_com'
      indexFiles:
        - index.js
        - index.css

Megjegyzés: A Pillar fájlokat a rendszer tartalmazza/srv/pillar/

Telepítés

Most már befejezhetjük az első kísérletünket a pillérekkel, ha frissítjük azokat a csatlósainkon:

salt '*' saltutil.refresh_pillar

Ezután lefuttathatjuk a SaltStack képletet:

salt '*' state.sls nginx

Megerősítés

Miután a SaltStack formula már fut és befejezte hiba nélkül, akkor képesnek kell lennie arra, hogy nginxporton 81on nginxwww1és port 82a nginxwww2megerősítésként.

Következtetés

Ez a meglehetősen könnyű, de már erős SaltStack formula tovább bővíthető HTTPS-támogatás hozzáadásával, esetleg a Let's Encrypt integrációjával, a CGI vagy PHP háttérrendszerek támogatásával és mindazzal, amit manuálisan is megtehet. Ennek az útmutatónak egy alapötletet kellett volna adnia a konfigurációs fájlok telepítéséhez használt SaltStack képletekről és pillérekről. Boldog automatizálást!


A Jenkins telepítése a CentOS 7 rendszeren

A Jenkins telepítése a CentOS 7 rendszeren

A Jenkins egy népszerű nyílt forráskódú CI (Continuous Integration) eszköz, amelyet széles körben használnak projektfejlesztésre, telepítésre és automatizálásra. Ez a cikk lesz

A Concourse CI telepítése és konfigurálása Ubuntu 16.04 rendszeren

A Concourse CI telepítése és konfigurálása Ubuntu 16.04 rendszeren

Más rendszert használ? Bevezetés A Continuous Integration egy DevOps szoftverfejlesztési gyakorlat, amely lehetővé teszi a fejlesztők számára, hogy gyakran egyesítsék

Az Ansible telepítése és konfigurálása Debian 9 rendszeren Windows Serverrel való használatra

Az Ansible telepítése és konfigurálása Debian 9 rendszeren Windows Serverrel való használatra

Más rendszert használ? Az Ansible egy nyílt forráskódú eszköz a feladatok automatizálására. Ez kezeli a Linux és Windows szerverek konfigurációját. Működik

A GoCD telepítése és konfigurálása CentOS 7 rendszeren

A GoCD telepítése és konfigurálása CentOS 7 rendszeren

Más rendszert használ? A GoCD egy nyílt forráskódú, folyamatos szállítási és automatizálási rendszer. Lehetővé teszi összetett munkafolyamatok modellezését a párhuzamos an

A SaltStack használata a pillérekkel az Ubuntu 17.04-en

A SaltStack használata a pillérekkel az Ubuntu 17.04-en

Míg a SaltStack nagyszerű eszköz a műveletek egyidejű futtatására több szerveren, támogatja a gazdagépenként definiált konfigurációs előbeállításokat is.

Az Ansible telepítése és konfigurálása a CentOS 7 rendszeren Windows Serverrel való használatra

Az Ansible telepítése és konfigurálása a CentOS 7 rendszeren Windows Serverrel való használatra

Más rendszert használ? Az Ansible egy nyílt forráskódú eszköz a feladatok automatizálására. Ez kezeli a Linux és Windows szerverek konfigurációját. Működik

A Drone CI telepítése Ubuntu 18.04-re

A Drone CI telepítése Ubuntu 18.04-re

Bevezetés A Drone egy automatizált, folyamatos tesztelési és szállítási platform, amely az Ön saját infrastruktúráján fut. A drone bármilyen nyelvet, szolgáltatást támogat

Vultr terheléselosztók

Vultr terheléselosztók

Mi az a Load Balancer A terheléselosztók az alkalmazás előtt ülnek, és elosztják a bejövő forgalmat az alkalmazás több példánya között. Fo

A Foreman telepítése a CentOS 7 rendszeren

A Foreman telepítése a CentOS 7 rendszeren

Más rendszert használ? A Foreman egy ingyenes és nyílt forráskódú eszköz, amely segít a fizikai és virtuális szerverek konfigurációjában és kezelésében. Forema

A SaltStack telepítése CentOS 7 rendszeren

A SaltStack telepítése CentOS 7 rendszeren

A SaltStack vagy a Salt egy népszerű nyílt forráskódú konfigurációkezelési megoldás, amely távoli végrehajtás, konfigurációkezelés, kódolás megvalósítására használható.

A Strider CD telepítése Ubuntu 18.04-re

A Strider CD telepítése Ubuntu 18.04-re

Bevezetés A Strider CD egy nyílt forráskódú, folyamatos telepítésű platform. Az alkalmazás Node.js-ben íródott, és a MongoDB-t használja tárolási háttérként. Lépés

A Chocolatey Package Manager használata Windows rendszeren

A Chocolatey Package Manager használata Windows rendszeren

Bevezetés A Chocolatey olyan csomagkezelést kínál, amely megkönnyíti a szoftverek és függőségek adminisztrálását Linuxon a Windows rendszeren. Gyorsan és egyszerűen meg tudod csinálni

Pillanatképek készítése a Packerrel

Pillanatképek készítése a Packerrel

Mi az a Packer? A Packer egy szerver képalkotó eszköz, amelyet a HashiCorp fejlesztett ki. Szerver képalkotás; vagy változatlan infrastruktúra; népszerű alternatíva

A Concourse CI telepítése és konfigurálása CentOS 7 rendszeren

A Concourse CI telepítése és konfigurálása CentOS 7 rendszeren

Más rendszert használ? Bevezetés A Continuous Integration egy DevOps szoftverfejlesztési gyakorlat, amely lehetővé teszi a fejlesztők számára, hogy gyakran egyesítsék

A Chef-solo használata a Django alkalmazás konfigurálásához Ubuntun

A Chef-solo használata a Django alkalmazás konfigurálásához Ubuntun

A dobozok beállításának és konfigurálásának folyamatát számos módon automatizálhatjuk. Bármilyen okból, ha az egész rendszerünk ezen a ponton csak

A Foreman telepítése Ubuntu 16.04 LTS-re

A Foreman telepítése Ubuntu 16.04 LTS-re

Más rendszert használ? A Foreman egy ingyenes és nyílt forráskódú eszköz, amely segít a fizikai és virtuális szerverek konfigurációjában és kezelésében. Forema

A SaltStack első lépései az Ubuntu 17.04-en

A SaltStack első lépései az Ubuntu 17.04-en

A SaltStack egy python alapú konfigurációkezelő program, amely a konfigurációs fájlok, a telepítések és bármi más automatizálására van optimalizálva.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket