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


Káoszkísérlet létrehozása, amely Chaos Mesh-hibát használ az AKS-podok leállítására az Azure portálon keresztül.

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

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 ChaosStudioService 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.

  1. 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 be MyResourceGroup 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
    
  2. 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.

  1. Nyissa meg az Azure Portalt.

  2. Keresse meg a Chaos Studiót a keresősávban.

  3. Válassza a Célok, és nyissa meg az AKS-fürtöt.

    Képernyőkép a Célok nézetről az Azure Portalon.

  4. 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.

    Képernyőkép a célok engedélyezéséről az Azure Portalon.

  5. 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.

  6. Megjelenik egy értesítés, amely azt jelzi, hogy a kiválasztott erőforrások sikeresen engedélyezve lettek.

    Képernyőkép a cél sikeres engedélyezéséről szóló értesítésről.

Ö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.

  1. 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>.

    Képernyőkép a Kísérletek nézetről az Azure Portalon.

  2. 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.

    Képernyőkép az alapszintű kísérlet részleteinek hozzáadásáról.

  3. 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.

    Képernyőkép a kísérlettervezőről.

  4. 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 jsonSpeckialakítása:

    1. Tekintse meg a Chaos Mesh dokumentációját egy hibatípusról, például a PodChaos típusról.

    2. 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
      
    3. 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. A duration 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
      
    4. 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"]}}
      
    5. Illessze be a kicsinyített JSON-t a portál jsonSpec mezőjébe.

  5. Válassza a Következő: Célerőforrások lehetőséget.

    Képernyőkép a hiba tulajdonságairól.

  6. Válassza ki az AKS-fürtöt, és kattintson a Tovább gombra.

    Képernyőkép egy cél hozzáadásáról.

  7. 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 áttekintését és létrehozását bemutató képernyőkép.

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.

  1. Nyissa meg az AKS-fürtöt, és válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

    Képernyőkép az AKS áttekintési oldalról.

  2. Válassza a Hozzáadás>Szerepkör-hozzárendelés hozzáadása lehetőséget.

    Képernyőkép a Hozzáférés-vezérlés (IAM) áttekintéséről.

  3. 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.

    Az AKS-fürt rendszergazdai szerepkörének hozzárendelését bemutató képernyőkép.

  4. 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.

    Képernyőkép, amely bemutatja, hogyan adhatunk hozzá egy kísérletet egy szerepkörhöz.

  5. 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.

  1. A Kísérletek nézetben válassza ki a kísérletet. Válassza az OK gombot>.

    A kísérlet indítását bemutató képernyőkép.

  2. 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: