Как да станете кукловод или куклен за начинаещи

Здравейте

Тази тема се отваря поредица от статии, свързани с употребата на системи за управление на конфигурацията на куклените.

Какво е система за управление на конфигурация?


Както всичко беше лесно и добра. Имам нужда от нещо общо - пише нов скрипт, се изпълнява. Задават се промени за всички сървъри последователно. Ако скриптът е добре изградена - всичко ще се оправи. За момента.

Сега си представете, че сървърът има повече. Например, сто. Една промяна в дългосрочен план - например, изграждане на нещо голямо и страшно (например, ядрото) от източника. Сценарият ще работи сто години, но това не е толкова лошо.

Представете си, че трябва да направите е само за определена група от стотици сървъри. И два дни по-късно да се направи още една голяма задача на друг отрязък от сървъри. Вие ще трябва да пренапише сценария всеки път, и много време, за да се провери дали те това, което някои грешки няма да доведат има някакъв проблем при стартиране.

Най-лошото нещо - е, че в тези скриптове ви опиша действието. че трябва да се направи, за да донесе на системата в дадена държава, а не този щат. Така че, ако системата първоначално не е бил в състояние, което сте очаквали, всичко е задължително да се обърка. Куклените манифести декларативно описват желаното състояние на системата, както и изчисляване на това как той е да се излезе от сегашното състояние - проблемни повечето системи за управление на конфигурация.

За сравнение: куклен манифест, прави същата работа като тази на няколко скриптове от началото на темата:

Ако се използва правилно сървъри и да прекарат известно време на първоначалната конфигурация на системата за управление на конфигурацията, може да се постигне такова състояние на сървърите на парка, не е нужно да влизате в тях, за да свърши работата. Всички необходими промени ще бъдат автоматично изпратени до тях.

Какво е куклен?


Куклен - конфигурация контрол система. Архитектура - един клиент-сървър, сървър конфигурации се съхраняват (по отношение на куклен те се наричат ​​манифести) клиентите си достъп до сървъра, и да ги използват. Куклен е написана на езика Ruby самата манифести са написани на специален DSL, много подобен на себе си Ruby.

първи стъпки


Нека да забравите за клиент, сървър, техните взаимодействия и т.н. Да предположим, че имаме само един сървър, работещ под операционната система на голи (по-нататък, аз работя в Ubuntu 12.04, за други системи на действието варира).

Първо, инсталирайте последната версия на куклата.

Прекрасна. Сега ние имаме инсталирана система куклата и може да играе с него.

Здравейте, свят!


Нека създадем първия манифест:

Малко по-малко за тичане

Проявява дадени в тази тема може да се прилага ръчно с куклен прилага. Въпреки това, в следните теми ще бъдат използвани за майстор-роб конфигурация (стандарт за куклен).


Сега погледнете съдържанието на файл / TMP / HelloWorld. В него ще бъде Line на (изненада!) «Здравей, свят!», Който сте задали в манифеста.

Нека редовете Нека разгледаме какво се съдържа в нашия манифест:


описано тук името куклата отношение файл тип ресурс (наименование) / TMP / HelloWorld.


Ресурс - е най-малката единица на абстракция в Куклен. Ресурси могат да бъдат:
  • файлове;
  • пакети (куклен пакет система поддържа множество разпределения);
  • услуги;
  • потребители;
  • група;
  • Cron работни места;
  • и т. г.

Синтаксис ресурси можете да шпионират безпрепятствен в документацията.

Кукления имате възможност да добавите свои собствени ресурси. Ето защо, ако един добър zamorochitsya, можете да навивам като манифести:

По този начин ще се създаде куклен логично размер обем от 1 GiB сървъра, където е необходимо, за да го монтирате (например в /var/www/example.com), добавете желаните записи в fstab, за да създадете желаните виртуални хостове в Nginx и Apache, рестартирайте и двата демона добавите FTP и SFTP example.com потребителска парола mySuperSecretPassWord с достъп за писане виртуален хост.

Вкусна? Нито дума!

Освен това, най-вкусни, по мое мнение - това не е автоматизация на рутина. Ако си такъв идиот, и постоянно peresetaplivaete сървърите си в режим на производство, ще позволи да се вдигне един стар Куклен е любов изработени набор от пакети и конфигурационни файлове от нулата в напълно автоматичен режим. Можете просто да инсталирате Куклен-агент, го свържете с вашия Куклен-майстор и чака. Всичко ще дойде от само себе си. На сървъра магически (не, наистина вълшебно!) Път ще пакетите ще се разлагат си SSH ключове, задаване на защитната стена ще дойде персонализирано Баш настройки, мрежа, инсталиране и конфигуриране целия софтуер, който ви благоразумно настроите с помощта на Куклен.
В допълнение, при проверка куклен предоставя самостоятелно документиране на системата за конфигуриране (манифести) сами са гръбнакът на документацията. Те винаги са от значение (те са били на работа), те няма грешки (като сте проверили настройките си, преди да започнете), те подробно минимума (едни и същи).

Малко повече магия

Малко за krossdistributivnosti

Куклен е възможно да се използват krossdistributivnye манифести, това е една от целите, за които е създаден. Аз нарочно никога не го използва и не препоръчвам. Сървър парк трябва да е хомогенна по отношение на софтуерна система, тя позволява да се мисли в критични моменти "ayblin, тук
rc.d, но не са init.d »(кимване към ArchLinux) и като цяло позволява да се мисли по-малко за рутинни задачи.

Много ресурси са зависими от други ресурси. Например, за ресурса, "услугата SSHD" се нуждае от ресурси, "пакета за SSHD" и по желание "довереник SSHD"
Нека да видим как това се реализира:

В него се използва конфигурация инлайн, което прави грозна манифест. В действителност, това почти никога не се прави, има шаблон двигател, базиран на ERB, както и способността да се използва само външни файлове. Но ние не се интересуваме.

Най-вкусните линии тук - тази линия на зависимост - най изискват и да се абонирате.

Куклен поддържа много зависимости описват опциите. По-подробно, както винаги, можете да прочетете документацията.

  • Изискване на средства точно това, което се очаква. Ако ресурсите А е зависим (изисква) от ресурсите Б, а след това ще обработва куклен първия ресурс Б, а след това се връща към ресурсите А.
  • Абонирайте се дава малко по-сложно поведение. Ако ресурсите Подписан (абонирате) на ресурсите Б, тогава Куклен ще обработва първият ресурс Б, а след това се връща на ресурс (поведение като изискват), и по-нататъшни промени в Б, ще бъдат повторно обработени А. Това е много удобно да се създадат услуги, които зависят тяхната конфигурация са (в горния пример). Ако конфигурационни промени, рестартиране на сървъра, не е нужно да се притеснявате за това.

Има също така уведомява. преди. но ние сме тук, ние няма да се докосне. За интересуващите се - във вече upopomyanutuyu документация.

Сродни връзки