Куклен урок - решение на едно гише за управление на конфигурацията



Puppet Tutorial е вторият блог от поредицата Puppet blog. Той говори за Puppet архитектура, компоненти и пример за разполагане на mysql & php с помощта на Puppet.

Куклен урок

Puppet Tutorial е вторият блог от поредицата Puppet blog. Надявам се да сте прочели предишния ми блог на тема „ Какво е куклата ”, Което обяснява управлението на конфигурацията и защо е важно с помощта на случаи на употреба.

В този урок за кукли ще бъдат разгледани следните теми:





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

В моето предишен блог , Дадох въведение в управлението на конфигурацията и какви предизвикателства ни помага да преодолеем. В този урок за кукли ще ви обясня за различни взаимозависими дейности на управлението на конфигурацията.Но преди това, нека разберем какво е Конфигурационен елемент (CI). Елементът за конфигуриране е всеки компонент на услугата, елемент на инфраструктурата или друг елемент, който трябва да се управлява, за да се осигури успешното предоставяне на услуги. Примерите за CI включват документи за индивидуални изисквания, софтуер, модели и планове.



Управлението на конфигурацията се състои от следните елементи:

какво е контекстният филтър в таблицата
  • Идентификация на конфигурацията
  • Управление на промените
  • Отчитане на състоянието на конфигурацията
  • Одити на конфигурацията

Диаграмата по-долу обяснява тези компоненти:

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



Идентификация на конфигурацията: Това е процесът на:

  • Етикетиране на софтуерни и хардуерни конфигурационни елементи с уникални идентификатори
  • Идентифициране на документацията, която описва елемент на конфигурация
  • Групиране на свързани конфигурационни елементи в изходни линии
  • Етикетиране на ревизии на конфигурационни елементи и изходни линии.

Управление на промените: Това е систематичен подход за справяне с промяната както от гледна точка на организацията, така и от отделния човек.

Отчитане на състоянието на конфигурацията: То включва процеса на запис и отчитане на описанията на елементите на конфигурацията (напр. хардуер, софтуер, фърмуер и т.н.) и всички отклонения от базовата линия по време на проектирането и производството. В случай на подозрения за проблеми може бързо да се определи проверката на базовата конфигурация и одобрените модификации.

Одити на конфигурацията: Проверките на конфигурацията предоставят механизъм за определяне на степента, до която текущото състояние на системата е в съответствие с най-новите базови линии и документация. По принцип това е официален преглед, за да се провери дали доставяният продукт ще работи така, както е рекламиран, популяризиран или по какъвто и да е начин, обещан на клиентите. Той използва наличната информация като резултат от одити на качеството и тестване, заедно със счетоводната информация за състоянието на конфигурацията, за да осигури увереност, че това, което се изисква, е изградено.

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

Сега е правилният момент да разберете Куклената архитектура.

Куклен урок - Архитектура на Куклен

Puppet използва архитектура Master-Slave. Диаграмата по-долу изобразява същото:

В горното изображение се изпълняват следните функции:

  • Кукленият агент изпраща фактите на Кукловода. Фактите са основнодвойка данни ключ / стойност, която представлява някакъв аспект на подчиненото състояние, като неговия IP адрес, време за работа, операционна система или дали е виртуална машина. Ще обясня фактите подробно по-късно в блога.
  • Puppet Master използва фактите, за да състави Каталог, който определя как трябва да бъде конфигуриран Slave. Каталоге документ, който описва желаното състояние за всеки ресурс, който Puppet Master управлява на Slave. По-късно ще обясня подробно каталози и ресурси.
  • Puppet Slave докладва обратно на Master, посочвайки, че конфигурацията е завършена, което се вижда в таблото за управление на Puppet.

Вижте това видео с уроци за кукли за дълбоко разбиране на куклата.

Куклен урок за начинаещи | Обучение на DevOps | Едурека

Куклен урок - Комуникация на кукловод и роб

Куклен господар и роб комуникира чреззащитен шифрован канал с помощта на SSL. Диаграмата по-долу изобразява същото:

Както можете да видите от горното изображение:

  • Puppet Slave иска сертификат Puppet Master.
  • След като получи сертификат Puppet Master, Master иска сертификат Slave.
  • След като Master е подписал Slave сертификата, Slave заявки за конфигурация / данни.
  • И накрая, Puppet Master ще изпрати конфигурацията на Puppet Slave.

Нека сега разгледаме различни куклени компоненти.

Куклен урок - компоненти на Куклен

Манифести: Всеки Slave има своите подробности за конфигурацията в Puppet Master, написани на родния куклен език. Тези подробности са написани на езика, който Куклата може да разбере и се наричат ​​Манифести. Те се състоят от куклен код и техните имена на файлове използват .pp удължаване. Това са основно куклени програми.
Например: Можете да напишете манифест в Puppet Master, който създава файл и инсталира Apache сървър на всички Puppet Slaves, свързани с Puppet Master.

Модул: Куклен модул е ​​колекция от манифести и данни (като факти, файлове и шаблони) и те имат специфична структура на директориите. Модулите са полезни за организиране на вашия куклен код, защото ви позволяват да разделите кода си на множество манифести. Модулите са самостоятелни пакети от код и данни.

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

Фактор: Facter събира основна информация (факти) за Puppet Slave като детайли за хардуера, мрежови настройки, тип и версия на ОС, IP адреси, MAC адреси, SSH ключове и др. След това тези факти се предоставят в Манифестите на кукловода като променливи.

Mcollective: Това е рамка, която позволява паралелно да се изпълняват няколко задания на множество подчинени устройства. Той изпълнява различни функции като:

  • Взаимодействайте с клъстери на подчинени, независимо дали в малки групи или много големи внедрения.
  • Използвайте излъчваща парадигма за разпространение на заявки. Всички подчинени получават всички заявки едновременно, заявките имат прикрепени филтри и само подчинени, отговарящи на филтъра, ще действат по заявки.
  • Използвайте прости инструменти на командния ред, за да извикате отдалечени Slaves.
  • Напишете персонализирани отчети за вашата инфраструктура.

Каталози: Каталогът описва желаното състояние на всеки управляван ресурс на подчинен. Това е компилация от всички ресурси, които Кукловодът прилага към даден Роб, както и връзките между тези ресурси.Каталозите се съставят от Puppet Master от манифести и предоставени от Slave данни (като факти, сертификати и среда, ако има такива), както и незадължителни външни данни (като данни от външен Slave класификатор, експортирани ресурси, и функции). След това Водачът подава съставения Каталог на Роба при поискване.

Сега в този урок за кукли, следващият ми раздел ще се фокусира върху практически ръце.

Куклен урок - практически ръце

Ще ви покажа как да разположите MySQL и PHP от Puppet Master към Puppet Slave. Използвам само един Слей за демонстрационни цели, може да има стотици Роби, свързани с един Главен. За разполагане на PHP и MySQL ще използвам предварително дефинирани модули, достъпни на forge.puppet.com. Можете също така да създадете свои собствени модули.

Етап 1: В Puppet Master инсталирайте MySQL и PHP модули.

Изпълнете това:

1) куклен модул инсталирайте puppetlabs-mysql –version 3.10.0

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

2) куклен модул инсталирайте mayflower-php –version 4.0.0-beta1

Този модул се използва за управление на PHP, по-специално php-fpm. PHP-FPM (FastCGI Process Manager) е алтернативно изпълнение на PHP FastCGI с някои допълнителни функции, полезни за сайтове от всякакъв размер, особено по-натоварени сайтове.

Стъпка 2: В Puppet Manifests включват MySQL сървър и PHP.

Изпълнете това: vi /etc/puppet/manifests/site.pp

Можете да използвате всеки друг редактор, като vim, gedit и т.н. В този файл site.pp добавете следното:

включва ':: mysql :: сървър' включва ':: php'

Запазете и излезте.

Стъпка 3: Puppet Slaves периодично изтегля конфигурацията си от Master (след всеки 30 минути). Той ще оцени основния манифест и ще приложи модула, който определя настройките на MySQL и PHP. Ако искате да го изпробвате веднага, трябва да изпълните следната команда на всеки Slave възел:

Изпълнете това: куклен агент -т

Така че MySQL и PHP се инсталират успешно на Slave възела.

Стъпка 4: За да проверите версията на инсталираните MySQL и PHP:

Изпълнете това:

1) mysql -v

2) php -версия

Честито! MySQl и PHP стартират и работят във вашия куклен роб. Тук ви показах само един роб, но представете си дали има стотици роби. В този сценарий работата ви става толкова лесна, Просто посочете конфигурациите в Puppet Master и Puppet Slaves автоматично ще оценят основния манифест и ще приложат модула, който определя настройката на MySQL и PHP.

pl sql урок за начинаещи

Ако сте намерили това Куклен урок подходящо, вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение за сертифициране Edureka DevOps помага на обучаващите се да придобият опит в различни процеси и инструменти на DevOps като Puppet, Jenkins, Nagios и GIT за автоматизиране на множество стъпки в SDLC.