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
- Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
- Egy Azure Virtual Machine Scale Sets-példány.
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.
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\":{}}"
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 aVirtualMachineScaleSet
célt és a képességetShutdown-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.
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,filter
a 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" } ] } ] } ] } ] } }
Hozza létre a kísérletet az Azure CLI használatával. Cserélje le
$SUBSCRIPTION_ID
a ,$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ítsenexperiment.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.
Indítsa el a kísérletet az Azure CLI használatával. Cserélje le
$SUBSCRIPTION_ID
a ,$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
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: