Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se presenta un cuaderno de estrategias de Ansible de ejemplo para configurar una máquina virtual Linux.
En este artículo aprenderá a:
- Creación de un grupo de recursos
- Creación de una red virtual
- Crear una dirección IP pública
- Crear un grupo de seguridad de red
- Creación de una tarjeta de interfaz de red virtual
- Creación de una máquina virtual
1. Configuración del entorno
- Suscripción de Azure: si no tiene una suscripción de Azure, cree una cuenta gratuita antes de comenzar.
Instale Ansible: realice una de las siguientes opciones:
- Instalación y configuración de Ansible en una máquina virtual Linux
- Configuración de Azure Cloud Shell
2. Creación de un par de claves SSH
Ejecute el siguiente comando. Cuando se le solicite, especifique los archivos que se van a crear en el directorio siguiente:
/home/azureuser/.ssh/authorized_keys.ssh-keygen -m PEM -t rsa -b 4096Copie el contenido del archivo de clave pública. De forma predeterminada, el archivo de clave pública se denomina
id_rsa.pub. El valor es una cadena larga a partir de "ssh-rsa". Necesitará este valor en el paso siguiente.
3. Implementar el cuaderno de estrategias de Ansible
Cree un directorio en el que probar y ejecutar el código de Ansible de ejemplo y convertirlo en el directorio actual.
Cree un archivo llamado
main.ymle inserte el siguiente código. Reemplace el<key_data>marcador de posición por el valor de clave pública del paso anterior.- name: Create Azure VM hosts: localhost connection: local tasks: - name: Create resource group azure_rm_resourcegroup: name: myResourceGroup location: eastus - name: Create virtual network azure_rm_virtualnetwork: resource_group: myResourceGroup name: myVnet address_prefixes: "10.0.0.0/16" - name: Add subnet azure_rm_subnet: resource_group: myResourceGroup name: mySubnet address_prefix: "10.0.1.0/24" virtual_network: myVnet - name: Create public IP address azure_rm_publicipaddress: resource_group: myResourceGroup allocation_method: Static name: myPublicIP register: output_ip_address - name: Public IP of VM debug: msg: "The public IP is {{ output_ip_address.state.ip_address }}." - name: Create Network Security Group that allows SSH azure_rm_securitygroup: resource_group: myResourceGroup name: myNetworkSecurityGroup rules: - name: SSH protocol: Tcp destination_port_range: 22 access: Allow priority: 1001 direction: Inbound - name: Create virtual network interface card azure_rm_networkinterface: resource_group: myResourceGroup name: myNIC virtual_network: myVnet subnet: mySubnet public_ip_name: myPublicIP security_group: myNetworkSecurityGroup - name: Create VM azure_rm_virtualmachine: resource_group: myResourceGroup name: myVM vm_size: Standard_DS1_v2 admin_username: azureuser ssh_password_enabled: false ssh_public_keys: - path: /home/azureuser/.ssh/authorized_keys key_data: "<key_data>" network_interfaces: myNIC image: offer: 0001-com-ubuntu-server-jammy publisher: Canonical sku: 22_04-lts version: latest
4. Ejecutar el manual de operaciones
Ejecute ansible-playbook para ejecutar el cuaderno de estrategias de Ansible.
ansible-playbook main.yml
5. Comprobación de los resultados
Ejecute az vm list para comprobar que se creó la máquina virtual.
az vm list -d -o table --query "[?name=='myVM']"
6. Conexión a la máquina virtual
Ejecute el comando SSH para conectarse a la nueva máquina virtual Linux. Reemplace el <marcador de posición ip-address> por la dirección IP del paso anterior.
ssh azureuser@<ip_address> -i /home/azureuser/.ssh/authorized_keys/id_rsa
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