Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo apresenta um guia estratégico ansible de exemplo para configurar uma máquina virtual do Linux.
Neste artigo, você aprenderá a:
- Criar um grupo de recursos
- Criar uma rede virtual
- Criar um endereço IP público
- Criar um grupo de segurança de rede
- Criar uma placa de interface de rede virtual
- Criar uma máquina virtual
1. Configurar seu ambiente
- Assinatura do Azure: Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Instalar o Ansible: execute uma das seguintes opções:
- Instalar e configurar o Ansible em uma máquina virtual linux
- Configurar o Azure Cloud Shell
2. Criar um par de chaves SSH
Execute o comando a seguir. Quando solicitado, especifique os arquivos a serem criados no seguinte diretório:
/home/azureuser/.ssh/authorized_keys.ssh-keygen -m PEM -t rsa -b 4096Copie o conteúdo do arquivo de chave pública. Por padrão, o arquivo de chave pública é nomeado
id_rsa.pub. O valor é uma cadeia de caracteres longa começando com "ssh-rsa". Você precisará desse valor na próxima etapa.
3. Implementar o guia estratégico do Ansible
Crie um diretório no qual testar e executar o código ansible de exemplo e torná-lo o diretório atual.
Crie um arquivo chamado
main.yml, depois insira o código a seguir. Substitua o marcador de posição<key_data>pelo valor da chave pública da etapa 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. Executar o guia estratégico
Execute ansible-playbook para executar o playbook do Ansible.
ansible-playbook main.yml
5. Verificar os resultados
Execute az vm list para verificar se a VM foi criada.
az vm list -d -o table --query "[?name=='myVM']"
6. Conectar-se à VM
Execute o comando SSH para se conectar à sua nova VM do Linux. Substitua o <espaço reservado para o endereço IP> pelo endereço IP da etapa anterior.
ssh azureuser@<ip_address> -i /home/azureuser/.ssh/authorized_keys/id_rsa
Limpar os recursos
Salve o código a seguir como
delete_rg.yml.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rgExecute o playbook usando o comando ansible-playbook. Substitua o espaço reservado pelo nome do grupo de recursos a ser excluído. Todos os recursos dentro do grupo de recursos serão excluídos.
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"Pontos principais:
- Devido ao
registervariável e àdebugseção do livro de estratégias, os resultados são mostrados quando o comando é concluído.
- Devido ao