SaltStack with Pillars käyttö Ubuntussa 17.04

Vaikka SaltStack on loistava työkalu toimintojen suorittamiseen useilla palvelimilla samanaikaisesti, se tukee myös isäntäkohtaisia ​​määrityksiä, jotka on tallennettu ainutlaatuiseen tiedostoon ja joita kutsutaan edelleen "pilariksi". Tässä oppaassa kirjoitamme pienen SaltStack-kaavan Nginxin asentamiseen ja virtuaalisten isäntien käyttöönoton automatisoimiseen pilareilla.

Vaatimukset

  • Vultr-instanssi, jossa on Ubuntu 17.04 (master)
  • Kaksi Vultr-instanssia, joissa on Ubuntu 17.04 (minions)

Masterin asettaminen

Jos olet vasta aloittamassa etkä ole vielä määrittänyt SaltStack-masteriasi, tutustu tähän artikkeliin, jossa kerrotaan SaltStackin käytön aloittamisesta.

Kaava

Aloitamme luomalla kaavallemme kansion, joka sisältää edelleen SaltStackin toimintoihin tarvittavat tiedostot kätyriemme kanssa.

mkdir -p /srv/salt/nginx

Kansion luomisen jälkeen voimme jatkaa init.slstiedoston kirjoittamista, joka on olennainen osa jokaista kaavaa:

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

Kuten olet luultavasti huomannut, SaltStack käyttää Jinja-mallinnusmoottoria dynaamisten asetustiedostojen luomiseen. Tämä tarjoaa laajan valikoiman mahdollisuuksia määritysmallitiedostoissamme, kuten natiivi Python-koodin käyttämisen tai muuttujien asetusten ja vastaavien. Seuraava vaihe koostuu mallin luomisesta virtualhosts.conftiedostollemme, kun taas meidän on ensin luotava kansio:

mkdir -p /srv/salt/nginx/files

Kun kansio on luotu, voimme jatkaa virtualhosts.jinjatiedoston kirjoittamista :

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

Pilari

Kaavan luomisen jälkeen voimme edetä ja määrittää pilaripohjamme:

mkdir -p /srv/pillar/

Kaikki viittaukset tiettyä pilaritiedostoa vastaaviin isänteihin kirjoitetaan top.slstiedostoon juuri luomassamme hakemistossa. Esimerkissämme oletetaan, että isäntänimellä on kaksi kätyrilä, nginxwww1ja nginxwww2annamme niille molemmille yksilölliset pilaritiedostot:

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

Seuraavaksi jatkamme pilaritiedoston luomista varten, nginxwww1kun taas luomme vhost- palvelimen, joka kuuntelee porttia 81 toimialueelle example.com, dokumentin juurina /var/www/example_com/ja hakemistotiedostoina index.shtml:

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

Jatkamme pilaritiedoston luomista, nginxwww2kun taas luomme verkkotunnukselle porttiin 82 kuuntelevan vhost-laitteen example2.com, jossa asiakirjan juuri on /var/www/example2_com/ja indeksitiedostot ovat index.jsja index.css:

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

Huomautus: Pillar-tiedostot tallennetaan sisään/srv/pillar/

Käyttöönotto

Voimme nyt suorittaa ensimmäisen kokeilumme pilareilla päivittämällä ne kätyriimme:

salt '*' saltutil.refresh_pillar

Sen jälkeen voimme ajaa SaltStack-kaavan:

salt '*' state.sls nginx

Vahvistaa

Kun SaltStack kaava on ollut ajaa ja valmistui ilman virheitä, meidän pitäisi pystyä näkemään nginxkuuntelee porttia 81päälle nginxwww1ja portin 82päälle nginxwww2vahvistukseksi.

Johtopäätös

Tätä melko kevyttä mutta jo ennestään tehokasta SaltStack-kaavaa voidaan laajentaa lisäämällä HTTPS-tuki, mahdollisesti integroimalla Let's Encrypt, tuella CGI- tai PHP-taustaohjelmille ja kaikella, mitä voit tehdä myös manuaalisesti. Tämän oppaan olisi pitänyt antaa sinulle peruskäsitys SaltStack-kaavoista ja -pilareista, joita käytetään määritystiedostojen käyttöönotossa. Hyvää automatisointia!


Jenkinsin asentaminen CentOS 7:ään

Jenkinsin asentaminen CentOS 7:ään

Jenkins on suosittu avoimen lähdekoodin CI (Continuous Integration) -työkalu, jota käytetään laajasti projektien kehittämiseen, käyttöönottoon ja automatisointiin. Tämä artikkeli tulee

Concourse CI:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

Concourse CI:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

Käytätkö erilaista järjestelmää? Johdanto Continuous Integration on DevOps-ohjelmistokehityskäytäntö, jonka avulla kehittäjät voivat usein yhdistää

Ansiblen asentaminen ja määrittäminen Debian 9:ssä käytettäväksi Windows Serverin kanssa

Ansiblen asentaminen ja määrittäminen Debian 9:ssä käytettäväksi Windows Serverin kanssa

Käytätkö erilaista järjestelmää? Ansible on avoimen lähdekoodin työkalu tehtävien automatisointiin. Se hallitsee Linux- ja Windows-palvelimiesi kokoonpanoa. Se toimi

Kuinka asentaa ja määrittää GoCD CentOS 7: ssä

Kuinka asentaa ja määrittää GoCD CentOS 7: ssä

Käytätkö erilaista järjestelmää? GoCD on avoimen lähdekoodin jatkuva toimitus- ja automaatiojärjestelmä. Sen avulla voit mallintaa monimutkaisia ​​työnkulkuja käyttämällä sen rinnakkaista an

SaltStack with Pillars käyttö Ubuntussa 17.04

SaltStack with Pillars käyttö Ubuntussa 17.04

Vaikka SaltStack on loistava työkalu toimintojen suorittamiseen useilla palvelimilla samanaikaisesti, se tukee myös isäntäkohtaisesti määritettyjä kokoonpanon esiasetuksia, jotka on tallennettu

Ansiblen asentaminen ja määrittäminen CentOS 7:ään käytettäväksi Windows Serverin kanssa

Ansiblen asentaminen ja määrittäminen CentOS 7:ään käytettäväksi Windows Serverin kanssa

Käytätkö erilaista järjestelmää? Ansible on avoimen lähdekoodin työkalu tehtävien automatisointiin. Se hallitsee Linux- ja Windows-palvelimiesi kokoonpanoa. Se toimi

Drone CI:n asentaminen Ubuntuun 18.04

Drone CI:n asentaminen Ubuntuun 18.04

Johdanto Drone on automatisoitu, jatkuva testaus- ja toimitusalusta, joka toimii omassa infrastruktuurissasi. Drone tukee mitä tahansa kieltä, palvelua o

Kuinka asentaa Foreman CentOS 7:ään

Kuinka asentaa Foreman CentOS 7:ään

Käytätkö erilaista järjestelmää? Foreman on ilmainen ja avoimen lähdekoodin työkalu, joka auttaa sinua määrittämään ja hallitsemaan fyysisiä ja virtuaalisia palvelimia. Forema

Kuinka asentaa SaltStack CentOS 7:ään

Kuinka asentaa SaltStack CentOS 7:ään

SaltStack tai Salt on suosittu avoimen lähdekoodin kokoonpanonhallintaratkaisu, jota voidaan käyttää etäsuorituksen, kokoonpanonhallinnan, koodin toteuttamiseen.

Strider-CD:n asentaminen Ubuntuun 18.04

Strider-CD:n asentaminen Ubuntuun 18.04

Johdanto Strider CD on avoimen lähdekoodin jatkuvan käyttöönoton alusta. Sovellus on kirjoitettu Node.js:ssä ja käyttää MongoDB:tä tallennustaustana. Askel

Chocolatey Package Managerin käyttäminen Windowsissa

Chocolatey Package Managerin käyttäminen Windowsissa

Johdanto Chocolatey tuo Windowsiin pakettien hallinnan, joka tekee ohjelmistojen ja riippuvuuksien hallinnasta helppoa Linuxissa. Voit nopeasti ja helposti

Tilannekuvien luominen Packerilla

Tilannekuvien luominen Packerilla

Mikä on Packer? Packer on HashiCorpin kehittämä palvelimen kuvantamistyökalu. Palvelimen kuvantaminen; tai vaihtoehtoisesti muuttumaton infrastruktuuri; on suosittu vaihtoehto

Concourse CI:n asentaminen ja määrittäminen CentOS 7:ssä

Concourse CI:n asentaminen ja määrittäminen CentOS 7:ssä

Käytätkö erilaista järjestelmää? Johdanto Continuous Integration on DevOps-ohjelmistokehityskäytäntö, jonka avulla kehittäjät voivat usein yhdistää

Chef-solon käyttäminen Django-sovelluksen määrittämiseen Ubuntussa

Chef-solon käyttäminen Django-sovelluksen määrittämiseen Ubuntussa

On monia tapoja automatisoida laatikon asennus- ja konfigurointiprosessi. Mistä tahansa syystä, jos koko järjestelmämme tässä vaiheessa koostuu vain

Kuinka asentaa Foreman Ubuntu 16.04 LTS:ään

Kuinka asentaa Foreman Ubuntu 16.04 LTS:ään

Käytätkö erilaista järjestelmää? Foreman on ilmainen ja avoimen lähdekoodin työkalu, joka auttaa sinua määrittämään ja hallitsemaan fyysisiä ja virtuaalisia palvelimia. Forema

SaltStackin käytön aloittaminen Ubuntussa 17.04

SaltStackin käytön aloittaminen Ubuntussa 17.04

SaltStack on python-pohjainen kokoonpanonhallintaohjelma, joka on optimoitu määritystiedostojen, käyttöönottojen ja kaiken muun automatisointiin.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja