Oktatóanyag: Virtuálisgép-méretezési csoportok konfigurálása az Azure-ban az Ansible használatával
Fontos
Az Ansible 2.9 -et (vagy újabb verziót) a jelen cikkben szereplő minta forgatókönyvek futtatásához kell futtatni.
Az Azure-beli virtuálisgép-méretezési csoportok egy Olyan Azure-szolgáltatás, amellyel azonos, elosztott terhelésű virtuális gépek csoportját konfigurálhatja. A skálázási csoportoknak nincs további költsége, és virtuális gépekből vannak felépítve. Csak a mögöttes számítási erőforrásokért kell fizetnie, például a virtuálisgép-példányokért, a terheléselosztókért vagy a felügyelt lemeztárolókért. A méretezési csoportok biztosítják az alkalmazások futtatásához és méretezéséhez szükséges felügyeleti és automatizálási rétegeket. Ehelyett manuálisan is létrehozhat és kezelhet egyéni virtuális gépeket. A méretezési csoportok használatának azonban két fő előnye van. Az Azure-ba vannak beépítve, és automatikusan skálázzák a virtuális gépeket az alkalmazás igényeinek megfelelően.
Ebben a cikkben az alábbiakkal ismerkedhet meg:
- Virtuális gép erőforrásainak konfigurálása
- Méretezési csoport konfigurálása
- A méretezési csoport méretezése a virtuálisgép-példányok növelésével
Előfeltételek
- Azure-előfizetés: Ha nem rendelkezik Azure-előfizetéssel, első lépésként mindössze néhány perc alatt létrehozhat egy ingyenes fiókot.
Az Ansible telepítése: Válasszon az alábbi lehetőségek közül:
- Az Ansible telepítése és konfigurálása Linux rendszerű virtuális gépen
- Konfigurálja az Azure Cloud Shellt , és – ha nincs hozzáférése Linux rendszerű virtuális géphez – hozzon létre egy virtuális gépet az Ansible használatával.
Méretezési csoport konfigurálása
Az ebben a szakaszban található forgatókönyvkód a következő erőforrásokat határozza meg:
- Erőforráscsoport , amelyben az összes erőforrás üzembe lesz helyezve.
- A 10.0.0.0/16 címtartományban szereplő virtuális hálózat
- A virtuális hálózaton belüli alhálózat
- A Nyilvános IP-cím, amely lehetővé teszi az erőforrások elérését az internetről.
- Hálózati biztonsági csoport , amely a méretezési csoporton belüli és kimenő hálózati forgalom áramlását vezérli
- A terheléselosztó, amely a terheléselosztó szabályait használó meghatározott virtuális gépek készletében osztja szét a forgalmat.
- A virtuálisgép-méretezési csoport, amely a létrehozott erőforrásokat használja.
A minta forgatókönyv kétféleképpen szerezhető be:
Töltse le a forgatókönyvet, és mentse a fájlt .
vmss-create.yml
Hozzon létre egy új fájlt
vmss-create.yml
néven. Szúrja be a következő kódot az új fájlba:
- hosts: localhost
vars:
resource_group: myResourceGroup
vmss_name: myvmscalesetname
vmss_lb_name: myScaleSetLb
location: eastus
admin_username: azureuser
admin_password: "{{ admin_password }}"
tasks:
- name: Create a resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create virtual network
azure_rm_virtualnetwork:
resource_group: "{{ resource_group }}"
name: "{{ vmss_name }}"
address_prefixes: "10.0.0.0/16"
- name: Add subnet
azure_rm_subnet:
resource_group: "{{ resource_group }}"
name: "{{ vmss_name }}"
address_prefix: "10.0.1.0/24"
virtual_network: "{{ vmss_name }}"
- name: Create public IP address
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
allocation_method: Static
name: "{{ vmss_name }}"
- name: Create Network Security Group that allows SSH
azure_rm_securitygroup:
resource_group: "{{ resource_group }}"
name: "{{ vmss_name }}"
rules:
- name: SSH
protocol: Tcp
destination_port_range: 22
access: Allow
priority: 1001
direction: Inbound
- name: Create a load balancer
azure_rm_loadbalancer:
resource_group: "{{ resource_group }}"
name: "{{ vmss_name }}lb"
location: "{{ location }}"
frontend_ip_configurations:
- name: "{{ vmss_name }}front-config"
public_ip_address: "{{ vmss_name }}"
backend_address_pools:
- name: "{{ vmss_name }}backend-pool"
probes:
- name: "{{ vmss_name }}prob0"
port: 8080
interval: 10
fail_count: 3
inbound_nat_pools:
- name: "{{ vmss_name }}nat-pool"
frontend_ip_configuration_name: "{{ vmss_name }}front-config"
protocol: Tcp
frontend_port_range_start: 50000
frontend_port_range_end: 50040
backend_port: 22
load_balancing_rules:
- name: "{{ vmss_name }}lb-rules"
frontend_ip_configuration: "{{ vmss_name }}front-config"
backend_address_pool: "{{ vmss_name }}backend-pool"
frontend_port: 80
backend_port: 8080
load_distribution: Default
probe: "{{ vmss_name }}prob0"
- name: Create VMSS
no_log: true
azure_rm_virtualmachinescaleset:
resource_group: "{{ resource_group }}"
name: "{{ vmss_name }}"
vm_size: Standard_DS1_v2
admin_username: "{{ admin_username }}"
admin_password: "{{ admin_password }}"
ssh_password_enabled: true
capacity: 2
virtual_network_name: "{{ vmss_name }}"
subnet_name: "{{ vmss_name }}"
upgrade_policy: Manual
tier: Standard
managed_disk_type: Standard_LRS
os_disk_caching: ReadWrite
image:
offer: UbuntuServer
publisher: Canonical
sku: 16.04-LTS
version: latest
load_balancer: "{{ vmss_name }}lb"
data_disks:
- lun: 0
disk_size_gb: 20
managed_disk_type: Standard_LRS
caching: ReadOnly
- lun: 1
disk_size_gb: 30
managed_disk_type: Standard_LRS
caching: ReadOnly
A forgatókönyv futtatása előtt tekintse meg a következő megjegyzéseket:
vars
A szakaszban cserélje le a{{ admin_password }}
helyőrzőt a saját jelszavára.
A forgatókönyv futtatása ansible-playbook használatával
ansible-playbook vmss-create.yml
A forgatókönyv futtatása után a következő eredményekhez hasonló kimenet jelenik meg:
PLAY [localhost]
TASK [Gathering Facts]
ok: [localhost]
TASK [Create a resource group]
changed: [localhost]
TASK [Create virtual network]
changed: [localhost]
TASK [Add subnet]
changed: [localhost]
TASK [Create public IP address]
changed: [localhost]
TASK [Create Network Security Group that allows SSH]
changed: [localhost]
TASK [Create a load balancer]
changed: [localhost]
TASK [Create Scale Set]
changed: [localhost]
PLAY RECAP
localhost : ok=8 changed=7 unreachable=0 failed=0
Virtuálisgép-példányok számának megtekintése
A konfigurált méretezési csoportnak jelenleg két példánya van. Az érték megerősítéséhez a következő lépések szükségesek:
Jelentkezzen be az Azure Portalra.
Lépjen a konfigurált méretezési csoporthoz.
A méretezési csoport neve zárójelben látható a példányok számával:
Standard_DS1_v2 (2 instances)
A példányok számát az Azure Cloud Shellben az alábbi parancs futtatásával is ellenőrizheti:
az vmss show -n myScaleSet -g myResourceGroup --query '{"capacity":sku.capacity}'
Az Azure CLI-parancs Cloud Shellben való futtatásának eredményei azt mutatják, hogy két példány létezik:
{ "capacity": 2, }
Méretezési csoport méretezése
Az ebben a szakaszban található forgatókönyvkód beolvassa a méretezési csoport adatait, és kétról háromra módosítja a kapacitását.
A minta forgatókönyv kétféleképpen szerezhető be:
Töltse le a forgatókönyvet , és mentse a következőre
vmss-scale-out.yml
: .Hozzon létre egy új fájlt
vmss-scale-out.yml
néven. Szúrja be a következő kódot az új fájlba:
---
- hosts: localhost
gather_facts: false
vars:
resource_group: myTestRG
vmss_name: myTestVMSS
tasks:
- name: Get scaleset info
azure_rm_virtualmachine_scaleset_facts:
resource_group: "{{ resource_group }}"
name: "{{ vmss_name }}"
format: curated
register: output_scaleset
- name: set image fact
set_fact:
vmss_image: "{{ output_scaleset.vmss[0].image }}"
- name: Create VMSS
no_log: true
azure_rm_virtualmachinescaleset:
resource_group: "{{ resource_group }}"
name: "{{ vmss_name }}"
capacity: 3
image: "{{ vmss_image }}"
A forgatókönyv futtatása ansible-playbook használatával
ansible-playbook vmss-scale-out.yml
A forgatókönyv futtatása után a következő eredményekhez hasonló kimenet jelenik meg:
PLAY [localhost]
TASK [Gathering Facts]
ok: [localhost]
TASK [Get scaleset info]
ok: [localhost]
TASK [Set image fact]
ok: [localhost]
TASK [Change VMSS capacity]
changed: [localhost]
PLAY RECAP
localhost : ok=3 changed=1 unreachable=0 failed=0
Az eredmények ellenőrzése
Ellenőrizze a munkája eredményeit az Azure Portalon:
Jelentkezzen be az Azure Portalra.
Lépjen a konfigurált méretezési csoporthoz.
A méretezési csoport neve zárójelben látható a példányok számával:
Standard_DS1_v2 (3 instances)
A változásokat ellenőrizheti az Azure Cloud Shell-lel, ha futtatja az alábbi parancsot:
az vmss show -n myScaleSet -g myResourceGroup --query '{"capacity":sku.capacity}'
Az Azure CLI-parancs Cloud Shellben való futtatásának eredményei azt mutatják, hogy három példány létezik:
{ "capacity": 3, }
További lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: