Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
En este artículo se muestra cómo instalar Ansible en una máquina virtual Ubuntu en Azure.
En este artículo aprenderá a:
- Creación de un grupo de recursos
- Creación de una máquina virtual Ubuntu
- Instalación de Ansible en la máquina virtual
- Conexión a la máquina virtual a través de SSH
- Configuración de Ansible en la máquina virtual
Prerrequisitos
- Suscripción de Azure: si no tiene una suscripción de Azure, cree una cuenta gratuita antes de comenzar.
- Entidad de servicio de Azure: cree una entidad de servicio y tome nota de los siguientes valores: appId, displayName, password y tenant.
Creación de una máquina virtual
Cree un grupo de recursos de Azure.
az group create --name QuickstartAnsible-rg --location eastusEs posible que tenga que reemplazar el
--locationparámetro por el valor adecuado para su entorno.Cree la máquina virtual de Azure para Ansible.
az vm create \ --resource-group QuickstartAnsible-rg \ --name QuickstartAnsible-vm \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>Reemplace la
<password>contraseña.Obtenga la dirección IP pública de la máquina virtual de Azure.
az vm show -d -g QuickstartAnsible-rg -n QuickstartAnsible-vm --query publicIps -o tsv
Conexión a la máquina virtual mediante SSH
Con el comando SSH, conéctese a la dirección IP pública de la máquina virtual.
ssh azureuser@<vm_ip_address>
Reemplace por <vm_ip_address> el valor adecuado devuelto en los comandos anteriores.
Instalación de Ansible en la máquina virtual
Ansible usando azure.azcollection
Ejecute los siguientes comandos para configurar Ansible en Ubuntu:
#!/bin/bash
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
# Install Ansible az collection for interacting with Azure. (optional)
ansible-galaxy collection install azure.azcollection --force
# Install Ansible modules for Azure (optional)
sudo pip3 install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements.txt
Puntos clave:
- El nodo de control de Ansible requiere Python 2 (versión 2.7) o Python 3 (versiones 3.5 y posteriores) instalados. Ansible 4.0.0 y ansible-core 2.11 tienen una dependencia leve en Python 3.8, pero funcionan con versiones anteriores. Sin embargo, Ansible 5.0.0 y ansible-core 2.12 requerirán 3.8 y versiones posteriores.
Creación de credenciales de Azure
Para configurar las credenciales de Ansible, necesita la siguiente información:
- Identificador de suscripción de Azure e identificador de inquilino
- El identificador y el secreto de la aplicación de la entidad de servicio
Configure las credenciales de Ansible mediante una de las técnicas siguientes:
- Opción 1: Crear un archivo de credenciales de Ansible
- Opción 2: Definir variables de entorno de Ansible
Opción 1: Crear un archivo de credenciales de Ansible
En esta sección, creará un archivo de credenciales local para proporcionar credenciales a Ansible. Por motivos de seguridad, los archivos de credenciales solo deben usarse en entornos de desarrollo.
Para más información sobre cómo definir credenciales de Ansible, consulte Proporcionar credenciales a módulos de Azure.
Una vez que se haya conectado correctamente a la máquina virtual host, cree y abra un archivo denominado
credentials:mkdir ~/.azure vi ~/.azure/credentialsInserte las líneas siguientes en el archivo. Reemplace los marcadores de posición por los valores de la entidad de servicio.
[default] subscription_id=<subscription_id> client_id=<service_principal_app_id> secret=<service_principal_password> tenant=<service_principal_tenant_id>Guarde y cierre el archivo.
Opción 2: Definir variables de entorno de Ansible
En la máquina virtual host, exporte los valores del "service principal" para configurar las credenciales de Ansible.
export AZURE_SUBSCRIPTION_ID=<subscription_id>
export AZURE_CLIENT_ID=<service_principal_app_id>
export AZURE_SECRET=<service_principal_password>
export AZURE_TENANT=<service_principal_tenant_id>
Prueba de la instalación de Ansible
Ahora tiene una máquina virtual con Ansible instalado y configurado.
En esta sección se muestra cómo crear un grupo de recursos de prueba dentro de la nueva configuración de Ansible. Si no necesita hacerlo, puede omitir esta sección.
- Opción 1: Usar un comando ad hoc ansible
- Opción 2: Escribir y ejecutar un cuaderno de estrategias de Ansible
Opción 1: Usar un comando ad hoc ansible
Ejecute el siguiente comando ad hoc de Ansible para crear un grupo de recursos:
#Ansible with azure.azcollection
ansible localhost -m azure.azcollection.azure_rm_resourcegroup -a "name=<resource_group_name> location=<location>"
Reemplace <resource_group_name> y <location> con sus valores.
Opción 2: Escribir y ejecutar un cuaderno de estrategias de Ansible
Guarde el código siguiente como
create_rg.yml.Ansible usando azure.azcollection
- hosts: localhost connection: local collections: - azure.azcollection tasks: - name: Creating resource group azure_rm_resourcegroup: name: "<resource_group_name" location: "<location>"Reemplace
<resource_group_name>y<location>con sus valores.Ejecute el playbook usando ansible-playbook.
ansible-playbook create_rg.yml
Obtenga más información sobre azure.azcollection.
Limpieza de recursos
Guarde el código siguiente como
delete_rg.yml.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rgEjecute el cuaderno de estrategias mediante el comando ansible-playbook . Reemplace el marcador de posición por el nombre del grupo de recursos que se va a eliminar. Se eliminarán todos los recursos del grupo de recursos.
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"Puntos clave:
- Debido a la variable
registery la seccióndebugdel manual de operaciones, los resultados se muestran cuando finaliza el comando.
- Debido a la variable