Megosztás a következőn keresztül:


Káoszkísérlet létrehozása, amely dinamikus célzást használ a gazdagépek kiválasztásához

Egy káoszkísérletben dinamikus célzással választhatja ki a kísérletek futtatásához használt célokat. Ebben a cikkben bemutatjuk, hogyan célozhatja meg dinamikusan a virtuálisgép-méretezési csoportokat a rendelkezésre állási zóna alapján történő leállításra. A kísérlet futtatásával tesztelheti a feladatátvételt egy másik régióban lévő Azure Virtual Machine Scale Sets-példányra, ha kimaradás történik.

Ugyanezekkel a lépésekkel állíthat be és futtathat kísérleteket a dinamikus célzást támogató hibák esetén. Jelenleg csak a virtuálisgép-méretezési csoport leállítása támogatja a dinamikus célzást.

Előfeltételek

Az Azure Cloud Shell megnyitása

Az Azure Cloud Shell egy ingyenes interaktív rendszerhéj, amellyel futtathatja a cikkben leírt lépéseket. A fiókjával való használat érdekében a gyakran használt Azure-eszközök már előre telepítve és konfigurálva vannak rajta.

A Cloud Shell megnyitásához válassza a Kipróbálás lehetőséget egy kódblokk jobb felső sarkában. A Cloud Shellt egy külön böngészőlapon is megnyithatja a Bash megnyitásával. A Másolás gombra kattintva másolja a kódblokkokat, illessze be a Cloud Shellbe, és futtassa az Enter billentyűt.

Ha helyileg szeretné telepíteni és használni a parancssori felületet, ehhez az oktatóanyaghoz az Azure CLI 2.0.30-s vagy újabb verziója szükséges. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.

Feljegyzés

Ezek az utasítások egy Bash-terminált használnak a Cloud Shellben. Előfordulhat, hogy egyes parancsok nem működnek a leírtak szerint, ha helyileg vagy PowerShell-terminálon futtatja a parancssori felületet.

A Chaos Studio engedélyezése a virtuálisgép-méretezési csoportok példányán

Az Azure Chaos Studio csak akkor tud hibákat injektálni egy erőforrásba, ha először hozzáadta az erőforrást a Chaos Studióhoz. Ha erőforrást szeretne hozzáadni a Chaos Studióhoz, hozzon létre egy célt és képességeket az erőforráson.

A virtuálisgép-méretezési csoportok csak egy céltípussal (Microsoft-VirtualMachineScaleSet) és egy képességgel (shutdown) rendelkeznek. Más erőforrások legfeljebb két céltípussal rendelkezhetnek. Az egyik céltípus a közvetlen szolgáltatáshibák. Egy másik céltípus az ügynökalapú hibák. Más erőforrások is számos más képességekkel rendelkezhetnek.

  1. Hozzon létre egy célt a virtuálisgép-méretezési csoport erőforrásához . Cserélje le $RESOURCE_ID a hozzáadni kívánt virtuálisgép-méretezési csoport erőforrás-azonosítójára:

    az rest --method put --url "https://management.azure.com/$RESOURCE_ID/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachineScaleSet?api-version=2023-11-01" --body "{\"properties\":{}}"
    
  2. Hozza létre a képességeket a virtuálisgép-méretezési csoport célkiszolgálóján. Cserélje le $RESOURCE_ID a hozzáadni kívánt erőforrás erőforrás-azonosítójára. Adja meg a VirtualMachineScaleSet célt és a képességet Shutdown-2.0 .

    az rest --method put --url "https://management.azure.com/$RESOURCE_ID/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachineScaleSet/capabilities/Shutdown-2.0?api-version=2023-11-01" --body "{\"properties\":{}}"
    

Ezzel sikeresen hozzáadta a virtuálisgép-méretezési csoportot a Chaos Studióhoz.

Kísérlet létrehozása

Most már létrehozhatja a kísérletet. A káoszkísérlet meghatározza a célerőforrásokon végrehajtandó műveleteket. A műveletek sorrendbe vannak rendezve, és szekvenciális lépésekben futnak. A káoszkísérlet azt is meghatározza, hogy milyen műveleteket szeretne végrehajtani az ágakon, amelyek párhuzamosan futnak.

  1. A kísérlet JSON-jának kidolgozása a következő virtuálisgép-méretezési csoportok leállítási 2.0 JSON-mintával kezdődően. Módosítsa a JSON-t úgy, hogy megfeleljen a futtatni kívánt kísérletnek a Kísérlet létrehozása API és a hibatár használatával. Jelenleg a dinamikus célzás csak a Virtuálisgép-méretezési csoportok 2.0-s leállítása hibával érhető el, és csak a rendelkezésre állási zónákra szűrhet.

    • filter Az elem használatával konfigurálhatja az Azure rendelkezésre állási zónák listáját a célok szűréséhez. Ha nem ad meg, filtera hiba leállítja a virtuálisgép-méretezési csoport összes példányát.
    • A kísérlet a megadott zónákban lévő összes virtuálisgép-méretezési csoportpéldányt célozza meg.
     {
        "location": "westus2",
        "identity": {
            "type": "SystemAssigned"
        },
        "properties": {
            "selectors": [
                {
                    "type": "List",
                    "id": "Selector1",
                    "targets": [
                        {
                            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-demo/providers/Microsoft.Compute/virtualMachineScaleSets/vmss-demo/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachineScaleSet",
                            "type": "ChaosTarget"
                        }
                    ],
                    "filter": {
                        "type": "Simple",
                        "parameters": {
                            "zones": [
                                "1"
                            ]
                        }
                    }
                }
            ],
            "steps": [
                {
                    "name": "Step1",
                    "branches": [
                        {
                            "name": "Branch1",
                            "actions": [
                                {
                                    "name": "urn:csci:microsoft:virtualMachineScaleSet:shutdown/2.0",
                                    "type": "continuous",
                                    "selectorId": "Selector1",
                                    "duration": "PT2M",
                                    "parameters": [
                                        {
                                            "key": "abruptShutdown",
                                            "value": "false"
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    }
    
  2. Hozza létre a kísérletet az Azure CLI használatával. Cserélje le $SUBSCRIPTION_IDa , $RESOURCE_GROUPés $EXPERIMENT_NAME a kísérlet tulajdonságaira. Győződjön meg arról, hogy mentette és feltöltötte a kísérlet JSON-ját. Frissítsen experiment.json a JSON-fájlnévvel.

    az rest --method put --uri https://management.azure.com/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Chaos/experiments/$EXPERIMENT_NAME?api-version=2023-11-01 --body @experiment.json
    

    Minden kísérlet létrehoz egy megfelelő, rendszer által hozzárendelt felügyelt identitást. Jegyezze fel az identitás egyszerű azonosítóját a következő lépés válaszában.

Kísérleti engedély megadása a virtuálisgép-méretezési csoportokhoz

Káoszkísérlet létrehozásakor a Chaos Studio létrehoz egy rendszer által hozzárendelt felügyelt identitást, amely hibákat hajt végre a célerőforrásokon. Ennek az identitásnak megfelelő engedélyekkel kell rendelkeznie a célerőforráshoz a kísérlet sikeres futtatásához.

Adjon hozzáférést a kísérletnek az erőforrásokhoz az alábbi paranccsal. Cserélje le $EXPERIMENT_PRINCIPAL_ID az előző lépésben szereplő egyszerű azonosítóra. Cserélje le $RESOURCE_ID a célerőforrás erőforrás-azonosítójára. Módosítsa a szerepkört az adott erőforrástípusnak megfelelő beépített szerepkörre. Futtassa ezt a parancsot a kísérletben megcélzott összes erőforráshoz.

az role assignment create --role "Virtual Machine Contributor" --assignee-object-id $EXPERIMENT_PRINCIPAL_ID --scope $RESOURCE_ID

A kísérlet futtatása

Most már készen áll a kísérlet futtatására. Az effektus megtekintéséhez ellenőrizze a portálon, hogy le vannak-e állítva a virtuálisgép-méretezési csoportok céljai. Ha le vannak állítva, ellenőrizze, hogy a virtuálisgép-méretezési csoportokon futó szolgáltatások továbbra is a várt módon futnak-e.

  1. Indítsa el a kísérletet az Azure CLI használatával. Cserélje le $SUBSCRIPTION_IDa , $RESOURCE_GROUPés $EXPERIMENT_NAME a kísérlet tulajdonságaira.

    az rest --method post --uri https://management.azure.com/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Chaos/experiments/$EXPERIMENT_NAME/start?api-version=2023-11-01
    
  2. A válasz tartalmaz egy állapot URL-címet, amellyel lekérdezheti a kísérlet állapotát a kísérlet futtatásakor.

Következő lépések

Most, hogy futtatott egy dinamikusan célzott virtuálisgép-méretezési csoportleállítási kísérletet, készen áll a következőre: