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.

Požadavky

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. Nahraďte MyManagedCluster název MyResourceGroup clusteru a skupiny prostředků a zadejte ho.

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

    Snímek obrazovky znázorňující zobrazení Cíle na webu 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.

    Snímek obrazovky znázorňující povolení cílů na webu 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.

    Snímek obrazovky s oznámením, že cíl byl úspěšně povolený

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.

    Snímek obrazovky znázorňující zobrazení Experimenty na webu 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ů.

    Snímek obrazovky znázorňující přidání základních podrobností experimentu

  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.

    Snímek obrazovky znázorňující návrháře experimentu

  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.

    Snímek obrazovky znázorňující vlastnosti chyby

  6. Vyberte cluster AKS a vyberte Další.

    Snímek obrazovky znázorňující přidání cíle

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

    Snímek obrazovky znázorňující kontrolu a vytvoření experimentu

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

    Snímek obrazovky se stránkou Přehled AKS

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

    Snímek obrazovky znázorňující přehled řízení přístupu (IAM)

  3. Vyhledejte roli správce clusteru Azure Kubernetes Service a vyberte ji. Vyberte Další.

    Snímek obrazovky znázorňující přiřazení role správce clusteru AKS

  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.

    Snímek obrazovky znázorňující přidání experimentu do 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.

    Snímek obrazovky znázorňující spuštění experimentu

  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: