Водич за почетнике - Ансибле Плаибоокс, Вариаблес, анд Инвентори

Beginner S Tutorial Ansible Playbooks



Књиге за репродукцију Ансибле су датотеке које садрже задатке који се извршавају ради конфигурисања хостова са Ансиблеом. Одговорне књиге за игру написане су у ИАМЛ формату. ИАМЛ је врло једноставан формат датотеке попут ЈСОН -а. У каснијем одељку овог чланка показаћу вам како књиге о играма Ансибле ИАМЛ изгледају.

Датотеке инвентара Ансибле садрже листу хостова које желите да конфигуришете или управљате помоћу Ансибле. Можете груписати ове хостове и управљати њима по групама. Такође можете проследити различите променљиве за сваки хост или за групу хостова.







У овом чланку ћу вам показати како се ради са Ансибле књигама, варијаблама, датотекама инвентара и неким уобичајеним Ансибле модулима са практичним примерима. Дакле, почнимо!



Предуслови

Ако желите да испробате примере у овом чланку,



1) Морате да имате инсталиран Ансибле на свом рачунару.
2) Морате имати барем Убунту/Дебиан хост и ЦентОС/РХЕЛ 8 хост конфигурисан за Ансибле аутоматизацију.





На ЛинукХинту постоји много чланака посвећених инсталирању Ансибле -а и конфигурисању хостова за Ансибле аутоматизацију. За више информација можете погледати ове чланке ако је потребно.

Креирање директоријума пројеката

Прво креирајте директоријум пројекта ~/пројецт/ са следећом командом:

$мкдир -пв~/пројекат/књиге за игру

Идите до ~/пројецт/ именик на следећи начин:

$ЦД~/пројекат

Основна датотека инвентара:

Направите датотеку инвентара Ансибле домаћини у директоријуму пројекта са следећом командом:

$нанодомаћини

Можете унети ИП адресе хостова које желите да конфигуришете/аутоматизујете користећи Ансибле у домаћини инвентарна датотека.

192.168.20.167
192.168.20.168
192.168.20.169
192.168.20.170

Када завршите са овим кораком, сачувајте датотеку притиском на + Икс затим И и .

Ако желите да користите ДНС имена уместо ИП адреса у датотеци инвентара, то можете учинити и ви.

Ако немате исправан ДНС сервер, можете користити /етц/хостс датотеку на рачунару за локалну ДНС резолуцију.

За локалну ДНС резолуцију отворите /етц/хостс датотека са уређивачем текста ( нано , у мом случају) на следећи начин:

$судо нано /итд/домаћини

Унесите ИП адресе и жељена ДНС имена на следећи начин:

192.168.20.167 вм1.нодеките.цом
192.168.20.168 вм2.нодеките.цом
192.168.20.169 вм3.нодеките.цом
192.168.20.170 вм4.нодеките.цом

Када завршите са овим кораком, притисните + Икс затим И и .

Отворите датотеку инвентара Ансибле домаћини као што следи:

$нанодомаћини

Сада можете унети ДНС имена хостова које желите да конфигуришете/аутоматизујете користећи Ансибле у домаћини инвентарна датотека.

вм1.нодеките.цом
вм2.нодеките.цом
вм3.нодеките.цом
вм4.нодеките.цом

Када завршите, сачувајте датотеку инвентара хостова притиском на + Икс затим И и .

Тестирање повезаности са свим хостовима

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

$ансибледомаћини свиансибле пинг

Као што видите, сви домаћини у датотеци инвентара су доступни. Дакле, спремни смо за прелазак на следећи одељак овог чланка.

Ваша прва одговорна књига

Хајде да направимо једноставну књигу Ансибле пинг_алл_хостс.иамл у књиге за игру/ именик. Ова акција ће пингати све домаћине у домаћини пописни досије, као и до сада.

$нанокњиге за игру/пинг_алл_хостс.иамл

Откуцајте следеће редове у пинг_алл_хостс.иамл Датотека Ансибле плаибоок:

- домаћини: сви
корисник: ансибле
задаци:
- наме: Пингује све хостове
пинг:

Овде,

домаћини: сви - бира све хостове из датотеке инвентара домаћини .
корисник: ансибле - каже Ансибле то ССХ у хостове у датотеци инвентара као ансибле корисника.
задацима - овде су наведени сви задаци које ће Ансибле извршавати на хостовима. Сваки од задатака обично има име и једну или више опција специфичних за модул.

Књига за игру пинг_алл_хостс.иамл има само један задатак, пингује све хостове у датотеци инвентара домаћини . Назив задатка је Пингује све домаћине и користи пинг модул.

Тхе пинг модулу не требају друге опције. Дакле, оставио сам га празним (нема ништа после дебелог црева, : )

Када завршите са овим кораком, сачувајте датотеку притиском на + Икс затим И и .

Можете покренути пинг_алл_хостс.иамл Одговорна књига на следећи начин:

$ансибле-плаибоокводи књиге за игру/пинг_алл_хостс.иамл

Као што видите, задатак пинг је успешан на свим хостовима у датотеци инвентара.

Једноставна Ансибле конфигурацијска датотека

У ранијем примеру морали сте да користите могућност да Ансиблеу кажете коју датотеку инвентара треба користити. У мом случају, то је домаћини инвентарна датотека.

$ансибле-плаибоокводи књиге за игру/пинг_алл_хостс.иамл

Ако не желите да проследите датотеку инвентара са опцију сваки пут када покренете Ансибле плаибоок, све што морате да урадите је да поставите подразумевану датотеку инвентара за свој пројекат.

Да бисте то урадили, креирајте нову конфигурацијску датотеку Ансибле ансибле.цфг у корену вашег пројекта на следећи начин:

$наноансибле.цфг

Откуцајте следеће редове у ансибле.цфг фајл:

[задане вредности]
инвентар =./домаћини

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Исту књигу Ансибле можете играти на следећи начин:

$књиге за игру ансибле-плаибоок/пинг_алл_хостс.иамл

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

Груписање хостова у датотеци инвентара

До сада сам вам показао како да покренете скуп задатака (књигу репродукције) на свим хостовима у датотеци инвентара. Али шта ако желите да покренете скуп задатака на неким од хостова и други скуп задатака на другим хостовима? Можете груписати хостове у датотеци инвентара и покренути различите задатке на групама хостова.

У овом одељку ћу вам показати како груписати хостове у датотеци инвентара и како радити са групама хостова.

Прво отворите датотеку инвентара домаћини као што следи:

$нанодомаћини

Откуцајте следеће редове у домаћини инвентарна датотека:

[дебиан10]
вм1.нодеките.цом
вм2.нодеките.цом
[центос8]
вм3.нодеките.цом
вм4.нодеките.цом

Овде сам створио две групе домаћина: дебиан10 и центос8 .

У дебиан10 група, имам два домаћина: вм1.нодеките.цом и вм2.нодеките.цом

У центос8 група, имам два домаћина: вм3.нодеките.цом и вм4.нодеките.цом

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Сада ћемо створити нову књигу за игру пинг_дебиан10_хостс.иамл , који ће пингати домаћине као и до сада, али само домаћини у дебиан10 група домаћина.

Направите књигу за игру пинг_дебиан10_хостс.иамл у књиге за игру/ именик на следећи начин:

$нанокњиге за игру/пинг_дебиан10_хостс.иамл

Откуцајте следеће редове у пинг_дебиан10_хостс.иамл Одговорна књига:

- домаћини: дебиан10
корисник: ансибле
задаци:
- наме: Пинг алл Дебиан10домаћини
пинг:

Уместо домаћини: сви , Додао сам домаћини: дебиан10 овде. дебиан10 је група домаћина. Ова књига ће се приказивати само на домаћинима у дебиан10 група домаћина.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покрени књигу на следећи начин:

$књиге за игру ансибле-плаибоок/пинг_дебиан10_хостс.иамл

Као што видите, само домаћини у дебиан10 пингује се група домаћина.

Користећи исту методу, направите другу књигу пинг_центос8_хостс.иамл као што следи:

$нанокњиге за игру/пинг_центос8_хостс.иамл

Откуцајте следеће редове у пинг_центос8_хостс.иамл Одговорна књига:

- домаћини: центос8
корисник: ансибле
задаци:
- наме: Пинг алл ЦентОС8домаћини
пинг:

На исти начин, додао сам домаћини: центос8 овде. центос8 је група домаћина. Ова књига ће се приказивати само на домаћинима у центос8 група домаћина.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покрени књигу на следећи начин:

$књиге за игру ансибле-плаибоок/пинг_центос8_хостс.иамл

Као што видите, само домаћини у центос8 пингује се група домаћина.

Врсте варијабли Ансибле

У Ансиблеу постоје различите врсте променљивих. Главни типови променљивих су Варијабле Ансибле Фацтс и Кориснички дефинисане променљиве .

Променљиве одговорних чињеница: У зависности од домаћина на ком Ансибле ради, Ансибле генерише варијабле Ансибле чињеница. Варијабле Одговорне чињенице садрже информације о хосту, као што су ИП адресе, име хоста, назив домена, датум, време, променљиве окружења љуске и друго.

Кориснички дефинисане променљиве: Ово су прилагођене променљиве које дефинише корисник. Кориснички дефинисане променљиве можете проследити из командне линије или помоћу датотеке инвентара.

Кориснички дефинисане променљиве су две врсте: Групне променљиве и Променљиве хоста .

Одговорна променљива предност

Варијабилни приоритет Ансибле -а је : Променљиве командне линије > Хост Вариаблес > Групне променљиве

Ако поставите исту променљиву као променљиву хоста и променљиву групе, примениће се променљива домаћина.

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

Рад са променљивима Ансибле Фацтс

У овом одељку ћу вам показати како радити са варијаблама Ансибле чињеница. Дакле, почнимо!

Можете да наведете све варијабле Ансибле Фацтс домаћина у вашем домаћини списак инвентара на следећи начин:

$одговорно свеансиблеподесити

Као што видите, све променљиве Ансибле Фацтс наведене су у ЈСОН формату. То је веома дугачак списак.

Пошто је листа прилично дугачка, можете је отворити помоћу пејџер програма као што је мање као што следи:

$одговорно свеансиблеподесити| мање

Сада можете померити излаз горе, доле, лево и десно према потреби.

Имена променљивих можете потражити и на пејџеру. Да бисте то урадили, притисните / тастер на тастатури. Затим унесите низ за претрагу ( хостнаме у мом случају) и притисните .

Као што видите, променљива Ансибле фацт која се подудара са низом за претрагу је ансибле_хостнаме . Можете притиснути Н да бисте прешли на следећи меч и П да бисте прешли на претходну утакмицу са пејџера. Овако проналазите варијаблу Ансибле чињеница која вам је потребна за ваш пројекат Ансибле.

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

Направите нову књигу за игру принт_вариабле1.иамл као што следи:

$нанокњиге за игру/принт_вариабле1.иамл

Откуцајте следеће редове у принт_вариабле1.иамл фајл:

- домаћини: сви
корисник: ансибле
задаци:
- назив: Штампахостнамесвих домаћина
отклањање грешака:
порука:'{{ансибле_хостнаме}}'

Овде сам додао један задатак Одштампајте име хоста свих хостова . Овај задатак користи Ансибле отклањање грешака модул за штампање поруке када се покрене књига.

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

Овде, {{име_променљиве}} формат се користи за приступ променљивој. У овом случају, {{ансибле_хостнаме}} се користи за штампање ансибле_хостнаме променљива сваког од хостова у датотеци инвентара.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Варијабли Ансибле чињеница можете приступити и као Ансибле_фацтс [име_променљиве] . Дакле, ансибле_хостнаме променљива ће постати ансибле_фацтс [име хоста] .

Можемо поново да напишемо принт_вариабле1.иамл овакву књигу игара. Добићемо исти излаз.

- домаћини: сви
корисник: ансибле
задаци:
- назив: Штампахостнамесвих домаћина
отклањање грешака:
порука:'{{ансибле_фацтс [' вариабле_наме ']}}'

Покрени књигу принт_вариабле1.иамл као што следи:

$књиге за игру ансибле-плаибоок/принт_вариабле1.иамл

Као што видите, име хоста сваког од хостова у датотеци инвентара одштампано је на конзоли.

Одштампајмо сада подразумевану ИПв4 адресу сваког хоста заједно са именом хоста. Као што видите, подразумеваној ИПв4 адреси хоста можете приступити помоћу адреса власништво ансибле_дефаулт_ипв4 објекат.

Направите нову књигу за игру принт_вариабле2.иамл као што следи:

$нанокњиге за игру/принт_вариабле2.иамл

Откуцајте следеће редове у принт_вариабле2.иамл фајл:

- домаћини: сви
корисник: ансибле
задаци:
- назив: Штампахостнамесвих домаћина
отклањање грешака:
порука:'{{ансибле_хостнаме}} - {{ансибле_дефаулт_ипв4.аддресс}}'

Ова књига је иста као и раније. Једина разлика је нова променљива {{ансибле_дефаулт_ипв4.адресс}} у мсг опцију од отклањање грешака модул.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покренути принт_вариабле2.иамл књига за игру на следећи начин:

$књиге за игру ансибле-плаибоок/принт_вариабле2.иамл

Као што видите, подразумевана ИПв4 адреса и назив хоста одштампани су на конзоли.

Дакле, овако радите са променљивим Ансибле Фацтс.

Постављање кориснички дефинисаних променљивих из командне линије:

У овом одељку ћу вам показати како поставити кориснички дефинисане променљиве из командне линије док покрећете Ансибле плаибоокс.

Прво, направите нову књигу за игру принт_вариабле3.иамл као што следи:

$нанокњиге за игру/принт_вариабле3.иамл

Откуцајте следеће редове у принт_вариабле3.иамл фајл:

- домаћини: сви
корисник: ансибле
задаци:
- назив: Штампакомандалинијска променљива
отклањање грешака:
порука:'Добро дошли {{корисничко име}}'

Овде сам користио отклањање грешака модул за штампање поруке Добро дошли, {{корисничко име}} . корисничко име је променљива која ће бити замењена када покренемо књигу.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покрени књигу принт_вариабле3.иамл као што следи:

$ансибле-плаибоок 'корисничко име = Боб'књиге за игру/принт_вариабле3.иамл

БЕЛЕШКА: Овде, опција се користи за прослеђивање а корисничко име променљива са вредношћу Боб у књигу књига принт_вариабле3.иамл из командне линије.

Као што видите, порука Добродошао Бобе је одштампан на конзоли.

Хајде сада да откријемо како проследити више променљивих из командне линије.

Направите нову књигу за игру принт_вариабле4.иамл као што следи:

$нанокњиге за игру/принт_вариабле4.иамл

Откуцајте следеће редове у принт_вариабле4.иамл фајл:

- домаћини: сви
корисник: ансибле
задаци:
- наме: Штампа кориснички дефинисане променљиве
отклањање грешака:
порука:'корисничко име = {{корисничко име}} хттп_порт = {{хттп_порт}}'

Књига би вам сада требала бити врло позната. Све што треба да уради је да одштампа 2 променљиве корисничко име и хттп_порт на конзоли.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Сада можете проћи корисничко име и хттп_порт променљива у књигу за игру користећи две различите опцију на следећи начин:

$ ансибле-плаибоок 'корисничко име = Боб' 'хттп_порт = 8080'
књиге за игру/принт_вариабле4.иамл

Или можете једноставно одвојити променљиве размаком, на следећи начин:

$ ансибле-плаибоок 'корисничко име = Боб хттп_порт = 8080'
књиге за игру/принт_вариабле4.иамл

Као што видите, корисничко име и хттп_порт променљиве се штампају на конзоли.

Рад са групним променљивим које дефинише корисник

Рецимо, желите да додате неке променљиве у групу хостова. Ова радња је врло лако извршити у Ансиблеу.

Прво отворите свој домаћини списак инвентара на следећи начин:

$нанодомаћини

Унесите следеће редове у домаћини инвентарна датотека:

[дебиан10]
вм1.нодеките.цом
вм2.нодеките.цом
[дебиан10: варс]
корисничко име = Лили
хттп_порт =4343
[центос8]
вм3.нодеките.цом
вм4.нодеките.цом
[центос8: варс]
корисничко име = Боб
хттп_порт =7878

Као што видите, направио сам нови одељак [дебиан10: варс] за дебиан10 хост група и додала променљиве ( корисничко име и хттп_порт ) за дебиан10 група домаћина.

На исти начин, створио сам нови одељак [центос8: варс] за центос8 хост група и додала променљиве ( корисничко име и хттп_порт ) за центос8 група домаћина.

Када завршите, сачувајте домаћини пописну датотеку притиском на + Икс затим И и .

Покренути принт_вариабле4.иамл књиге за игру на следећи начин:

$књиге за игру ансибле-плаибоок/принт_вариабле4.иамл

Као што видите, исправне променљиве се прослеђују сваком од хостова у зависности од групе хостова.

Рад са кориснички дефинисаним променљивим хоста

У овом одељку ћу вам показати како да подесите променљиве за одређене хостове у датотеци инвентара.

Прво отворите домаћини списак инвентара на следећи начин:

$нанодомаћини

Да бисте додали променљиве на одређени хост (рецимо, вм1.нодеките.цом ), само додајте размак/картицу након имена ИП/ДНС хоста и унесите своје променљиве, као што је приказано на слици испод.

Можете додати и више променљивих. Једноставно одвојите сваку променљиву размаком.

Када завршите, сачувајте датотеку инвентара притиском на + Икс затим И и .

Покренути принт_вариабле4.иамл књиге за игру на следећи начин:

$књиге за игру ансибле-плаибоок/принт_вариабле4.иамл

Као што видите, променљиве су постављене само за вм1.нодеките.цом домаћин. Остали домаћини имају примењене променљиве група.

Брзо генерисање датотека инвентара са опсезима

Можете користити опсеге за брзо генерисање Ансибле датотека инвентара ако су ваше ИП адресе домаћина или ДНС називи конзистентни (тј. Имају одређени формат).

У ранијим примерима користио сам хостове вм1.нодеките.цом , вм2.нодеките.цом , вм3.нодеките.цом и вм4.нодеките.цом . Уместо да куцам у 4 реда, могао сам само да откуцам вм [1: 4] .нодеките.цом у спису инвентара.

Да бисте експериментисали са опсезима, отворите домаћини списак инвентара на следећи начин:

$нанодомаћини

Уклоните све хостове и променљиве из датотека инвентара.

Сада можемо заменити вм1.нодеките.цом и вм2.нодеките.цом са вм [1: 2] .нодеките.цом за дебиан10 група домаћина на следећи начин.

На исти начин можемо заменити вм3.нодеките.цом и вм4.нодеките.цом са вм [3: 4] .нодеките.цом за центос8 група домаћина.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покренути пинг_алл_хостс.иамл као што следи:

$књиге за игру ансибле-плаибоок/пинг_алл_хостс.иамл

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

Чување променљивих у различитим датотекама

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

Подразумевано, Ансибле тражи групне променљиве у гроуп_варс / директоријума и променљивих хоста у хост_варс / именик.

Дакле, креирајте гроуп_варс / и хост_варс / именик на следећи начин:

$мкдир -пв {домаћин, група}_вхосе

Да бисте поставили групне променљиве за дебиан10 хост гроуп, креирајте датотеку дебиан10 (исто као назив групе) у гроуп_варс / именик на следећи начин:

$наногроуп_варс/дебиан10

Унесите своје променљиве на следећи начин:

корисничко име: Лили
хттп_порт: 4343

Када завршите, сачувајте датотеку притиском на + Икс следи И и .

На исти начин, за постављање групних променљивих за центос8 хост гроуп, креирајте датотеку центос8 (исто као назив групе) у гроуп_варс / именик на следећи начин:

$наногроуп_варс/центос8

Унесите своје променљиве на следећи начин:

корисничко име: Боб
хттп_порт: 7878

Када завршите, сачувајте датотеку притиском на + Икс следи И и .

Покренути принт_вариабле4.иамл књига за игру на следећи начин:

$књиге за игру ансибле-плаибоок/принт_вариабле4.иамл

Као што видите, променљиве групе су исправно постављене за сваку групу домаћина.

Да бисте подесили променљиве хоста за хоста вм1.нодеките.цом , креирајте датотеку вм1.нодеките.цом (исто као име хоста или ИП адреса) у хост_варс / именик на следећи начин:

$нановм1.нодеките.цом

Унесите своје променљиве хоста на следећи начин:

корисничко име: Алек
хттп_порт: 7788

Када завршите, сачувајте датотеку притиском на + Икс следи И и .

Покренути принт_вариабле4.иамл књига за игру на следећи начин:

$ ансибле-плаибоок плаибоокс/принт_вариабле4.иамл
[

Као што видите, променљиве хоста су исправно подешене за хоста вм1.нодеките.цом .

Рад са петљама у Ансиблеу

У овом одељку ћу вам показати како се користе петље у Ансиблеу.

Прво, направите нову књигу за игру лооп1.иамл у књиге за игру/ именик на следећи начин:

$нанокњиге за игру/лооп1.иамл

Откуцајте следеће редове у лооп1.иамл књига за игру:

- домаћини: сви
корисник: ансибле
задаци:
- име: Одштампај листу корисника
отклањање грешака:
порука:'Корисник: {{итем}}'
витх_итемс:
- Алек
- Боб
- Лили

Овде имам 1 задатак који штампа листу корисника помоћу петље.

Да бисте поставили вредности понављања задатка, користите витх_итемс модул. Затим додајете вредности једну по једну.

витх_итемс:
- Алек
- Боб
- Лили

Вредности тренутне итерације приступате помоћу ставка променљива.

отклањање грешака:
порука:'Корисник: {{итем}}'

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покренути лооп1.иамл књига за игру на следећи начин:

$књиге за игру ансибле-плаибоок/лооп1.иамл

Као што видите, исти задатак је извршен за сваку ставку на сваком хосту. Дакле, петља ради.

Рад са условима у Ансибле

Ако желите да покрећете задатке на основу одређених услова, онда је овај одељак за вас.

Да бисте извршавали задатке на основу услова, можете користити када модул Ансибле. Погледајмо пример овог модула. Прво, направите нову књигу за игру стање1.иамл као што следи:

$нанокњиге за игру/стање1.иамл

Откуцајте следеће редове у стање1.иамл књига за игру:

- домаћини: сви
корисник: ансибле
задаци:
- наме: Покрените овај задатак само на Дебиану
отклањање грешака:
порука:'овај задатак је покренут на Дебиану'
када: ансибле_фацтс['дистрибуција']=='Дебиан'

Овде,

ансибле_фацтс ['дистрибутион'] == 'Дебиан' користи се за проверу да ли је дистрибуција је Дебиан . Задатак ће се изводити само ако је дистрибуција Дебиан.

Тхе ансибле_фацтс ['дистрибуција'] се користи за приступ променљивој Ансибле Фацтс ансибле_дистрибутион . Такође можете проверити да ли постоји верзија за дистрибуцију помоћу ансибле_дистрибутион_мајор_версион променљива.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покренути стање1.иамл књига за игру на следећи начин:

$књиге за игру ансибле-плаибоок/стање1.иамл

Као што видите, задатак је покренут само на Дебиан хостовима. Задатак није покренут на ЦентОС хостовима.

Такође можете да проверите више услова истовремено и покренете задатак само ако су сви услови тачни. Погледајмо пример.

Направите нову књигу за игру цондитион2.иамл као што следи:

$нанокњиге за игру/цондитион2.иамл

Откуцајте следеће редове у цондитион2.иамл фајл:

- домаћини: сви
корисник: ансибле
задаци:
- наме: Покрените овај задатак само на Дебиану10
отклањање грешака:
порука:'овај задатак је покренут на Дебиан 10'
када: ансибле_фацтс['дистрибуција']=='Дебиан'
анд ансибле_фацтс['дистрибутион_мајор_версион']=='10'

Овде ће се задатак изводити само ако је дистрибуција Дебиан ( ансибле_фацтс ['дистрибутион'] == 'Дебиан' ), а верзија је 10 ( ансибле_фацтс [‘дистрибутион_мајор_версион’] == ’10’ ). Ако су оба услова тачна, задатак ће се покренути. У супротном, задатак се неће покренути.

Користио сам и кључна реч да бисте проверили да ли су оба услова тачна. Ако желите да проверите да ли је неко од услова тачно, можете користити или уместо тога кључна реч.

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покрени књигу цондитион2.иамл као што следи:

$књиге за игру ансибле-плаибоок/цондитион2.иамл

Као што видите, задатак се изводио само на хостима Дебиан 10.

Хајде да променимо књигу цондитион2.иамл да бисте извршили задатак само на Дебиан 8 хостовима на следећи начин.

Као што видите, сви домаћини су прескочени јер немам ниједан Дебиан 8 хост у датотеци инвентара.

Рад са модулом Ансибле апт

Тхе погодан модул Ансибле користи се за инсталирање одређеног софтверског пакета на Убунту/Дебиан хостовима. Хајде да видимо како да користимо овај модул.

Прво, направите нову књигу за игру апт1.иамл у књиге за игру/ именик на следећи начин:

$нанокњиге за игру/апт1.иамл

Откуцајте следеће редове у апт1.иамл књига за игру:

- домаћини: дебиан10
корисник: ансибле
постати: Истина
задаци:
- наме: Инсталирајте апацхе2
погодан:
име: апацхе2
стање: најновије

Тхе погодан модул захтева само име пакета који желите да инсталирате/надоградите/уклоните и држава пакета.

Ево, покушавам да инсталирам апацхе2 пакет ( име: апацхе2 ) на мојим Дебиан 10 домаћинима. Док покушавам да инсталирам пакет и надоградим га ако је доступна нова верзија, држава требало би најновији .

држава такође прихвата следеће опције:

- одсутан - Пакет ће бити уклоњен ако је већ инсталиран.
- најновији - Пакет ће бити надограђен ако је доступно ажурирање. Ако пакет већ није инсталиран, биће инсталиран.
- поклон - Пакет ће бити инсталиран ако већ није инсталиран. Али пакет неће бити надограђен ако је доступно ажурирање.

Приметите да сам додао постати: Истина у књизи за игру. Ово ће дати ансибле корисничке судо привилегије за измену структуре датотечног система (тј. инсталирање/надоградња/уклањање пакета). Без постати: Истина , тхе погодан модул неће моћи да инсталира апацхе2 пакет.

Када завршите, сачувајте књигу за репродукцију притиском на + Икс затим И и .

Покренути апт1.иамл књига за игру на следећи начин:

$књиге за игру ансибле-плаибоок/апт1.иамл

Као што видите, књига је успешно покренута на хостима Дебиан 10.

Као што видите, апацхе2 пакет је инсталиран на мојим Дебиан 10 хостовима.

Рад са Ансибле днф/иум модулом

Тхе днф и иум модул Ансибле се користи за инсталирање одређеног софтверског пакета на ЦентОС/РХЕЛ хостовима. Овај модул можете користити на исти начин као и ви погодан модул у претходном одељку овог чланка.

Оба днф и иум модули прихватају исте параметре. Можете користити днф модул на ЦентОС/РХЕЛ 8 хостовима, и иум на ЦентОС/РХЕЛ 7 или старијим верзијама.

Погледајмо сада пример овог модула.

Прво, направите нову књигу за игру днф1.иамл у књиге за игру/ именик на следећи начин:

$нанокњиге за игру/днф1.иамл

Откуцајте следеће редове у днф1.иамл књига за игру:

- домаћини: центос8
корисник: ансибле
постати: Истина
задаци:
- наме: Инсталирајте хттпд пакет
днф:
име: хттпд
стање: најновије

Тхе днф и иум модул захтева само име пакета који желите да инсталирате/надоградите/уклоните и држава пакета.

Ево, покушавам да инсталирам хттпд пакет ( име: хттпд ) на мојим хостима ЦентОС 8. Док покушавам да инсталирам пакет, а такође бих желео да га надоградим ако је доступна нова верзија, држава требало би најновији .

држава прихвата следеће опције:

- одсутан - Пакет ће бити уклоњен ако је већ инсталиран.
- најновији - Пакет ће бити надограђен ако је доступно ажурирање. Ако пакет већ није инсталиран, биће инсталиран.
- поклон - Пакет ће бити инсталиран ако већ није инсталиран. Али пакет неће бити надограђен ако је доступно ажурирање.

Приметите да сам додао постати: Истина у књизи за игру. Ово даје ансибле корисничке судо привилегије за измену структуре датотечног система (тј. инсталирање/надоградња/уклањање пакета). Без постати: Истина , тхе погодан модул неће моћи да инсталира хттпд пакет.

Када завршите, сачувајте књигу за репродукцију притиском на + Икс затим И и .

Покренути днф1.иамл књига за игру на следећи начин:

$књиге за игру ансибле-плаибоок/днф1.иамл

Као што видите, књига је успешно покренута на ЦентОС 8 хосту.

Рад са модулом Ансибле сервице

Тхе услуга модул Ансибле се користи за покретање, заустављање, поновно покретање, омогућавање (додавање услуге покретању) и онемогућавање (уклањање услуге из покретања) услуга на вашим хостовима.

У ранијим одељцима сам вам показао како да инсталирате Апацхе ХТТП сервер пакет помоћу Ансибле -а погодан , днф и иум модули. Хајде сада да се уверимо да је услуга Апацхе ХТТП сервера покренута и да је додата при покретању система.

Радићу са својим домаћинима Дебиан 10. Али, ако желите, можете радити са хостима ЦентОС 8. Једноставно прилагодите књигу према томе.

Прво креирајте нову књигу Ансибле апт2.иамл као што следи:

$нанокњиге за игру/апт2.иамл

Откуцајте следеће редове у апт2.иамл књига за игру:

- домаћини: дебиан10
корисник: ансибле
постати: Истина
задаци:
- наме: Инсталирајте апацхе2
погодан:
име: апацхе2
стање: најновије
- наме: Покрените услугу апацхе2
услуга:
име: апацхе2
стање: започето
омогућено: Тачно

Овде сам додао нови задатак, Покрените услугу апацхе2 .

име: апацхе2 - услуга на којој радим је апацхе2 .

стање: започето - услуга мора да ради.

омогућено: Тачно - услуга се мора додати покретању система.

Тхе држава параметар прихвата и друге вредности.

- поново учитано - Услуга мора поново учитати конфигурацијске датотеке.
- рестартовано - Услуга се мора поново покренути.
- започео - Услуга мора да ради. Ако услуга није покренута, покрените је.
- престао - Услуга мора бити заустављена. Ако је услуга покренута, зауставите је.

Покрени књигу апт2.иамл као што следи:

$књиге за игру ансибле-плаибоок/апт2.иамл

Као што видите, књига је успешно покренута.

Као што видите, апацхе2 услуга ради на мојим Дебиан 10 хостовима.

Рад са модулом Ансибле цопи

Тхе Ансибле копија Модул се углавном користи за копирање датотека са вашег рачунара на удаљене хостове.

У претходном одељку инсталирао сам Апацхе 2 веб сервер на своје Дебиан 10 хостове. Копирајмо сада индек.хтмл датотеку на веб роот -у хостова Дебиан 10.

Прво креирајте нови директоријум фајлови/ као што следи:

$мкдир фајлови

Креирајте нову датотеку индек.хтмл у фајлови/ именик на следећи начин:

$нанофајлови/индек.хтмл

Откуцајте следеће редове у индек.хтмл фајл:


< хтмл >
< глава >
< наслов >Вебсервер би Ансибле</ наслов >
</ глава >
< тело >
< х1 >Добро дошли у ЛинукХинт</ х1 >
< п >Овај веб сервер је примењен са Ансиблеом.</ п >
</ тело >
</ хтмл >

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Направите нову књигу Ансибле апт3.иамл као што следи:

$нанокњиге за игру/апт3.иамл

Откуцајте следеће редове у апт3.иамл фајл:

- домаћини: дебиан10
корисник: ансибле
постати: Истина
задаци:
- наме: Инсталирајте апацхе2
погодан:
име: апацхе2
стање: најновије
- наме: Копирајте индек.хтмл на сервер
копија:
срц: ../фајлови/индек.хтмл
дест:/где/ввв/хтмл/индек.хтмл
режим: 0644
власник: ввв-дата
група: ввв-подаци
- наме: Покрените услугу апацхе2
услуга:
име: апацхе2
стање: започето
омогућено: Тачно

Ево, задатак Копирајте индек.хтмл на сервер копира индек.хтмл од фајлови/ директоријум у / вар / ввв / хтмл / директоријум хостова Дебиан 10.

срц: ../филес/индек.хтмл - Путања изворне датотеке.
дест: /вар/ввв/хтмл/индек.хтмл - Путања одредишне датотеке.
режим: 0644 - Дозволе за корисника датотеке (6 - читање и писање), групу (4 - читање) и друге (4 - читање).
власник: ввв-дата - Подесите власника датотеке на ввв-подаци .
група: ввв-подаци - Подесите групу датотеке на ввв-подаци .

Када завршите, сачувајте датотеку притиском на + Икс затим И и .

Покренути апт3.иамл књига за игру на следећи начин:

$књиге за игру ансибле-плаибоок/апт3.иамл

Као што видите, задатак Копирајте индек.хтмл на сервер је успешан.

Као што видите, индек.хтмл датотека је копирана на Дебиан 10 хостове.

Као што видите, Дебиан 10 веб сервер служи индек.хтмл страницу коју сам управо копирао на Дебиан 10 хостове.

Дакле, ово су основе Ансиблеа. Више о Ансиблеу можете сазнати читајући службену документацију Ансиблеа. Хвала вам што сте прочитали овај чланак.