Коришћење СалтСтацк-а са стубовима на Убунту 17.04

Иако је СалтСтацк одличан алат за истовремено покретање операција на многим серверима, он такође подржава унапред дефинисана подешавања конфигурације по хосту ускладиштена у јединственој датотеци која се даље назива "стуб". У овом водичу ћемо написати малу СалтСтацк формулу за инсталирање Нгинк-а и аутоматизацију постављања виртуелних хостова помоћу стубова.

Захтеви

  • Вултр инстанца ради Убунту 17.04 (мастер)
  • Две Вултр инстанце покрећу Убунту 17.04 ( минионс )

Постављање мајстора

Ако тек почињете и још нисте подесили СалтСтацк мастер, погледајте овај чланак који објашњава како да почнете са СалтСтацк-ом.

Формула

Почињемо са креирањем фасцикле за нашу формулу која даље садржи датотеке потребне за СалтСтацк-ове операције на нашим слугама.

mkdir -p /srv/salt/nginx

Након креирања фасцикле, можемо наставити са писањем init.slsдатотеке која је суштински део сваке формуле:

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

Као што сте вероватно приметили, СалтСтацк користи Јиња шаблонски механизам за генерисање динамичких конфигурационих датотека. Ово пружа широк спектар могућности у оквиру наших датотека шаблона конфигурације, као што је приступ изворном Питхон коду или подешавање променљивих и слично. Следећи корак се састоји од креирања шаблона за нашу virtualhosts.confдатотеку, док прво треба да креирамо фасциклу:

mkdir -p /srv/salt/nginx/files

Када је фасцикла креирана, можемо да наставимо са писањем virtualhosts.jinjaдатотеке:

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

Стуб

Након креирања формуле, можемо наставити и поставити нашу базу стубова:

mkdir -p /srv/pillar/

Све референце за хостове који одговарају одређеној пиллар датотеци се уписују у top.slsдатотеку унутар директоријума који смо управо креирали. У нашем примеру претпостављамо да постоје два миниона са именом хоста nginxwww1и nginxwww2док ћемо им обема доделити јединствене датотеке стубова:

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

Затим ћемо наставити са креирањем датотеке стуба за nginxwww1док ћемо креирати вхост који слуша на порту 81 за домен example.com, при чему је корен документа /var/www/example_com/и датотеке индекса index.shtml:

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

Наставићемо са креирањем пиллар фајла за nginxwww2док ћемо креирати вхост који слуша на порту 82 за домен example2.com, корен документа је /var/www/example2_com/и индексне датотеке index.jsи index.css:

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

Напомена: Пиллар датотеке се чувају унутар/srv/pillar/

Деплоиинг

Сада можемо да завршимо наш први покушај са стубовима тако што ћемо их ажурирати на нашим слугама:

salt '*' saltutil.refresh_pillar

Након тога, можемо покренути формулу СалтСтацк:

salt '*' state.sls nginx

Потврђујем

Када се СалтСтацк формула је била покренути и завршени без грешака, требало би да будемо у стању да види nginxслушање на порту 81на nginxwww1и на порту 82на nginxwww2као потврду.

Закључак

Ова прилично лагана, али већ моћна СалтСтацк формула може се додатно проширити да би се додала подршка за ХТТПС, вероватно интеграцијом Лет'с Енцрипт, подршком за ЦГИ или ПХП позадинске програме и свиме што можете и ручно да урадите. Овај водич је требало да вам пружи основну идеју о СалтСтацк формулама и стубовима који се користе за примену конфигурационих датотека. Срећна аутоматизација!

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више