Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller ett exempel på en Ansible-spelbok för att konfigurera en virtuell Linux-dator.
I den här artikeln lär du dig att:
- Skapa en resursgrupp
- Skapa ett virtuellt nätverk
- Skapa en offentlig IP-adress
- Skapa en nätverkssäkerhetsgrupp
- Skapa ett virtuellt nätverksgränssnittskort
- Skapa en virtuell dator
1. Konfigurera din miljö
- Azure-prenumeration: Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Installera Ansible: Gör något av följande alternativ:
- Installera och konfigurera Ansible på en virtuell Linux-dator
- Konfigurera Azure Cloud Shell
2. Skapa ett SSH-nyckelpar
Kör följande kommando. När du uppmanas till det anger du de filer som ska skapas i följande katalog:
/home/azureuser/.ssh/authorized_keys.ssh-keygen -m PEM -t rsa -b 4096Kopiera innehållet i den offentliga nyckelfilen. Som standard heter
id_rsa.pubden offentliga nyckelfilen . Värdet är en lång sträng som börjar med "ssh-rsa ". Du behöver det här värdet i nästa steg.
3. Implementera Ansible-spelboken
Skapa en katalog där du kan testa och köra ansible-exempelkoden och göra den till den aktuella katalogen.
Skapa en fil med namnet
main.ymloch infoga följande kod.<key_data>Ersätt platshållaren med det offentliga nyckelvärdet från föregående steg.- 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. Kör spelboken
Kör ansible-playbook för att köra Ansible-spelboken.
ansible-playbook main.yml
5. Kontrollera resultatet
Kör az vm list för att verifiera att den virtuella datorn har skapats.
az vm list -d -o table --query "[?name=='myVM']"
6. Anslut till den virtuella datorn
Kör SSH-kommandot för att ansluta till din nya virtuella Linux-dator. <Ersätt platshållaren för ip-adress> med IP-adressen från föregående steg.
ssh azureuser@<ip_address> -i /home/azureuser/.ssh/authorized_keys/id_rsa
Rensa resurser
Spara följande kod som
delete_rg.yml.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rgKör spelboken med kommandot ansible-playbook . Ersätt platshållaren med namnet på den resursgrupp som ska tas bort. Alla resurser i resursgruppen tas bort.
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"Viktiga punkter:
- På grund av variabeln
registerochdebugavsnittet i spelboken visas resultatet när kommandot har slutförts.
- På grund av variabeln