Cloud Assembly admite la integración con Puppet Enterprise, el código abierto de Ansible y Ansible Tower para que se puedan administrar las implementaciones con fines de configuración y desplazamiento.
Integración de Puppet
Para integrar la administración de configuración basada en Puppet, debe tener una instancia válida de Puppet Enterprise instalada en una nube privada o pública con una carga de trabajo de vSphere. Debe establecer una conexión entre el sistema externo y la instancia de Cloud Assembly. A continuación, puede agregar la administración de configuración de Puppet a los blueprints correspondientes para que esté disponible en Cloud Assembly.
El proveedor de Puppet de servicio de blueprint de Cloud Assembly instala, configura y ejecuta al agente de Puppet en un recurso informático implementado. El proveedor de Puppet es compatible con las conexiones SSH y WinRM, y tiene los siguientes requisitos previos:
- Conexiones SSH:
- El nombre de usuario debe ser un superusuario o un usuario con permisos sudo para ejecutar comandos con NOPASSWD.
- Desactive requiretty para el usuario dado.
- La cURL debe estar disponible en el recurso informático de implementación.
- Conexiones WinRM:
- PowerShell 2.0 debe estar disponible en el recurso informático de implementación.
- Configure la plantilla de Windows como se describe en la documentación de vRealize Orchestrator.
El administrador de DevOps es responsable de administrar las conexiones con una instancia principal de Puppet y de aplicar las funciones de Puppets, o las reglas de configuración, en las implementaciones específicas. Después de la implementación, las máquinas virtuales configuradas para admitir la administración de configuración están registradas con la instancia principal de Puppet designada.
Cuando se implementan máquinas virtuales, los usuarios pueden agregar o eliminar una instancia principal de Puppet como un sistema externo o actualizar los proyectos asignados a la instancia principal de Puppet. Por último, los usuarios apropiados pueden anular el registro de las máquinas virtuales implementadas desde la instancia principal de Puppet cuando las máquinas se retiran de servicio.
Integración de código abierto de Ansible
Al configurar una integración de Ansible, instale el código abierto de Ansible de acuerdo con las instrucciones de instalación de Ansible. Consulte la documentación de Ansible para obtener más información sobre la instalación.
[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
Para evitar errores de comprobación de claves de host, establezca host_key_checking
y record_host_keys
como False y también agregue una opción adicional UserKnownHostsFile=/dev/null
configurada como ssh_args
. Asimismo, si el inventario está vacío inicialmente, Ansible advierte que la lista de hosts está vacía. Esto genera errores en la comprobación de sintaxis de cuadernos de estrategias.
Ansible Vault permite almacenar información confidencial, como contraseñas o claves, en archivos cifrados en lugar de texto sin formato. Vault se cifra con una contraseña. En Cloud Assembly, Ansible utiliza Vault para cifrar datos, como las contraseñas SSH de los equipos host. Supone que se estableció la ruta de acceso a la contraseña de Vault.
Puede modificar el archivo ansible.cfg para especificar la ubicación del archivo de contraseñas con el siguiente formato.
vault_password_file = /path to/file.txt
También puede establecer la variable de entorno ANSIBLE_VAULT_PASSWORD_FILE
para que Ansible busque automáticamente la contraseña. Por ejemplo, ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
Cloud Assembly administra el archivo de inventario de Ansible, por lo que debe asegurarse de que el usuario Cloud Assembly tenga acceso rwx al archivo de inventario.
cat ~/var/tmp/vmware/provider/user_defined_script/$(ls -t ~/var/tmp/vmware/provider/user_defined_script/ | head -1)/log.txt
Defaults:myuser !requiretty
myuser ALL=(ALL) NOPASSWD: ALL
Si detecta errores u otros problemas al configurar la integración de Ansible, consulte el archivo log.txt ubicado en '~/var/tmp/vmware/provider/user_defined_script/$(ls -t ~/var/tmp/vmware/provider/user_defined_script/ | head -1)/' en la máquina de control de Ansible.
Integración de Ansible Tower
- Red Hat Enterprise Linux 8.0 o posterior de 64 bits (x86), compatible solo con Ansible Tower 3.5 y posterior
- Red Hat Enterprise Linux 7.4 o posterior de 64 bits (x86)
- CentOS 7.4 o posterior de 64 bits (x86)
El siguiente es un archivo de inventario de ejemplo, que se genera durante una instalación de Ansible Tower. Es posible que deba modificarlo para la integración de Cloud Assembly.
[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