Усё, што вам трэба ведаць

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 можа быць выкарыстаны нават пачаткоўцам сістэмным адміністратарам для аўтаматызацыі інфраструктуры ўсяго за некалькі гадзін.

Ansible аўтаматызуе з дапамогай пратаколу SSH. Механізм кіравання выкарыстоўвае злучэнне SSH для сувязі са сваімі мэтавымі хостамі (звычайна хостамі Linux). Сістэмныя адміністратары Windows па-ранейшаму могуць выкарыстоўваць Ansible для аўтаматызацыі сваіх асяроддзяў Windows з дапамогай WinRM замест SSH. Кіруючая машына ўсё яшчэ павінна працаваць пад кіраваннем Linux.

Праверце гэта:  Як увайсці ў Poshmark

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: Гэтая каманда galaxy дасць падрабязную інфармацыю аб Ansible Galaxy.
  • ansible-galaxy init: гэтая каманда galaxy можа выкарыстоўвацца для стварэння шаблона ролі, прыдатнага для адпраўкі ў Ansible Galaxy.
  • ansible-galaxy import: гэтая каманда galaxy патрабуе ўваходу ў сістэму, каб імпартаваць ролю з афіцыйнага сайта galaxy.
Праверце гэта:  Як ацаніць і прааналізаваць добрае фота

Прыведзеныя вышэй каманды (init, import, install, remove) можна выкарыстоўваць з камандай ansible-galaxy collection для кіравання калекцыямі з дапамогай 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, вы можаце знайсці прыклады роляў.

Анзибная структура роляў і яе значэнне

Ніжэй прыведзены файлы і каталогі, якія ствараюцца пры ўсталяванні ролі:

  • README.md – гэта файл Readme, які апісвае ролю. Файл readme змяшчае ўсю інфармацыю пра ўваходныя параметры і прыклад yml.
  • задачы – усе задачы могуць быць залічаны роляй у задачах. Кропка ўваходу для ролі – Main.yml. Тут пачынаецца выкананне. Гэты файл можа ўтрымліваць іншыя файлы.
  • Апрацоўшчыкі – у гэтую катэгорыю ўваходзяць апрацоўшчыкі, якія могуць выкарыстоўвацца ў гэтай або любой іншай ролі.
  • змаўчанні – зменныя па змаўчанні для ролі.
  • vars – зменныя, якія больш важныя, чым значэнні па змаўчанні для ролі.
  • Файлы – гэтыя файлы можна разгарнуць з дапамогай ролі.
  • Шаблоны – гэты раздзел змяшчае шаблоны, якія можна выкарыстоўваць праз Ролю.
  • мета – Метададзеныя можна выкарыстоўваць для вызначэння роляў у мета. Гэты файл таксама павінен уключаць усе залежнасці ад роляў.
  • Тэсты – тэсты CI для выканання.
  • бібліятэка – убудаванне модуляў або плагінаў у ролі. Не ствараецца камандай init. Вы таксама можаце стварыць уласны модуль у Python у гэтай тэчцы, а потым выкарыстоўваць яго ў сваіх задачах.
Праверце гэта:  Як падзяліцца і спаборнічаць з мэтамі дзейнасці Apple Watch

Стварайце калекцыі з 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.

  • init: Стварае базавую структуру калекцыі на аснове шаблону па змаўчанні Ansible’sle або вашага ўласнага
  • зборка: Стварае артэфакт калекцыі, які можна загрузіць у Galaxy або ваша ўласнае сховішча
  • апублікаваць: Galaxy публікуе сабраны калекцыйны артэфакт
  • ўсталяваць: усталёўвае адну або некалькі калекцый

Заключэнне

Ansible galaxy – гэта выдатны спосаб арганізаваць і абдумаць свае ролевыя кнігі, якія пастаянна растуць. У Ansible Galaxy каля 39 тысяч аўтараў супольнасці, 30 тысяч роляў і 1656 калекцый, якія можна выкарыстоўваць для хуткага запуску нашага праекта па аўтаматызацыі. Кіраўніцтва распрацоўшчыка і кіраўніцтва для ўдзельнікаў тлумачыць, як унесці свой уклад у існуючы код Ansible Galaxy, які з’яўляецца праектам з адкрытым зыходным кодам.

Вас таксама могуць зацікавіць задачы сістэмнага адміністратара, якія можна аўтаматызаваць з дапамогай Ansible.