Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy káoszkísérlettel ellenőrizheti, hogy az alkalmazás rugalmas-e a hibákkal szemben, ha ezeket a hibákat egy ellenőrzött környezetben okozza. Ebben a cikkben egy káosz kísérlet és az Azure Chaos Studio használatával rendszeresen okozza az Azure Kubernetes Service (AKS) podok kudarcát egy névtérben. A kísérlet futtatása segíthet elkerülni a szolgáltatás elérhetetlenségét szórványos hibák esetén.
Chaos Studio a Kubernetes ingyenes, nyílt forráskódú kaotikus mérnöki platformját, a Chaos Mesh-et használja, hogy hibákat injektáljon egy AKS-fürtbe. A Chaos Mesh-hibák közvetlenül a szolgáltatásokat érintő hibák, amelyek megkövetelik, hogy a Chaos Mesh telepítve legyen az AKS klaszterre. Ugyanezekkel a lépésekkel konfigurálhat és futtathat kísérleteket az AKS Chaos Mesh-hibákhoz.
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.
- AKS-fürt Linux csomópont pool-lal. Ha nem rendelkezik AKS-fürttel, tekintse meg az Azure CLI-t, az Azure PowerShellt vagy az Azure Portalt használó AKS-rövid útmutatót.
Korlátozások
- A Chaos Mesh hibáit privát fürtökkel is használhatja a VNet-injektálás konfigurálásával a Chaos Studióban. A privát fürtre kiadott parancsoknak, beleértve a jelen cikkben szereplő Chaos Mesh beállítási lépéseit is, követniük kell a privát fürt útmutatását. Az ajánlott módszerek közé tartozik egy virtuális gépről való csatlakozás ugyanabban a virtuális hálózaton, vagy az AKS parancshívási funkciójának használata.
- Az AKS Chaos Mesh-hibák csak Linux-csomópontkészleteken támogatottak.
- Ha az AKS-fürt úgy van konfigurálva, hogy csak engedélyezett IP-tartományokat engedélyezzen, engedélyeznie kell a Chaos Studio IP-tartományait. A szolgáltatáscímkét a
ChaosStudio
Service Tag Discovery API-val vagy letölthető JSON-fájlokkal kérdezheti le.
A Chaos Mesh beállítása az AKS fürtön
Mielőtt a Chaos Mesh hibáit futtathatja a Chaos Studióban, telepítenie kell a Chaos Mesht az AKS-fürtre.
Futtassa az alábbi parancsokat egy Azure Cloud Shell-ablakban , ahol az aktív előfizetés az az előfizetés, amelyben az AKS-fürt telepítve van. Cserélje le és
MyManagedCluster
írja beMyResourceGroup
a fürt és az erőforráscsoport nevét.az aks get-credentials --admin --name MyManagedCluster --resource-group MyResourceGroup
helm repo add chaos-mesh https://charts.chaos-mesh.org helm repo update kubectl create ns chaos-testing helm install chaos-mesh chaos-mesh/chaos-mesh --namespace=chaos-testing --set chaosDaemon.runtime=containerd --set chaosDaemon.socketPath=/run/containerd/containerd.sock
Ellenőrizze, hogy a Chaos Mesh-podok telepítve vannak-e a következő parancs futtatásával:
kubectl get po -n chaos-testing
A következő példához hasonló kimenetnek kell megjelennie (egy chaos-controller-manager és egy vagy több káosz-démon):
NAME READY STATUS RESTARTS AGE chaos-controller-manager-69fd5c46c8-xlqpc 1/1 Running 0 2d5h chaos-daemon-jb8xh 1/1 Running 0 2d5h chaos-dashboard-98c4c5f97-tx5ds 1/1 Running 0 2d5h
A Chaos Mesh webhelyén található telepítési utasításokat is használhatja.
A Chaos Studio engedélyezése az AKS-fürtön
A Chaos Studio csak akkor tud hibákat beszúrni egy erőforrásba, ha először hozzáadja az erőforrást a Chaos Studióhoz. Egy erőforrást úgy vehet fel a Chaos Studióba, hogy létrehoz egy célt és képességeket az erőforráson. Az AKS-fürtök csak egy céltípussal rendelkeznek (közvetlen szolgáltatással), de 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. A Chaos Mesh-hibák minden típusa olyan képességként jelenik meg, mint a PodChaos, a NetworkChaos és az IOChaos.
Nyissa meg az Azure Portalt.
Keresse meg a Chaos Studiót a keresősávban.
Válassza a Célok, és nyissa meg az AKS-fürtöt.
Jelölje be a saját AKS-fürt melletti jelölőnégyzetet. Válassza a Célok bekapcsolása lehetőséget, majd a legördülő menüben válassza Szolgáltatás közvetlen célok bekapcsolása lehetőséget.
Ellenőrizze, hogy a kívánt erőforrás szerepel-e a listában. Válassza a Véleményezés + Engedélyezés, majd az Engedélyezés lehetőséget.
Megjelenik egy értesítés, amely azt jelzi, hogy a kiválasztott erőforrások sikeresen engedélyezve lettek.
Ön sikeresen hozzáadta az AKS-fürtöt a Chaos Studióhoz. A Célok nézetben az erőforráson engedélyezett képességeket is kezelheti. Az erőforrás melletti Műveletek kezelése hivatkozásra kattintva megjelenítheti az adott erőforráshoz engedélyezett képességeket.
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.
Válassza a Kísérletek lapot a Chaos Studióban. Ebben a nézetben láthatja és kezelheti az összes káoszkísérletet. Válassza az Új kísérlet létrehozása lehetőséget>.
Adja meg azt az előfizetést, erőforráscsoportot és helyet, ahol üzembe szeretné helyezni a káoszkísérletet. Adjon nevet a kísérletnek. Válassza a Tovább: Kísérlettervező lehetőséget.
Most már a Chaos Studio kísérlettervező felületén vagy. A kísérlettervező lehetővé teszi a kísérlet összeállítását lépések, ágak és hibák hozzáadásával. Adjon egy barátságos nevet a lépésnek és az ágnak, és válassza a Művelet hozzáadása > Hiba hozzáadása lehetőséget.
Válassza az AKS Chaos Mesh Pod Chaos lehetőséget a legördülő listából. Adja meg az Időtartam elemet a sikertelenség tartandó perceinek számával, a jsonSpec pedig a következő információkkal:
A Chaos Mesh
jsonSpec
kialakítása:Tekintse meg a Chaos Mesh dokumentációját egy hibatípusról, például a PodChaos típusról.
A Chaos Mesh dokumentációjának használatával alakítsa ki az adott hibatípus YAML-konfigurációját.
apiVersion: chaos-mesh.org/v1alpha1 kind: PodChaos metadata: name: pod-failure-example namespace: chaos-testing spec: action: pod-failure mode: all duration: '600s' selector: namespaces: - default
Távolítsa el a YAML-adatokat a
spec
(beleértve a spec tulajdonság nevét is) kívül, és távolítsa el a specifikáció részleteinek behúzását. Aduration
paraméter nem szükséges, de ha meg van adva, akkor használatos. Ebben az esetben távolítsa el.action: pod-failure mode: all selector: namespaces: - default
Az ehhez hasonló YAML-to-JSON konverterrel alakítsa át a Chaos Mesh YAML-et JSON-ra, és minimalizálja azt.
{"action":"pod-failure","mode":"all","selector":{"namespaces":["default"]}}
Illessze be a kicsinyített JSON-t a portál jsonSpec mezőjébe.
Válassza a Következő: Célerőforrások lehetőséget.
Válassza ki az AKS-fürtöt, és kattintson a Tovább gombra.
Ellenőrizze, hogy a kísérlet helyesen néz-e ki, és válassza a Véleményezés + létrehozás lehetőséget>.
A kísérlet engedélyének megadása az AKS-fürthöz
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.
Nyissa meg az AKS-fürtöt, és válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
Válassza a Hozzáadás>Szerepkör-hozzárendelés hozzáadása lehetőséget.
Keresse meg az Azure Kubernetes szolgáltatásfürt felügyeleti szerepkörét , és válassza ki a szerepkört. Válassza a Tovább lehetőséget.
Válassza a Tagok kiválasztása lehetőséget, és keresse meg a kísérlet nevét. Válassza ki a kísérletet, és válassza a Kiválasztás lehetőséget. Ha egy bérlőben több azonos nevű kísérlet van, akkor a kísérlet neve véletlenszerű karakterekkel lerövidített.
Válassza a Véleményezés + hozzárendelés>Véleményezés + hozzárendelés lehetőséget.
A kísérlet futtatása
Most már készen áll a kísérlet elvégzésére. Az effektus megtekintéséhez javasoljuk, hogy nyissa meg az AKS-fürt áttekintését, és nyissa meg az Elemzések lapot egy külön böngészőlapon. Az aktív podok számának élő adatai a kísérlet futtatásának hatását mutatják.
A Kísérletek nézetben válassza ki a kísérletet. Válassza az OK gombot>.
Ha az állapot futásra változik, válassza a Legutóbbi futtatás részletei lehetőséget az Előzmények területen a futó kísérlet részleteinek megtekintéséhez.
Következő lépések
Most, hogy lefuttatott egy AKS Chaos Mesh szolgáltatásorientált kísérletet, készen áll a következőkre: