Anonīms

Kā izmantot iespējamos pielāgotos faktus

Kā izmantot iespējamos pielāgotos faktus
Fakti ir kā mainīgie lielumā Ansible. Ansible ģenerē daudz faktu, atkarībā no tā, kādu resursdatoru tas automatizē. Ja nepieciešams, sadaļā Ansible varat definēt arī pielāgotus faktus / mainīgos.

Programmā Ansible varat definēt trīs pielāgotu faktu veidus.

1) Vispārīgi fakti: Šie fakti ir pieejami no visiem jūsu krājuma faila resursdatoriem.
2) Grupas fakti: Šie fakti ir pieejami tikai no konkrēta saimnieku kopas vai resursdatoru grupas.
3) Uzņēmēja fakti: Šie fakti ir pieejami tikai no konkrēta saimnieka puses.

Šajā rakstā es jums parādīšu, kā strādāt ar iespējamiem pielāgotiem faktiem. Tātad, sāksim darbu.

Priekšnosacījumi:

Ja vēlaties izmēģināt šī raksta piemērus,

1) Jūsu datorā jābūt instalētai programmai Ansible.
2) Jums jābūt vismaz 6 Linux resursdatoriem, kas konfigurēti Ansible automatizācijai.

Vietnē LinuxHint ir daudz rakstu, kas veltīti Ansible instalēšanai un resursdatoru konfigurēšanai Ansible automatizācijai. Ja nepieciešams, varat tos pārbaudīt.

Projektu direktorijas iestatīšana:

Pirms mēs sākam, izveidosim projekta direktoriju, lai mēs varētu sakārtot savus projekta failus.

Lai izveidotu projekta direktoriju custom-fakti / jūsu MĀJAS direktorijā, izpildiet šādu komandu:

$ mkdir -pv custom-fakti / playbooks, host_vars, group_vars

Tagad dodieties uz custom-fakti / direktoriju šādi:

$ cd pasūtījuma fakti /

Izveidojiet Ansible konfigurācijas failu iespējams.cfg projekta direktorijā šādi:

$ nano ansible.cfg

Ierakstiet šādās rindiņās: iespējams.cfg failu.

[noklusējumi]
inventārs = saimnieki
host_key_checking = Nepatiesa

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu iespējams.cfg konfigurācijas fails.

Tagad izveidojiet Ansible inventāra failu saimniekiem projekta direktorijā šādi:

$ nano saimnieki

Ierakstiet šādas rindiņas savā saimnieka inventarizācijas fails.

vm1.nodekite.com
vm2.nodekite.com
[tīmeklis]
vm3.nodekite.com
vm4.nodekite.com
[datu bāze]
vm [5: 6].nodekite.com

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu saimniekiem inventarizācijas fails.

Lai uzskaitītu visus pieejamos resursdatorus inventāra failā, izpildiet šādu komandu:

$ ansible all --list-hosts

Kā redzat, manā inventāra failā ir seši resursdatori.

Lai uzskaitītu resursdatorus, kas pieejami tīmeklī krājuma faila grupā izpildiet šādu komandu:

$ ansible web --list-hosts

Kā redzat, man ir divi saimnieki (vm3.nodekite.com un vm4.nodekite.com) iekš tīmeklī mana inventāra faila grupa.

Lai uzskaitītu resursdatorus, kas pieejami datu bāzē krājuma faila grupā izpildiet šādu komandu:

$ ansible datu bāze - list-hosts

Kā redzat, man ir divi saimnieki (vm5.nodekite.com un vm6.nodekite.com) iekš datu bāzē mana inventāra faila grupa.

Darbs ar iespējamiem globāliem faktiem:

Šajā sadaļā es parādīšu, kā definēt Ansible globālos faktus / mainīgos inventāra failā un piekļūt tiem no jūsu Ansible playbooks. Es jums parādīšu arī to, kā noteikt globālos faktus / mainīgos atsevišķā failā.

Vispirms atveriet saimnieka inventāra fails ar šādu komandu:

$ nano saimnieki

Tagad pievienojiet atzīmētās līnijas savā saimnieka inventarizācijas fails. Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu failu.

"

Jūs pievienojat globālus faktus visi: vars sadaļā. Šeit es esmu pievienojis web_url globāls fakts.

Tagad izveidojiet jaunu spēļu grāmatu print_global_fact.yaml iekš playbooks / direktoriju šādi:

$ nano playbooks / print_global_fact.yaml

Pēc tam ierakstiet šādas rindiņas print_global_fact.yaml failu.

- saimnieki: visi
lietotājs: ansible
uzdevumi:
- nosaukums: izdrukājiet globālā fakta “web_url” vērtību
atkļūdošana:
msg: 'Tīmekļa URL: web_url'

Šīs spēles grāmatas mērķis ir izdrukāt web_url globāls fakts.

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu print_global_fact.yaml failu.

Tagad palaidiet print_global_fact.yaml playbook šādi:

$ ansible-playbook playbooks / print_global_fact.yaml

Kā redzat, visi manā krājuma failā esošie resursdatori var piekļūt globālajam faktam web_url.

Atsevišķā failā varat arī pievienot vispārīgus faktus. Tādā veidā jūs varat saglabāt inventāra failu tīru. Apskatīsim, kā to izdarīt.

Pirmkārt, noņemsim globālos faktus no saimnieka inventarizācijas fails.

$ nano saimnieki

Tagad noņemiet atzīmētās līnijas no krājuma faila un nospiediet + X, sekoja un lai saglabātu inventāra failu.

Pēc tam izveidojiet jaunu failu visi iekš grupa_vars / direktoriju šādi:

$ nano group_vars / visi

Lai pievienotu globālo faktu web_url, ierakstiet nākamajā rindā grupa_vars / visi failu.

web_url: https: // www.linuxhint.com

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu grupa_vars / visi failu.

Lai pārbaudītu, vai varat piekļūt globālajam faktam web_url, palaist print_global_fact.yaml playbook vēlreiz šādi:

$ ansible-playbook playbooks / print_global_fact.yaml

Kā redzat, visi manā krājuma failā esošie resursdatori var piekļūt globālajam faktam web_url.

Darbs ar iespējamiem grupas faktiem:

Šajā sadaļā es jums parādīšu, kā definēt Ansible grupas faktus / mainīgos inventāra failā un piekļūt tiem no jūsu Ansible playbooks. Es jums parādīšu arī to, kā atsevišķos failos definēt grupas faktus / mainīgos.

Vispirms atveriet saimnieka inventāra fails ar šādu komandu:

$ nano saimnieki

Ja jums ir uzņēmēja grupa grupa1, tad jūs pievienojat grupas faktus / mainīgos šai resursdatora grupai group1: vars krājuma faila sadaļu.

[grupa1]

[grupa1: vars]
mainīgais1 = vērtība1
mainīgais2 = vērtība2

Piemēram, lai pievienotu grupas faktus / mainīgos domēna vārds un database_backends priekš tīmeklī resursdatora grupā, varat ierakstīt iezīmētās rindas inventāra failā.

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu inventāra failu.

Lai izdrukātu un pārbaudītu, vai varam piekļūt grupas faktiem, izveidojiet jaunu atskaņošanas grāmatu drukas_grupas_fakti.yaml iekš playbooks / direktoriju šādi:

$ nano playbooks / print_group_facts.yaml

Ierakstiet šādas rindiņas savā drukas_grupas_fakti.yaml failu.

- saimnieki: tīmeklis
lietotājs: ansible
uzdevumi:
- nosaukums: Drukāt grupas faktus
atkļūdošana:
msg: 'Domēna nosaukums: domain_name Datu bāzes aizmugure: database_backend'

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu drukas_grupas_fakti.yaml failu.

Tagad palaidiet drukas_grupas_fakti.yaml playbook šādi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kā redzat, saimnieki tīmeklī grupa var piekļūt domēna vārds un database_backend grupas fakti / mainīgie.

Tagad iztīrīsim inventāra failu un redzēsim, kā atsevišķos failos pievienot grupas faktus / mainīgos.

Vispirms atveriet saimnieka inventarizācijas fails šādi:

$ nano fakti

Noņemiet iezīmētās līnijas no saimnieka inventarizācijas fails. Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu saimniekiem inventarizācijas fails.

Kad mēs pievienojam grupas mainīgos tīmeklī resursdatora grupa, izveidojiet jaunu failu tīmeklī (tāds pats kā grupas nosaukums) grupa_vars / direktoriju šādi:

$ nano group_vars / tīmeklis

Lai pievienotu grupas faktus domēna vārds un database_backend priekš tīmeklī resursdatora grupā pievienojiet group_vars / web failu.

domēna_nosaukums: tīmeklis.linuxhint.com
database_backend: pgsql

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu group_vars / web failu.

Lai pārbaudītu, vai tīmeklī grupa var piekļūt grupas faktiem, palaist drukas_grupas_fakti.yaml playbook šādi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kā redzat, saimnieki tīmeklī grupa var piekļūt domēna vārds un database_backend grupas fakti / mainīgie.

Darbs ar iespējamiem resursdatora faktiem:

Šajā sadaļā es jums parādīšu, kā definēt Ansible resursdatora faktus / mainīgos jūsu inventāra failā un piekļūt tiem no jūsu Ansible playbooks. Es jums parādīšu arī to, kā atsevišķā failā definēt resursdatora faktus / mainīgos.

Vispirms atveriet saimnieka inventāra fails ar šādu komandu:

$ nano saimnieki

Inventāra failā aiz resursdatora DNS nosaukuma vai IP adreses var pievienot resursdatora faktus / mainīgos šādi:

www.domēns1.com mainīgais1 = vērtība1 mainīgais2 = vērtība2
192.168. lpp.22.2 mainīgais1 = vērtība3 mainīgais2 = vērtība4

Piemēram, varat pievienot resursdatora faktus / mainīgos domēna vārds un database_backend saimniekiem vm3.nodekite.com un vm4.nodekite.com, kā norādīts zemāk redzamajā ekrānuzņēmumā.

Ievērojiet, ka domēna vārds un database_backend fakti / mainīgie katram resursdatoram ir atšķirīgi.

Kad esat pabeidzis resursdatora faktu / mainīgo pievienošanu, nospiediet + X, sekoja un lai saglabātu saimnieka inventarizācijas fails.

Tā kā esmu pievienojis tos pašus faktus / mainīgos kā grupas faktu / mainīgo piemērā, mēs varam izmantot drukas_grupas_fakti.yaml playbook, lai pārbaudītu arī šo faktu / mainīgo pieejamību.

Palaidiet drukas_grupas_fakti.yaml playbook šādi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kā redzat, resursdatora fakti / mainīgie ir pieejami viņu norādītajam resursdatoram. Arī katram resursdatoram vērtības ir atšķirīgas.

Tā kā katrs no resursdatoriem atrodas atsevišķā rindā manā inventāra failā, es savā inventāra failā es varētu viegli pievienot resursdatora faktus / mainīgos. Bet, ja izmantojat diapazonus, lai definētu resursdatorus inventāra failā, kā norādīts zemāk redzamajā ekrānuzņēmumā, jūs nevarat pievienot šādus resursdatora faktus / mainīgos.

Varat pievienot resursdatora faktus / mainīgos atsevišķā failā, tāpat kā jūs to darījāt globālajiem un grupas faktiem / mainīgajiem.

Lai pievienotu resursdatora faktus / mainīgos vm5.nodekite.com resursdators, izveidojiet jaunu failu vm5.nodekite.com (tāds pats kā resursdatora DNS nosaukums) saimnieks_vars / direktoriju šādi:

$ nano resursdators_vars / vm5.nodekite.com

Jūs varat pievienot resursdatora faktus / mainīgos db_port un db_name saimniekam vm5.nodekite.com ar šādām rindām.

db_port: 3306
db_name: demo1

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu vm5.nodekite.com failu.

Tādā pašā veidā, lai pievienotu resursdatora faktus / mainīgos vm6.nodekite.com, izveidot jaunu failu vm6.nodekite.com iekš saimnieks_vars / direktoriju šādi:

$ nano resursdators_vars / vm6.nodekite.com

Jūs varat pievienot resursdatora faktus / mainīgos db_port un db_name saimniekam vm6.nodekite.com ar šādām rindām.

db_port: 8877
db_name: app1

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu vm6.nodekite.com failu.

Lai izdrukātu un pārbaudītu, vai varam piekļūt resursdatora faktiem / mainīgajiem, izveidojiet jaunu atskaņošanas grāmatu print_host_facts.yaml iekš playbooks / direktoriju šādi:

$ nano playbooks / print_host_facts.yaml

Tagad ierakstiet šādās rindā print_host_facts.yaml failu.

- saimnieki: datu bāze
lietotājs: ansible
uzdevumi:
- nosaukums: Drukājiet resursdatora faktus
atkļūdošana:
msg: 'Datu bāzes nosaukums: db_name Datu bāzes ports: db_port'

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu print_host_facts.yaml failu.

Lai pārbaudītu, vai uzņēmēja vm5.nodekite.com un vm6.nodekite.com var piekļūt resursdatora faktiem / mainīgajiem, palaist print_host_facts.yaml playbook šādi:

$ ansible-playbook playbooks / print_host_facts.yaml

Kā redzat, saimnieki vm5.nodekite.com un vm6.nodekite.com var piekļūt db_name un db_port galvenie fakti / mainīgie.

Saliekot to visu kopā: priekšroka iespējamiem faktiem

Šajā sadaļā es runāšu par iespējamu faktu / mainīgu prioritāti. Tātad, sāksim darbu.

Pirms mēs sākam, iztīrīsim inventāra failu.

Atveriet saimnieka inventāra fails ar šādu komandu:

$ nano saimnieki

Noņemiet atzīmēto sadaļu no krājuma faila.

Šādi jūsu krājuma failam vajadzētu izskatīties šajā brīdī.

Tagad pievienojiet atzīmēto rindu inventarizācijas failā. Šīs rindas pievieno globālos faktus / mainīgos fact_scope un osta.

Pēc tam pievienojiet atzīmētās līnijas inventāra failā. Šīs rindas pievieno fact_scope un osta fakti / mainīgie datu bāzē grupa.

Visbeidzot pievienojiet fact_scope un osta resursdatora fakti / mainīgie vm3.nodekite.com un vm4.nodekite.com saimniekiem, kā norādīts zemāk redzamajā ekrānuzņēmumā.

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu inventāra failu.

Lai izdrukātu globālo, grupu un resursdatoru faktu / mainīgo vērtību, izveidojiet jaunu atskaņošanas grāmatu faktu_precendence.yaml iekš playbooks / direktoriju šādi:

$ nano playbooks / fact_precedence.yaml

Ierakstiet nākamajās rindās faktu_precedence.yaml failu.

- saimnieki: visi
lietotājs: ansible
uzdevumi:
- nosaukums: Izdrukājiet visus faktus
atkļūdošana:
msg: 'Fakts: fact_scope Ports: ports'

Kad esat pabeidzis, nospiediet + X sekoja un lai saglabātu faktu_precedence.yaml failu.

Lai drukātu globālos, grupas un resursdatora faktus / mainīgos, palaidiet faktu_precedence.yaml playbook šādi:

$ ansible-playbook playbooks / fact_precedence.yaml

Kā redzat, tiek izdrukāti globālie, grupas un resursdatora fakti / mainīgie.

Ievērojiet, ka grupas fakti / mainīgie aizstāja globālos faktus / mainīgos (1). Ievērojiet arī to, ka resursdatora fakti / mainīgie aizstāja gan grupu, gan globālos faktus / mainīgos (2).

Ansible fakts / mainīgā prioritāte ir šāda:

Uzņēmēja fakts> Grupas fakts> Globāls fakts

Secinājums:

Pēc šī raksta izlasīšanas jums vajadzētu būt iespējai ērti strādāt ar Ansible globālajiem, grupas un resursdatora faktiem / mainīgajiem. Atcerieties Ansible pasūtījuma faktu prioritāti. Tas palīdzēs vieglāk atkļūdot savas Ansible atskaņošanas grāmatas.

5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...
Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...