Korištenje SaltStacka sa stupovima na Ubuntu 17.04

Iako je SaltStack izvrstan alat za istovremeno izvođenje operacija na mnogim poslužiteljima, on također podržava unaprijed definirane konfiguracijske postavke po hostu pohranjene u jedinstvenoj datoteci koja se dalje naziva "stup". U ovom vodiču ćemo napisati malu SaltStack formulu za instalaciju Nginxa i automatizaciju implementacije virtualnih hostova pomoću stupova.

Zahtjevi

  • Vultr instanca radi Ubuntu 17.04 (master)
  • Dvije Vultr instance pokreću Ubuntu 17.04 ( minions )

Postavljanje majstora

Ako tek počinjete i još niste postavili svoj SaltStack master, pogledajte ovaj članak koji objašnjava kako započeti sa SaltStackom.

Formula

Započinjemo s stvaranjem mape za našu formulu koja dalje sadrži datoteke potrebne za SaltStackove operacije na našim minionima.

mkdir -p /srv/salt/nginx

Nakon kreiranja mape, možemo nastaviti s pisanjem init.slsdatoteke koja je bitan dio svake formule:

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

Kao što ste vjerojatno primijetili, SaltStack koristi Jinja predložak za generiranje dinamičkih konfiguracijskih datoteka. To pruža širok raspon mogućnosti unutar naših konfiguracijskih predložaka datoteka, kao što je pristup izvornom Python kodu ili postavljanje varijabli i slično. Sljedeći korak sastoji se od stvaranja predloška za našu virtualhosts.confdatoteku, dok prvo moramo stvoriti mapu:

mkdir -p /srv/salt/nginx/files

Nakon što je mapa stvorena, možemo nastaviti s pisanjem virtualhosts.jinjadatoteke:

{% 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 %}

Stup

Nakon kreiranja formule, možemo nastaviti i postaviti našu bazu stupova:

mkdir -p /srv/pillar/

Sve reference za hostove koji odgovaraju određenoj datoteci stupa zapisuju se u top.slsdatoteku unutar direktorija koji smo upravo stvorili. U našem primjeru pretpostavljamo da postoje dva miniona s imenom hosta nginxwww1i nginxwww2dok ćemo im objema dodijeliti jedinstvene datoteke stupa:

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

Zatim ćemo nastaviti s stvaranjem datoteke stupa za nginxwww1dok ćemo kreirati vhost koji sluša na portu 81 za domenu example.com, korijen dokumenta /var/www/example_com/i indeksne datoteke su index.shtml:

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

Nastavit ćemo s stvaranjem datoteke stupa za nginxwww2dok ćemo kreirati vhost koji sluša na portu 82 za domenu example2.com, korijen dokumenta je /var/www/example2_com/i indeksne datoteke index.jsi index.css:

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

Napomena: Pillarne datoteke su pohranjene unutar/srv/pillar/

Raspoređivanje

Sada možemo dovršiti naš prvi pokušaj sa stupovima tako da ih ažuriramo na našim minionima:

salt '*' saltutil.refresh_pillar

Nakon toga možemo pokrenuti formulu SaltStack:

salt '*' state.sls nginx

Potvrđivanje

Nakon što je SaltStack formula je pokrenuti i dovršiti bez bilo kakve pogreške, mi bi trebao biti u mogućnosti vidjeti nginxsluša na portu 81na nginxwww1i na portu 82na nginxwww2kao potvrdu.

Zaključak

Ova prilično lagana, ali već moćna SaltStack formula može se dodatno proširiti kako bi se dodala podrška za HTTPS, eventualno s integracijom Let's Encrypt, podrškom za CGI ili PHP pozadinske programe i svime što možete učiniti i ručno. Ovaj vam je vodič trebao dati osnovnu ideju o SaltStack formulama i stupovima koji se koriste za implementaciju konfiguracijskih datoteka. Sretna automatizacija!


Kako instalirati Jenkins na CentOS 7

Kako instalirati Jenkins na CentOS 7

Jenkins je popularan open source CI (Continuous Integration) alat koji se naširoko koristi za razvoj projekata, implementaciju i automatizaciju. Ovaj članak će

Kako instalirati i konfigurirati Concourse CI na Ubuntu 16.04

Kako instalirati i konfigurirati Concourse CI na Ubuntu 16.04

Korištenje drugog sustava? Uvod Kontinuirana integracija je praksa razvoja softvera DevOps koja omogućuje programerima da često spajaju

Kako instalirati i konfigurirati Ansible na Debian 9 za korištenje sa Windows Serverom

Kako instalirati i konfigurirati Ansible na Debian 9 za korištenje sa Windows Serverom

Korištenje drugog sustava? Ansible je alat otvorenog koda za automatizaciju zadataka. Upravlja konfiguracijom vaših Linux i Windows poslužitelja. Radi

Kako instalirati i konfigurirati GoCD na CentOS 7

Kako instalirati i konfigurirati GoCD na CentOS 7

Korištenje drugog sustava? GoCD je open source sustav kontinuirane isporuke i automatizacije. Omogućuje vam modeliranje složenih tijekova rada koristeći svoj paralelni an

Korištenje SaltStacka sa stupovima na Ubuntu 17.04

Korištenje SaltStacka sa stupovima na Ubuntu 17.04

Iako je SaltStack izvrstan alat za istovremeno izvođenje operacija na mnogim poslužiteljima, on također podržava unaprijed definirane konfiguracijske postavke po hostu pohranjene u

Kako instalirati i konfigurirati Ansible na CentOS 7 za korištenje sa Windows Serverom

Kako instalirati i konfigurirati Ansible na CentOS 7 za korištenje sa Windows Serverom

Korištenje drugog sustava? Ansible je alat otvorenog koda za automatizaciju zadataka. Upravlja konfiguracijom vaših Linux i Windows poslužitelja. Radi

Kako instalirati Drone CI na Ubuntu 18.04

Kako instalirati Drone CI na Ubuntu 18.04

Uvod Drone je automatizirana, kontinuirana platforma za testiranje i isporuku koja radi na vašoj vlastitoj infrastrukturi. Drone podržava bilo koji jezik, uslugu o

Vultr balanseri opterećenja

Vultr balanseri opterećenja

Što je Load Balancer Balanseri opterećenja sjede ispred vaše aplikacije i distribuiraju dolazni promet na više instanci vaše aplikacije. Fo

Kako instalirati Foremana na CentOS 7

Kako instalirati Foremana na CentOS 7

Korištenje drugog sustava? Foreman je besplatni alat otvorenog koda koji vam pomaže u konfiguraciji i upravljanju fizičkim i virtualnim poslužiteljima. Forema

Kako instalirati SaltStack na CentOS 7

Kako instalirati SaltStack na CentOS 7

SaltStack ili Salt je popularno rješenje za upravljanje konfiguracijom otvorenog koda koje se može koristiti za implementaciju daljinskog izvršavanja, upravljanja konfiguracijom, cod

Kako instalirati Strider CD na Ubuntu 18.04

Kako instalirati Strider CD na Ubuntu 18.04

Uvod Strider CD je platforma za kontinuiranu implementaciju otvorenog koda. Aplikacija je napisana u Node.js i koristi MongoDB kao pozadinu za pohranu. Korak

Korištenje Chocolatey Package Managera u sustavu Windows

Korištenje Chocolatey Package Managera u sustavu Windows

Uvod Chocolatey u Windows donosi upravljanje paketima koje olakšava administraciju softvera i ovisnosti na Linuxu. Možete brzo i jednostavno

Izrada snimaka pomoću Packera

Izrada snimaka pomoću Packera

Što je Packer? Packer je alat za obradu slika poslužitelja koji je razvio HashiCorp. Slika poslužitelja; ili alternativno, nepromjenjiva infrastruktura; je popularna alternativa

Kako instalirati i konfigurirati Concourse CI na CentOS 7

Kako instalirati i konfigurirati Concourse CI na CentOS 7

Korištenje drugog sustava? Uvod Kontinuirana integracija je praksa razvoja softvera DevOps koja omogućuje programerima da često spajaju

Korištenje Chef-solo za konfiguriranje Django aplikacije na Ubuntu

Korištenje Chef-solo za konfiguriranje Django aplikacije na Ubuntu

Postoji mnogo načina za automatizaciju procesa postavljanja i konfiguriranja kutije. Iz bilo kojeg razloga, ako se cijeli naš sustav u ovom trenutku sastoji od pravednih

Kako instalirati Foremana na Ubuntu 16.04 LTS

Kako instalirati Foremana na Ubuntu 16.04 LTS

Korištenje drugog sustava? Foreman je besplatni alat otvorenog koda koji vam pomaže u konfiguraciji i upravljanju fizičkim i virtualnim poslužiteljima. Forema

Početak rada sa SaltStackom na Ubuntu 17.04

Početak rada sa SaltStackom na Ubuntu 17.04

SaltStack je program za upravljanje konfiguracijom temeljen na pythonu koji je optimiziran za automatizaciju konfiguracijskih datoteka, implementacije i svega ostalog

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više