Automation Assembler ondersteunt integratie met Puppet Enterprise, Ansible Open Source en Ansible Tower, zodat u implementaties voor configuraties en afwijkingen kunt beheren.

Puppet-integratie

Om Puppet-gebaseerd configuratiebeheer te integreren, moet u een geldige instantie van Puppet Enterprise hebben geïnstalleerd in een publieke of privécloud met een vSphere-workload. U moet een verbinding tot stand brengen tussen dit externe systeem en uw instantie van Automation Assembler. Vervolgens kunt u Puppet-configuratiebeheer beschikbaar maken voor Automation Assembler door het aan de juiste blueprints toe te voegen.

De Puppet-provider van de Automation Assembler-blueprintservice installeert, configureert en start de Puppet-agent op een geïmplementeerde berekeningsresource. De Puppet-provider ondersteunt zowel SSH- als WinRM-verbindingen met de volgende vereisten:

  • SSH-verbindingen:
    • De gebruikersnaam moet een supergebruiker of een gebruiker met sudo-rechten zijn om opdrachten met NOPASSWD uit te voeren.
    • Deactiveer requiretty voor de opgegeven gebruiker.
    • cURL moet beschikbaar zijn op de berekeningsresource van de implementatie.
  • WinRM-verbindingen:
    • PowerShell 2.0 moet beschikbaar zijn op de berekeningsresource van de implementatie.
    • Configureer de Windows-sjabloon zoals beschreven in de documentatie voor VMware Aria Automation Orchestrator.

De DevOps-beheerder is verantwoordelijk voor het beheer van de verbindingen met een Puppet-master en voor het toepassen van Puppet-rollen, of configuratieregels, voor specifieke implementaties. Na de implementatie worden virtuele machines die zijn geconfigureerd om configuratiebeheer te ondersteunen, geregistreerd met de aangewezen Puppet-master.

Wanneer virtuele machines worden geïmplementeerd, kunnen gebruikers een Puppet-master als extern systeem toevoegen of verwijderen of projecten bijwerken die aan de Puppet-master zijn toegewezen. Ten slotte kunnen de juiste gebruikers de geïmplementeerde virtuele machines uit de Puppet-master verwijderen wanneer de machines buiten gebruik worden gesteld.

Ansible Open Source-integratie

Wanneer u een Ansible-integratie instelt, installeert u Ansible Open Source in overeenstemming met de installatie-instructies voor Ansible. Zie de documentatie voor Ansible voor meer informatie over de installatie.

Ansible schakelt standaard de controle van de hostsleutel in. Als een host opnieuw wordt geïnstalleerd met een andere sleutel in het bestand known_hosts, treedt er een fout op. Als een host niet wordt weergegeven in het bestand known_hosts, moet u de sleutel opgeven bij het opstarten. U kunt de controle van de hostsleutel deactiveren met de volgende instelling in het bestand /etc/ansible/ansible.cfg of ~/.ansible.cfg:
[defaults]
host_key_checking = False
localhost_warning = False
 
[paramiko_connection]
record_host_keys = False
 
[ssh_connection]
#ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
ssh_args = -o UserKnownHostsFile=/dev/null

Als u fouten in de hostsleutelcontrole wilt vermijden, stelt u host_key_checking en record_host_keys u in op False, inclusief het toevoegen van een extra optie UserKnownHostsFile=/dev/null die is ingesteld in ssh_args. Als de inventaris in eerste instantie leeg is, waarschuwt Ansible dat de hostlijst leeg is. Dit zorgt ervoor dat de Playbook-syntaxiscontrole mislukt.

De Ansible-kluis stelt u in staat gevoelige informatie, zoals wachtwoorden of sleutels, op te slaan in versleutelde bestanden in plaats van als platte tekst. De kluis is versleuteld met een wachtwoord. In Automation Assembler gebruikt Ansible de kluis om gegevens zoals SSH-wachtwoorden voor hostcomputers te versleutelen. Hierbij wordt ervan uitgegaan dat het pad naar het kluiswachtwoord is ingesteld.

U kunt het bestand ansible.cfg wijzigen om de locatie van het wachtwoordbestand op te geven in de volgende indeling.

vault_password_file = /path to/file.txt

U kunt ook de omgevingsvariabele ANSIBLE_VAULT_PASSWORD_FILE instellen, zodat Ansible automatisch naar het wachtwoord zoekt. Bijvoorbeeld: ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt

Automation Assembler beheert het inventarisbestand voor Ansible, dus u moet ervoor zorgen dat de Automation Assembler-gebruiker rwx-toegang tot het inventarisbestand heeft.

cat ~/var/tmp/vmware/provider/user_defined_script/$(ls -t ~/var/tmp/vmware/provider/user_defined_script/ | head -1)/log.txt
Als u een niet-rootgebruiker met opensource-integratie van Automation Assembler wilt gebruiken, hebben de gebruikers een set rechten nodig om de opdrachten uit te voeren die door de opensourceprovider Automation Assembler worden gebruikt. De volgende opdrachten moeten worden ingesteld in het sudoers-bestand van de gebruiker.
Defaults:myuser !requiretty
Als de gebruiker geen deel uitmaakt van een beheerdersgroep waarvoor geen askpass-applicatie is opgegeven, stelt u de volgende opdracht in het sudoers-bestand van de gebruiker in.
myuser ALL=(ALL) NOPASSWD: ALL

Als u fouten of andere problemen ondervindt bij het instellen van de Ansible-integratie, raadpleegt u het bestand log.txt bij 'cat~/var/tmp/vmware/provider/user_defined_script/$(ls -t ~/var/tmp/vmware/provider/user_defined_script/ | head -1)/' op de Ansible-controlemachine.

Ansible Tower-integratie

Ondersteunde typen besturingssystemen
  • Red Hat Enterprise Linux 8.0 of hoger 64-bits (x86) ondersteunt alleen Ansible Tower 3.5 en hoger.
  • Red Hat Enterprise Linux 7.4 of hoger 64-bits (x86).
  • CentOS 7.4 of hoger 64-bits (x86).

Het volgende is een voorbeeld van een inventarisbestand, dat wordt gegenereerd tijdens een Ansible Tower-installatie. Mogelijk moet u dit wijzigen voor het gebruik van Automation Assembler-integratie.

[root@cava-env8-dev-001359 ansible-tower-setup-bundle-3.5.2-1.el8]# pwd
 
/root/ansible-tower-install/ansible-tower-setup-bundle-3.5.2-1.el8
 
[root@cava-env8-dev-001359 ansible-tower-setup-bundle-3.5.2-1.el8]# cat inventory
 
[tower]
 
localhost ansible_connection=local
 
 
 
 
[database]
 
 
 
 
[all:vars]
 
admin_password='VMware1!'
 
 
 
 
pg_host=''
 
pg_port=''
 
 
 
 
pg_database='awx'
 
pg_username='awx'
 
pg_password='VMware1!'
 
 
 
 
rabbitmq_port=5672
 
rabbitmq_vhost=tower
 
rabbitmq_username=tower
 
rabbitmq_password='VMware1!'
 
rabbitmq_cookie=cookiemonster
 
 
 
 
# Needs to be true for fqdns and ip addresses
 
rabbitmq_use_long_name=false
 
 
 
 
# Isolated Tower nodes automatically generate an RSA key for authentication;
 
# To deactivate this behavior, set this value to false
 
# isolated_key_generation=true