Vytvoření experimentu s chaosem, který pomocí chyby Chaos Mesh zabije pody AKS pomocí webu Azure Portal

Pomocí experimentu s chaosem můžete ověřit, že je vaše aplikace odolná vůči selháním, a to tím, že tyto chyby způsobují v řízeném prostředí. V tomto článku způsobíte pravidelné selhání podů Azure Kubernetes Service (AKS) v oboru názvů pomocí experimentu chaosu a nástroje Azure Chaos Studio. Spuštění tohoto experimentu vám může pomoct bránit se nedostupnosti služby, pokud dojde k občasným selháním.

Chaos Studio používá k vložení chyb do clusteru AKS bezplatnou opensourcovou platformu chaosu pro Kubernetes. Chyby služby Chaos Mesh jsou chyby přímé služby, které vyžadují, aby byla v clusteru AKS nainstalovaná služba Chaos Mesh. Stejný postup můžete použít k nastavení a spuštění experimentu pro jakoukoli chybu AKS Chaos Mesh.

Předpoklady

Omezení

Nastavení služby Chaos Mesh v clusteru AKS

Než budete moct spustit chyby Chaos Mesh v aplikaci Chaos Studio, musíte do clusteru AKS nainstalovat Chaos Mesh.

  1. V okně Azure Cloud Shellu spusťte následující příkazy, ve kterém máte aktivní předplatné nastavené jako předplatné, ve kterém je nasazený cluster AKS. $CLUSTER_NAME Nahraďte $RESOURCE_GROUP skupinu prostředků a názvem vašeho prostředku clusteru a nahraďte ji.

    az aks get-credentials -g $RESOURCE_GROUP -n $CLUSTER_NAME
    
    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. Spuštěním následujícího příkazu ověřte, že jsou pody Chaos Mesh nainstalované:

    kubectl get po -n chaos-testing
    

    Měl by se zobrazit výstup podobný následujícímu příkladu (chaos-controller-manager a jeden nebo více démonů chaosu):

    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
    

Můžete také použít pokyny k instalaci na webu Chaos Mesh.

Povolení Chaos Studia v clusteru AKS

Chaos Studio nemůže vkládat chyby proti prostředku, pokud se tento prostředek nepřidá do aplikace Chaos Studio. Prostředek přidáte do nástroje Chaos Studio vytvořením cíle a možností prostředku. Clustery AKS mají pouze jeden cílový typ (přímý servis), ale jiné prostředky můžou mít až dva cílové typy. Jedním cílovým typem jsou chyby přímé služby. Dalším cílovým typem jsou chyby založené na agentech. Každý typ chyby Chaos Mesh je reprezentován jako funkce, jako je PodChaos, NetworkChaos a IOChaos.

  1. Otevřete Azure Portal.

  2. Na panelu hledání vyhledejte Chaos Studio .

  3. Vyberte Cíle a přejděte do clusteru AKS.

    Screenshot that shows the Targets view in the Azure portal.

  4. Zaškrtněte políčko vedle clusteru AKS. V rozevírací nabídce vyberte Povolit cíle a pak v rozevírací nabídce vyberte Povolit cíle přímé služby.

    Screenshot that shows enabling targets in the Azure portal.

  5. Ověřte, že je uvedený požadovaný prostředek. Vyberte Zkontrolovat a povolit a pak povolit.

  6. Zobrazí se oznámení, které značí, že vybrané prostředky byly úspěšně povoleny.

    Screenshot that shows the notification showing that the target was successfully enabled.

Teď jste úspěšně přidali cluster AKS do chaos studia. V zobrazení Cíle můžete také spravovat možnosti povolené u tohoto prostředku. Výběrem odkazu Spravovat akce vedle prostředku zobrazte možnosti povolené pro daný prostředek.

Vytvoření experimentu

Teď můžete experiment vytvořit. Experiment chaosu definuje akce, které chcete provést proti cílovým prostředkům. Akce jsou uspořádány a spouštěny v sekvenčních krocích. Experiment chaosu také definuje akce, které chcete provést proti větvím, které běží paralelně.

  1. Vyberte kartu Experimenty v aplikaci Chaos Studio. V tomto zobrazení můžete vidět a spravovat všechny experimenty chaosu. Vyberte Vytvořit>nový experiment.

    Screenshot that shows the Experiments view in the Azure portal.

  2. Vyplňte předplatné, skupinu prostředků a umístění, kam chcete experiment chaosu nasadit. Pojmenujte experiment. Vyberte Další: Návrhář experimentů.

    Screenshot that shows adding basic experiment details.

  3. Teď jste v návrháři experimentů Chaos Studio. Návrhář experimentů umožňuje vytvořit experiment přidáním kroků, větví a chyb. Zadejte popisný název kroku a větve a vyberte Přidat akci > Přidat chybu.

    Screenshot that shows the experiment designer.

  4. V rozevíracím seznamu vyberte AKS Chaos Mesh Pod Chaos . Zadejte dobu trvání a zadejte počet minut, po které chcete, aby chyba trvala, a jsonSpec s následujícími informacemi:

    Formulujte svou chaosovou síť jsonSpec:

    1. Informace o typu chyby, například typu PodChaos, najdete v dokumentaci k Chaos Mesh.

    2. Pomocí dokumentace ke službě Chaos Mesh zformulujte konfiguraci YAML pro tento typ chyby.

      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. Odeberte libovolný YAML mimo ( spec včetně názvu vlastnosti specifikace) a odeberte odsazení podrobností specifikace. Parametr duration není nutný, ale pokud je zadaný, použije se. V tomto případě ji odeberte.

      action: pod-failure
      mode: all
      selector:
        namespaces:
          - default
      
    4. Pomocí převaděče YAML-to-JSON, jako je tento , převeďte YAML Chaos Mesh na JSON a minimalizujte ho.

      {"action":"pod-failure","mode":"all","selector":{"namespaces":["default"]}}
      
    5. Vložte minimalizovaný KÓD JSON do pole jsonSpec na portálu.

  5. Vyberte Další: Cílové prostředky.

    Screenshot that shows fault properties.

  6. Vyberte cluster AKS a vyberte Další.

    Screenshot that shows adding a target.

  7. Ověřte, že experiment vypadá správně, a vyberte Zkontrolovat a vytvořit vytvořit>.

    Screenshot that shows reviewing and creating an experiment.

Udělení oprávnění experimentu clusteru AKS

Když vytvoříte experiment chaosu, Chaos Studio vytvoří spravovanou identitu přiřazenou systémem, která provádí chyby proti cílovým prostředkům. Tato identita musí mít příslušná oprávnění k cílovému prostředku, aby se experiment úspěšně spustil.

  1. Přejděte do clusteru AKS a vyberte Řízení přístupu (IAM).

    Screenshot that shows the AKS Overview page.

  2. Vyberte Přidat>Přidat přiřazení role.

    Screenshot that shows the Access control (IAM) overview.

  3. Vyhledejte cluster Azure Kubernetes Service Správa roli a vyberte roli. Vyberte Další.

    Screenshot that shows assigning the AKS Cluster Admin role.

  4. Zvolte Vybrat členy a vyhledejte název experimentu. Vyberte experiment a zvolte Vybrat. Pokud ve stejném tenantovi se stejným názvem existuje více experimentů, název experimentu se zkrátí s přidanými náhodnými znaky.

    Screenshot that shows adding an experiment to a role.

  5. Vyberte Zkontrolovat a přiřadit>recenzi a přiřadit.

Spuštění experimentu

Teď jste připraveni spustit experiment. Pokud chcete zobrazit efekt, doporučujeme otevřít přehled clusteru AKS a přejít na Přehledy na samostatné kartě prohlížeče. Živá data pro počet aktivních podů ukazují účinek spuštění experimentu.

  1. V zobrazení Experimenty vyberte experiment. Vyberte Spustit>OK.

    Screenshot that shows starting an experiment.

  2. Když se stav změní na Spuštěno, vyberte Podrobnosti pro poslední spuštění v části Historie a zobrazte podrobnosti o spuštěném experimentu.

Další kroky

Teď, když jste spustili přímý experiment služby AKS Chaos Mesh, jste připraveni: