Всичко, което трябва да знаете

Ansible е популярен инструмент за управление на конфигурацията с отворен код. От друга страна, Ansible Galaxy е хранилище на Ansible роли.

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

Какво е Ansible Galaxy?

Ansible Galaxy е уеб базирано онлайн хранилище с отворен код за съдържание на Ansible (главно роли и колекции). Сякаш сте създали нещо ново и искате да го споделите с другите.

Ако имате някакви проблеми с автоматизацията на Ansible или се нуждаете от предварително пакетирано решение от други, за да започнете вашите проекти за автоматизация, Ansible Galaxy може да ви помогне. Например, можете да имате роли, колекции, модули или добавки. Много членове на общността вече са качили своите Ansible колекции и роли.

За да изпълним задачи като инсталиране на роли от Galaxy или който и да е git SCM, създаване или премахване на роли или изпълнение на някои задачи на сайта на Galaxy, можем да използваме командата „ansible-galaxy“. Тази команда идва предварително инсталирана с Ansible, така че можете да я използвате веднага след инсталирането на Ansible.

Проектът Galaxy е проект с отворен код, който ни позволява да хостваме нашите вътрешни сървъри на Galaxy. За да използвате вътрешния сървър на Galaxy, ще трябва да редактирате конфигурацията по подразбиране във файла Ansible.cfg с адреса на сървъра на вътрешния сървър на Galaxy, тъй като по подразбиране той използва адреса на сървъра galaxy.ansible.com.

Ansible Преглед

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

  Универсална програма за управление на файлове с плъзгане и пускане за OS X [Paid]

Ansible автоматизира с помощта на SSH протокола. Контролният механизъм използва SSH връзка, за да комуникира със своите целеви хостове (обикновено Linux хостове). Системните администратори на Windows все още могат да използват Ansible, за да автоматизират своите Windows среди с WinRM вместо SSH. Контролната машина все още трябва да работи с Linux.

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

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

Работи върху Ansible Galaxy

След това нека отворим терминала и изпълним няколко команди с помощта на Ansible Galaxy. Но преди това трябва да имате най-новия Ansible инсталиран на вашата система.

Когато имате инсталиран най-новият Ansible на вашата система, просто въведете ansible-galaxy в терминала и ще получите всички опции, налични с Galaxy.

[email protected]:~$ ansible-galaxy

Първо, можете да започнете с командата init и да създадете роля. Тук създавам „тестване“ на роли. Използвайте командата ls, за да проверите дали ролята е създадена успешно. Командата init също създава необходимите файлове в директорията на тестовата роля.

[email protected]:~$ ansible-galaxy init testing

Ansible galaxy е голяма и активна общност, в която вече са създадени много роли, които можете директно да използвате.

По-долу е страницата, която ще се отвори, когато разглеждате „galaxy.ansible.com“, или можем да кажем, че това е началната страница на уебсайта „Ansible Galaxy“. Можем да щракнем върху която и да е популярна категория от началната страница или да щракнем върху бутона „Търсене“, за да получим повече филтри за прилагане на подробно търсене.

Например, ако търсите роля на MySQL сървър, просто я потърсете и щракнете върху бутона за филтриране. Можете да видите, че geerlingguy има максимални изтегляния; можем да опитаме да инсталираме тази роля. Кликнете върху geerlingguy MySQL.

След това ще получите инсталационната команда за инсталиране на тази роля с помощта на ansible-galaxy.

Изпълнете командата, спомената в горната моментна снимка, за да изтеглите и инсталирате ролята на MySQL сървър на вашата машина.

[email protected]:~$ ansible-galaxy install geerlingguy.mysql

Ако вече знаете коя роля да търсите по определен автор, можете да използвате командата за търсене, както е показано по-долу.

[email protected]:~$ ansible-galaxy search elasticsearch --author geerlingguy

Общи команди на Ansible Galaxy

Командата ansible-galaxy управлява роли и колекции с помощта на galaxy.ansible.com. По-долу са някои много полезни ansible-galaxy команди, които всеки системен администратор използва от време на време:

  • ansible-galaxy list: Тази команда galaxy показва списък на всички инсталирани роли, с номерата на техните версии.
  • ansible-galaxy remove: Тази команда galaxy премахва инсталирана роля в системата.
  • ansible-galaxy info: Тази галактична команда ще предостави подробна информация за Ansible Galaxy.
  • ansible-galaxy init: Тази галактична команда може да се използва за създаване на ролеви шаблон, подходящ за подаване на Ansible Galaxy.
  • ansible-galaxy import: Тази команда galaxy изисква влизане за импортиране на роля от официалния уебсайт на galaxy.
  Поправете липса на звук във Firefox

Горните команди (init, import, install, remove) могат да се използват с командата за събиране на ansible-galaxy за управление на колекции с помощта на Ansible galaxy.

Сега нека поговорим за роли и колекции в Ansible Galaxy.

Създавайте роли с Ansible Galaxy

Ansible Galaxy е основно голямо публично хранилище за Ansible роли. Ролите идват с README, които обясняват използването и променливите. Galaxy има много роли, които непрекъснато се развиват и разрастват.

Galaxy може да добавя източници на роли като GitHub с помощта на git. Ansible Galaxy ни позволява да създаваме Ansible роли с помощта на командата ansible-galaxy. Ansible-galaxy init може да се използва за инициализиране на нова роля на галактика или можете да използвате командата ansible-galaxy install <име на роля>, за да инсталирате ролята.

Преди да можете да ги използвате в книгите за игри, ролята трябва да бъде изтеглена. След като бъдат поставени в директорията по подразбиране /etc/ansible/roles, можете да намерите примери за роли.

Ansible Ролева структура и нейното значение

По-долу са файловете и директориите, създадени при инсталиране на роля:

  • README.md е файлът Readme, който описва ролята. Файлът readme съдържа всички подробности за входните параметри и примерен yml.
  • задачи – Всички задачи могат да бъдат записани от ролята при задачи. Входната точка за ролята е Main.yml. Тук започва изпълнението. Този файл може да съдържа други файлове.
  • Манипулатори – Тази категория включва манипулатори, които могат да се използват в тази или друга роля.
  • defaults – променливите по подразбиране за ролята.
  • vars – Променливи, които са по-важни от стойностите по подразбиране за Роля.
  • Файлове – Тези файлове могат да бъдат разгърнати с помощта на Роля.
  • Шаблони – Този раздел съдържа шаблони, които могат да се използват чрез Роля.
  • meta – Метаданните могат да се използват за определяне на ролите в meta. Този файл също трябва да включва всички зависимости на ролите.
  • Тестове – CI тестове, които трябва да бъдат изпълнени.
  • библиотека – Вграждане на модули или добавки в роли. Не е създадено от командата init. Можете също да създадете персонализиран модул в Python в тази папка и след това да го използвате във вашите задачи.
  Как да насрочите среща в Zoom

Създавайте колекции с Ansible Galaxy

Ansible Galaxy е най-добрият инструмент за управление на роли и се използва от години. Въпреки това ще видите нови функции или промени в Ansible Galaxy. Ansible версия 2.2.8 вече включва функцията за събиране.

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

Следната структура е в основата на колекциите:

collection/
├── docs/
├── galaxy.yml
├── plugins/
│ ├──
modules/
│ │ └── module1.py
│ ├──
inventory/
│ └── .../
├── README.md
├── roles/
│ ├──
role1/
│ ├──
role2/
│ └── .../
├── playbooks/
│ ├──
files/
│ ├──
vars/
│ ├──
templates/
│ └── tasks/
└── tests/

Създаване на скелет на колекция

За да инсталирате колекция на вашия компютър, можете да използвате командата за инсталиране на колекция ansible-galaxy.

По-специално, някои подкоманди могат да се използват и с ansible galaxy.

  • init: Създава основна структура на колекция, базирана на шаблона по подразбиране на Ansible’sle или ваш собствен
  • компилация: Създава колекция артефакт, който може да бъде качен в Galaxy или вашето собствено хранилище
  • публикува: Galaxy публикува артефакт от вградена колекция
  • инсталиране: Инсталира една или повече колекции

Заключение

Ansible galaxy е чудесен начин да организирате и да обмислите вашите непрекъснато нарастващи ролеви книги. Ansible Galaxy има приблизително 39K автори на общността, 30K роли и 1656 колекции, които могат да бъдат използвани за бързо стартиране на нашия проект за автоматизация. Ръководството за разработчици и ръководството за сътрудници обяснява как да допринесете за съществуващия код на Ansible Galaxy, който е проект с отворен код.

Може също да се интересувате от задачи на Sysadmin, които можете да автоматизирате с Ansible.