Водич за шефа кухиње - Трансформишите инфраструктуру у код



Цхеф Туториал је други блог Цхеф блогова. Овај блог са примерима објашњава Цхеф архитектуру и Цхеф компоненте као што су Кувари, Рецепти итд.

Водич за кувара

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

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





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



Водич за куваре - архитектура кувара

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

  • Радна станица
  • Сервер
  • Чворови

Архитектура кувара - Водич за куваре - Едурека

Водич за шефа кухиње - радна станица



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

Радне станице су одговорне за обављање следећих функција:

  • Писање кувара и рецепата који ће касније бити пребачени на централни Цхеф Сервер
  • Управљање чворовима на централном Цхеф серверу

Сада, схватимо горе поменуте тачке једну по једну.

Писање кувара и рецепата који ће касније бити пребачени на централни Цхеф Сервер

Рецепти: Рецепт је колекција ресурса која описује одређену конфигурацију или политику. Описује све што је потребно за конфигурисање дела система. Корисник пише рецепте који описују како Цхеф управља апликацијама и услужним програмима (попут Апацхе ХТТП сервера, МиСКЛ или Хадооп) и како их треба конфигурисати.

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

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

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

  • Рецепти, који прецизира ресурсе који ће се користити и редослед којим ће се примењивати
  • Вредности атрибута
  • Дистрибуције датотека
  • Предлошци
  • Проширења за Цхеф, као што су библиотеке, дефиниције и прилагођени ресурси

Управљање чворовима на централном Цхеф серверу

Систем Воркстатион ће имати потребне услужне програме командне линије за контролу и управљање свим аспектима централног Цхеф сервера. Ствари попут додавања новог чвора на централни Цхеф сервер, брисање чвора са централног Цхеф сервера, модификовање конфигурација чвора итд., Могу се управљати са саме радне станице.

Сада да видимо, које су компоненте радне станице потребне за обављање горе наведених функција.

Радне станице имају две главне компоненте:

Услуга ножа: Овај алат за командну линију може се користити за комуникацију са централним Цхеф сервером са радне станице. Додавање, уклањање, промена конфигурација чворова у централном Цхеф серверу вршиће се помоћу овог услужног програма Книфе. Користећи услужни програм Книфе, Куварице се могу отпремити на централни Цхеф Сервер и Ролес, такође се може управљати окружењима. У основи, сваким аспектом централног Цхеф сервера може се управљати са радне станице помоћу услужног програма Книфе.

Локално спремиште кувара: Ово је место где се чува свака конфигурациона компонента централног Цхеф сервера. Ово Цхеф спремиште може се синхронизовати са централним Цхеф сервером (поново користећи сам услужни програм за ножеве).

Водич за куваре - Цхеф сервер

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

Чворови користе Цхеф-Цлиент да затраже од Цхеф сервера детаље о конфигурацији, попут рецепата, шаблона и дистрибуције датотека. Шеф-клијент тада обавља што је могуће више послова на конфигурацији на самим чворовима (а не на Цхеф серверу). На сваком чвору је инсталиран софтвер Цхеф Цлиент, који ће повући конфигурацију са централног Цхеф сервера која је применљива на тај чвор. Овај скалабилни приступ дистрибуира напоре око конфигурације у целој организацији.

Водич за куваре - Цхеф Нодес

Чворови могу бити виртуелни сервер заснован на облаку или физички сервер у вашем властитом центру података, којим се управља помоћу централног Цхеф сервера. Главна компонента која мора бити присутна на чвору је агент који ће успоставити комуникацију са централним Цхеф сервером. Ово се зове клијент кувара.

Кувар клијент обавља следеће функције:

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

Кликните овде да бисте сазнали како да инсталирате Цхеф Сервер, Воркстатион и Ноде

Водич за шефа кухиње - Предности шефа кухиње:

Ово упутство за шефа биће непотпуно ако не укључим кључне предности шефа кухиње:

постављање Јава цласспатх у линук
  • Можете да аутоматизујете целу инфраструктуру користећи Цхеф. Сви задаци који су се ручно радили, сада се могу обављати помоћу алата Цхеф.
  • Помоћу Цхефа можете да конфигуришете хиљаде чворова у року од неколико минута.
  • Аутоматизација кувара ради са већином јавних понуда у облаку попут .
  • Шеф неће само аутоматизовати ствари, већ ће и системе одржавати под доследном провером и потврђивати да је систем заправо конфигурисан онако како је потребно (шеф агент / клијент ради овај посао). Ако неко погреши модификујући датотеку, кувар ће је исправити.
  • Читава инфраструктура може се снимити у облику Цхеф спремишта, које се може користити као нацрт за поновно стварање инфраструктуре од нуле.

Надам се да сте до сада уживали у овом водичу за кувара, довољно са теоретским објавама! забавимо се са практичним.

Водич за шефа кухиње Први кораци са шефом кухиње Едурека

Водич за кувара - Хандс-Он

Овде ћу вам објаснити како да направите рецепт, кувар и шаблон на радној станици кувара. Такође ћу вам објаснити како распоредити Цоок Цоокбоок са радне станице на Цхеф-Цлиент (Цхеф Ноде).

Користим две виртуелне слике једну за Цхеф Воркстатион и другу за Цхеф Ноде. За Цхеф Сервер користићу хостовану верзију Цхеф-а (у облаку). Такође можете да користите физичку машину за Цхеф Сервер.

Корак 1: Инсталирајте Цхеф ДК (Развојни комплет) на своју Цхеф радну станицу.

Цхеф ДК је пакет који садржи све развојне алате који ће вам требати када кодирате Цхеф. Ево везе за преузимање Кувар ДК .

Овде одаберите оперативни систем који користите. Користим ЦентОС 6.8. Дакле, кликнућу на Ред Хат Ентерприсе Линук .

Копирајте везу према верзији ЦентОС-а коју користите. Користим ЦентОС 6, као што видите да сам нагласио на горњем снимку екрана.

Идите на терминал своје радне станице и преузмите Цхеф ДК помоћу команде вгет и залепите везу.

Извршите ово:

вгет хттпс://пацкагес.цхеф.ио/стабле/ел/6/цхефдк-1.0.3-1.ел6.к86_64.рпм

Пакет је сада преузет. Време је да инсталирате овај пакет користећи рпм.

Извршите ово:

рпм -ивх цхефдк-1.0.3-1.ел6.к86_64.рпм

Цхеф ДК је сада инсталиран на мојој радној станици.

Корак 2: Направите рецепт на радној станици

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

Извршите ово:

мкдир цхеф-репо цд ​​кувар-репо

У овом цхеф-репо директоријуму креираћу рецепт под називом едурека.рб. .рб је додатак који се користи за руби. Користићу вим едитор, можете користити било који други едитор који желите, попут гедит, емац, ви итд.

Извршите ово:

вим едурека.рб

Овде додајте следеће:

датотека '/ етц / мотд' садржај 'Крај добродошлице шефу кухиње'

Овај Р.еципе је дурека .рб креира датотеку под називом / етц / мотд са садржајем „Добродошли у кувара“.

подаци инстанце за јава класу

Сада ћу помоћу овог рецепта проверити да ли ради.

Извршити ово:

кувар-применити едурека.рб

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

Корак 3: М.одификујућа датотека рецепта за инсталирање хттпд пакета

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

Извршити ово:

вим едурека.рб

Овде додајте следеће:

пакет 'хттпд' услуга 'хттпд' уради акцију [: омогући,: старт] завршна датотека '/вар/ввв/хтмл/индек.хтмл' уради садржај 'Добродошли у Апацхе ин Цхеф' крај

Сада ћу применити ове конфигурације извршавањем наредбе у наставку:

Извршити ово:

кувар-применити едурека.рб

Извршење наредбе јасно описује сваку инстанцу у рецепту. Инсталира Апацхе пакет, омогућава и покреће хттпд услугу на радној станици. И креира датотеку индек.хтмл у подразумеваном корену документа са садржајем „Добродошли у Апацхе ин Цхеф“.

Сада потврдите инсталацију Апацхе2 отварањем вашег веб прегледача. Унесите своју јавну ИП адресу или име свог хоста. У мом случају, то је лоцалхост.

Корак 4: Сада ћемо створити нашу прву Куварицу.

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

Извршити ово:

мкдир куварице цд куварице кувар генеришу куварице хттпд_деплои

хттпд_деплои је име дато Кувару. Можете дати било које име које желите.

Пређимо на овај нови директоријум хттпд_деплои.

Извршити ово:

цд хттпд_деплои

Сада да видимо структуру датотека креиране Куварице.

Извршити ово:

дрво

Корак 5: Ц.реате датотеку предлошка.

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

Извршити ово:

кувар генерише шаблон хттпд_деплои индек.хтмл

Сада ако видите моју структуру датотеке Цоокбоок, постоји мапа креирана са предлошцима имена са датотеком индек.хтмл.ерб. Уредићу ову датотеку предлошка индек.хтмл.ерб и у њу ћу додати свој рецепт. Погледајте пример испод:

Идите на подразумевани директоријум

Извршити ово:

цд / роот / цхеф-репо / цоокбоок / хттпд_деплои / темплатес / дефаулт

Овде уредите образац индек.хтмл.ерб помоћу било ког уређивача који вам одговара. Користићу вим едитор.

Извршити ово:

вим индек.хтмл.ерб

Сада додајте следеће:

Добродошли у Цхеф Апацхе Деплоимент

Корак 6: Ц.створите рецепт са овим предлошком.

Идите у директоријум Рецепти.

Извршити т његов:

цд / роот / цхеф-репо / цоокбоокс / хттпд_деплои / рецепти

Сада уредите датотеку дефаулт.рб помоћу било ког уређивача који желите. Користићу вим едитор.

Извршити ово:

вим дефаулт.рб

Овде додајте следеће:

пакет 'хттпд' услуга 'хттпд' уради акцију [: омогући,: старт] крај шаблона '/вар/ввв/хтмл/индек.хтмл' уради извор 'индек.хтмл.ерб' крај

Сада ћу се вратити у свој кувар-репо директоријум и покренути / тестирати свој рецепт на својој радној станици.

Извршити ово:

цд / роот / цхеф-репо цхеф-цлиент --лоцал-моде --рунлист 'рецепт [хттпд_деплои]'

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

Сада када сам тестирао своју радну станицу. Време је да подесите Цхеф Сервер.

Корак 7: Поставите Цхеф Сервер

Користићу хостовану верзију Цхеф сервера у облаку, али можете користити и физичку машину. Овај Цхеф-Сервер је присутан на манаге.цхеф.ио

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

Овако изгледа Цхеф Сервер.

Ако се пријављујете први пут, прво што ћете радити је стварање организације. Организација је у основи група Машина којима ћете управљати са Цхеф сервером.

Прво ћу отићи на картицу администрације. Тамо сам већ створио организацију која се зове еду. Зато морам да преузмем почетни комплет на своју радну станицу. Овај почетни комплет ће вам помоћи да датотеке са радне станице пребаците на Цхеф Сервер. Кликните на икону подешавања са десне стране и кликните на Почетни комплет.

Када кликнете тамо, добићете опцију за преузимање Стартер Кит-а. Само кликните на њу да бисте преузели зип датотеку Стартер Кит.

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

Извршити ово:

распакујте цхеф-стартер.зип

Сада преместите овај почетни комплет у директоријум кувара у цхеф-репо директоријуму.

Извршити ово:

мв стартер / роот / цхеф-репо / цоокбоок

Куварске књиге кувара доступне су на Цоокбоок Супер Маркету, а можемо и Цхеф СуперМаркет. Преузмите потребне куварске књиге са супермаркет.цхеф.ио . Преузимам једну књигу кувара да бих одатле инсталирао Апацхе.

Извршити е т х је:

цд кувар-кувар кувара ножа кувар страница преузми леарн_цхеф_хттпд

Ту је куглица Тар преузета за Апацхе Цоокбоок. Сада треба да издвојимо садржај из ове преузете Тар датотеке. За то ћу користити команду тар.

тар -квф леарн_цхеф_хттпд-0.2.0.тар.гз

Све потребне датотеке се аутоматски креирају у оквиру ове Куварице. Нема потребе за било каквим изменама. Проверимо опис рецепта у фасцикли мојих рецепата.

Извршити т х је :

цд / роот / цхеф-репо / леарн_цхеф_хттпд / рецепти цат дефаулт.рб

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

Корак 8: Отпремите књигу кувара на Цхеф Сервер.

Да бисте отпремили Апацхе Цоокбоок који сам преузео, прво преместите ову датотеку леарн_цхеф_хттпд у директоријум Цоокбоокс у цхеф-репо. Затим промените свој именик у књиге кувара.

Извршити т х је :

мв / роот / цхеф-репо / леарн_цхеф_хттпд / роот / цхеф-репо / цоокбоокс

Сада пређите на овај директоријум кувара.

Извршите ово:

ЦД кувари

Сада у овом директоријуму извршите наредбу испод да бисте отпремили Апацхе Цоокбоодо:

Екец уте т х је:

нож кувар отпремити леарн_цхеф_хттпд

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

Сада је наш последњи корак додавање Цхеф Ноде-а. Подесио сам радну станицу, Цхеф сервер и сада морам да додам своје клијенте на Цхеф Сервер ради аутоматизације.

Корак 9: Додавање Цхеф чвора на Цхеф сервер.

У сврху демонстрације користићу једну ЦентОС машину као Цхеф Ноде. На један Цхеф Сервер може бити повезано стотине чворова. Боја терминала моје Ноде машине разликује се од радне станице тако да ћете моћи да направите разлику између обе.

Само ми треба ИП адреса мог чвора да бих извршио доњу команду у мојој машини чвораје.

Екец у т је т х је:

ифцонфиг

Додаћу свој Цхеф чвор на сервер извршавањем команде Книфе Боотстрап у којој ћу одредити ИП адресу Цхеф Ноде и његово име. Извршите приказану команду белоу:

Екец уте т х је:

нож боотстрап 192.168.56.102 --ссх-усер роот --ссх-пассворд едурека --ноде-наме цхефНоде

Ова наредба ће такође покренути инсталацију Цхеф-клијента у Цхеф Ноде. Можете га верификовати из ЦЛИ-а на радној станици помоћу команде нож, као што је приказано белоу:

Екец уте т х је:

Листа чворова ножа

Можете да верификујете и са Цхеф сервера. Идите на картицу чворова у конзоли за управљање сервером, овде ћете приметити да је чвор који сте додали присутан. Погледајте снимак екрана испод.

Корак 10: Управљање пописом покретања чворова

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

У Доступним рецептима можете видети наш рецепт леарн_цхеф_хттпд, можете га превући из доступних пакета на тренутну листу извршавања и сачувати листу покретања.

како поставити пут до класе у јави

Сада се пријавите на свој Ноде и само покрените цхеф-цлиент да бисте извршили Рун Лист.

Екец уте т х је:

главни клијент

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

Ако сте пронашли овај блог на „ Водич за кувара ”Релевантно, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурека ДевОпс сертификациони курс помаже ученицима да стекну стручност у различитим ДевОпс процесима и алатима као што су Пуппет, Цхеф, Јенкинс, Нагиос и ГИТ за аутоматизацију више корака у СДЛЦ.