„SaltStack“ naudojimas su stulpeliais „Ubuntu 17.04“.

Nors „SaltStack“ yra puikus įrankis, leidžiantis vienu metu vykdyti operacijas daugelyje serverių, jis taip pat palaiko konfigūracijos, apibrėžtos kiekvienam kompiuteriui, išankstinius nustatymus, saugomus unikaliame faile, kuris dar vadinamas „ramstis“. Šiame vadove parašysime nedidelę „SaltStack“ formulę, skirtą „Nginx“ diegimui ir virtualių kompiuterių diegimo automatizavimui naudojant ramsčius.

Reikalavimai

  • Vultr egzempliorius, kuriame veikia Ubuntu 17.04 (pagrindinis)
  • Du „Vultr“ egzemplioriai, kuriuose veikia „Ubuntu 17.04“ (minionai)

Nustatomas meistras

Jei tik pradedate ir dar nenustatėte savo „SaltStack“ pagrindinio įrenginio, peržiūrėkite šį straipsnį, kuriame paaiškinama, kaip pradėti naudoti „SaltStack“.

Formulė

Pradedame kurdami savo formulės aplanką, kuriame toliau saugomi failai, reikalingi SaltStack operacijoms mūsų pakalikai.

mkdir -p /srv/salt/nginx

Sukūrę aplanką, galime tęsti init.slsfailo, kuris yra esminė kiekvienos formulės dalis, rašymą :

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

Kaip tikriausiai pastebėjote, SaltStack naudoja Jinja šablonų variklį dinaminiams konfigūracijos failams generuoti. Tai suteikia platų galimybių mūsų konfigūracijos šablonų failuose, pvz., pasiekti vietinį Python kodą arba nustatyti kintamuosius ir panašiai. Kitas veiksmas susideda iš mūsų virtualhosts.conffailo šablono kūrimo , o pirmiausia turime sukurti aplanką:

mkdir -p /srv/salt/nginx/files

Sukūrę aplanką, galime tęsti virtualhosts.jinjafailo rašymą :

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

Stulpas

Sukūrę formulę, galime eiti į priekį ir nustatyti savo ramsčio bazę:

mkdir -p /srv/pillar/

Visos nuorodos į pagrindinius kompiuterius, atitinkančius tam tikrą ramsčio failą, įrašomos į top.slsfailą ką tik sukurtame kataloge. Mūsų pavyzdyje darome prielaidą, kad yra du pakalikai su pagrindinio kompiuterio pavadinimu, nginxwww1ir nginxwww2mes priskirsime jiems abu unikalius ramsčio failus:

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

Toliau nginxwww1kursime ramsčio failą, o domeno 81 prievade sukursime vhost example.com, kurio dokumento šaknis /var/www/example_com/ir indekso failai index.shtml:

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

Toliau nginxwww2kursime ramsčio failą, o domeno 82 prievade sukursime „vhost“ example2.com, kuriame bus dokumento šaknis, /var/www/example2_com/o indekso failai – index.jsir index.css:

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

Pastaba: Pillar failai saugomi/srv/pillar/

Diegimas

Dabar galime užbaigti pirmąjį bandymą su ramsčiais atnaujindami juos savo parankiniuose:

salt '*' saltutil.refresh_pillar

Po to galime paleisti SaltStack formulę:

salt '*' state.sls nginx

Patvirtinantis

Kai SaltStack formulė buvo paleisti ir baigtas be jokių klaidų, turėtume sugebėti pamatyti nginxklausytis uosto 81į nginxwww1ir uosto 82į nginxwww2patvirtinimu.

Išvada

Šią gana lengvą, bet jau galingą „SaltStack“ formulę galima dar išplėsti, kad būtų pridėtas HTTPS palaikymas, galbūt integruojant Let's Encrypt, palaikant CGI arba PHP pagrindines programas ir viską, ką galite padaryti rankiniu būdu. Šis vadovas turėjo suteikti jums pagrindinę „SaltStack“ formulių ir ramsčių, naudojamų diegiant konfigūracijos failus, idėją. Linksmo automatizavimo!

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį