Download PDF
1) Wat is Ansible?
Ansible is een configuratiemanagementsysteem. Het wordt gebruikt om infrastructuur en applicaties op te zetten en te beheren. Het stelt gebruikers in staat om applicaties te implementeren en bij te werken met behulp van SSH, zonder een agent op een systeem op afstand te hoeven installeren.
2) Wat is het nut van Ansible?
Ansible wordt gebruikt voor het beheer van de IT-infrastructuur en voor het implementeren van software-apps op externe knooppunten.
Met Ansible kunt u bijvoorbeeld als applicatie op veel knooppunten implementeren met één enkele opdracht. Daarvoor is echter enige programmeerkennis nodig om de ansible-scripts te begrijpen.
3) Wat is Ansible Galaxy?
Ansible kan communiceren met geconfigureerde clients vanaf de opdrachtregel door de opdracht Ansible te gebruiken. Het stelt je ook in staat om de configuratie te automatiseren door de opdracht ansible-playbook te gebruiken. Om de basisdirectorystructuur te maken, kunt u een tool gebruiken die is gebundeld met Ansible, dat bekend staat als ansible-galaxy.
Opdracht:
$ ansible-galaxy init azavea. packer
azavea.packer is met succes gemaakt
4) Wat is continue levering?
Continue levering is een praktijk waarbij de software wordt geleverd zodra deze is ontwikkeld. Bij deze methode moeten we een versiebeheersysteem gebruiken. De software wordt voortdurend bijgewerkt in live productiesystemen.
5) Wat is de manier om toegang te krijgen tot shell-omgevingsvariabelen in Ansible?
Als je in Ansible toegang wilt tot bestaande variabelen, moet de gebruiker de 'env'-opzoekplug-in gebruiken. Voorbeeld om toegang te krijgen tot de waarde van de Office-omgeving op de beheermachine:
U moet de volgende code schrijven:
---#… vars:local_home: "{{ lookup('env','Office') }}"I{{ ansible_env.SOME_VARIABLE }}
6) Wat is de code die u moet schrijven om toegang te krijgen tot een variabelenaam?
Variabelenamen kunnen worden gebouwd door toe te voegen met behulp van de volgende methode:
{{ hostvars[inventory_hostname]['ansible_' + which_interface]['ipv4']['address'] }}
De methode om hostvars te gebruiken is belangrijk omdat het een woordenboek is van de volledige naamruimte van variabelen. 'inventory_hostname' variabele specificeert de huidige host waarnaar u kijkt in de hostlus.
7) Leg uit hoe u cowsay kunt uitschakelen?
Als cowsay is geïnstalleerd en het uitvoeren van playbooks in Ansible, kun je coway uitschakelen door de volgende opties te gebruiken:
- Verwijder cowsay
- Waarde instellen voor de omgevingsvariabele
exporteer ANSIBLE_NOCOWS = 1
8) Leg uit hoe u een bestand recursief naar een doelhost kunt kopiëren?
De "kopieer" -module heeft een recursieve parameter. Als u echter wilt dat dit efficiënter werkt voor een groot aantal bestanden, dan is de “synchroniseer” -module de beste optie voor u.
9) Hoe kunt u een wijziging in de documentatie in Ansible indienen?
Documentatie voor Ansible wordt bewaard in de git-repository van het project. Het bevat volledige instructies om bij te dragen en is te vinden in de documenten.
10) Wat is de beste methode om inhoud herbruikbaar / herdistribueerbaar te maken?
U kunt alles over "Rollen" lezen in de sectie over de documentatie van playbooks. Dit helpt om de inhoud van het playbook op zichzelf staand en deelbaar te maken met andere weerbare gebruikers.
11) Wat is Ansible Tower?
Ansible tower is een tool die Ansible erg gebruiksvriendelijk maakt. Het fungeert als een knooppunt voor de taakautomatisering. De toren is gratis te gebruiken tot 10 knooppunten.
12) Wat is de methode om de voorraadvarianten te controleren die voor de host zijn gedefinieerd?
Gebruik daarvoor deze opdracht:
ansible -m debug -a "var=hostvars['hostname']" localhost
13) Geef het verschil aan tussen variabelenaam en omgevingsvariabelen.
Variabele naam |
Omgevingsvariabelen |
Het kan worden gebouwd door strings toe te voegen. | Om toegang te krijgen tot de omgevingsvariabele, moet u toegang hebben tot bestaande variabelen. |
{{hostvars [inventaris_hostnaam] ['ansible_' + welke_interface] ['ipv4'] ['adres']}} | #… Vars: local_home: "{{lookup ('env', 'HOME')}} ' |
Maakt het mogelijk om strings toe te voegen | Om omgevingsvariabelen in te stellen, moeten we de sectie geavanceerde playbooks zien. |
IPv4-adrestype gebruiken voor Variabelenamen gebruiken we het ipv4-adres. | Gebruik voor omgevingsvariabelen op afstand {{ansible_env.SOME_VARIABLE}} |
14) Wat zijn ad-hocopdrachten?
U kunt ad-hocopdrachten zien als een manier voor ons om acties op onze hosts uit te voeren zonder een draaiboek te schrijven. Als we bijvoorbeeld alle hosts in een bepaalde groep (webservers) willen herstarten. Vervolgens kunt u een playbook schrijven of gewoon een eenmalige ad-hocopdracht uitvoeren.
15) Leg de Ansible-feiten uit
U kunt ansible-feiten zien als een manier voor ansible om informatie over een host te krijgen en deze op te slaan in variabelen voor gemakkelijke toegang. Deze informatie die is opgeslagen in vooraf gedefinieerde variabelen, is beschikbaar voor gebruik in het playbook. Om feiten te genereren, voert ansible de setup-module uit.
16) Hoe zie je alle variabelen voor een host?
U kunt ze zien met behulp van de variabele host variabel. Dit slaat hostvariabelen op met de hostnaam als sleutel. Als u bijvoorbeeld naar de variabelen wilt kijken die voor localhost zijn gedefinieerd, kunt u uitvoeren;
ansible -m debug -a "var=hostvars[inventory_hostnam
17) Leg modules in ansible uit
Modules in Ansible zijn idempotent. Vanuit het standpunt van een RESTful-service, om de bewerking idempotent te laten zijn, kunnen clients hetzelfde resultaat uitvoeren door modules in Ansible te gebruiken. Meerdere identieke verzoeken worden één verzoek.
Er zijn twee verschillende soorten modules in Ansible:
-
Kernmodules
-
Extra modules
Kernmodules
Het Ansible-team onderhoudt dit soort modules en ze worden altijd geleverd met Ansible-software. Ze zullen ook een hogere prioriteit geven aan alle verzoeken dan die in de "extras" repo's.
Extra's Modules:
Deze modules worden momenteel gebundeld met Ansible, maar kunnen in de toekomst afzonderlijk verkrijgbaar zijn. Ze worden ook grotendeels onderhouden door de Ansible-gemeenschap. Deze modules zijn nog steeds bruikbaar, maar kunnen minder snel reageren op problemen en pull-verzoeken.
18) Wanneer moet je playbooks en rollen testen?
Desondanks kunnen tests worden toegevoegd aan nieuwe Playbooks of aan bestaande Playbooks. Daarom biedt de meeste testopdracht elke keer een schone hosting. Door deze testmethodologie te gebruiken, hoeft u weinig tot geen wijzigingen in de code aan te brengen.
19) Bespreek de methode om een leeg bestand te maken met Ansible
Om een bestand te maken en te legen, moet u de gegeven stappen volgen.
Stap 1. Sla een leeg bestand op in de map met bestanden
Stap 2. Kopieer het naar de externe host.