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
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
- Cluster AKS s fondem uzlů Linuxu. Pokud cluster AKS nemáte, prohlédni si rychlý start AKS, který používá Azure CLI, Azure PowerShell nebo Azure Portal.
Omezení
- Chyby služby Chaos Mesh můžete použít s privátními clustery konfigurací injektáže virtuální sítě v aplikaci Chaos Studio. Všechny příkazy vydané privátnímu clusteru, včetně kroků v tomto článku pro nastavení služby Chaos Mesh, musí postupovat podle pokynů k privátnímu clusteru. Mezi doporučené metody patří připojení z virtuálního počítače ve stejné virtuální síti nebo použití funkce vyvolání příkazu AKS.
- Chyby AKS Chaos Mesh jsou podporovány pouze ve fondech uzlů s Linuxem.
- Pokud je váš cluster AKS nakonfigurovaný tak, aby povoloval jenom autorizované rozsahy IP adres, musíte povolit rozsahy IP adres aplikace Chaos Studio. Najdete je tak, že se
ChaosStudio
na značku služby dotazujete pomocí rozhraní API pro zjišťování značek služby nebo souborů JSON ke stažení.
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.
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ázevMyResourceGroup
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
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.
Otevřete Azure Portal.
Na panelu hledání vyhledejte Chaos Studio .
Vyberte Cíle a přejděte do clusteru AKS.
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.
Ověřte, že je uvedený požadovaný prostředek. Vyberte Zkontrolovat a povolit a pak povolit.
Zobrazí se oznámení, které značí, že vybrané prostředky byly úspěšně povoleny.
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ě.
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.
Vyplňte předplatné, skupinu prostředků a umístění, kam chcete experiment chaosu nasadit. Pojmenujte experiment. Vyberte Další: Návrhář experimentů.
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.
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
:Informace o typu chyby, například typu PodChaos, najdete v dokumentaci k Chaos Mesh.
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
Odeberte libovolný YAML mimo (
spec
včetně názvu vlastnosti specifikace) a odeberte odsazení podrobností specifikace. Parametrduration
není nutný, ale pokud je zadaný, použije se. V tomto případě ji odeberte.action: pod-failure mode: all selector: namespaces: - default
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"]}}
Vložte minimalizovaný KÓD JSON do pole jsonSpec na portálu.
Vyberte Další: Cílové prostředky.
Vyberte cluster AKS a vyberte Další.
Ověřte, že experiment vypadá správně, a vyberte Zkontrolovat a vytvořit vytvořit>.
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.
Přejděte do clusteru AKS a vyberte Řízení přístupu (IAM).
Vyberte Přidat>Přidat přiřazení role.
Vyhledejte roli správce clusteru Azure Kubernetes Service a vyberte ji. Vyberte Další.
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.
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.
V zobrazení Experimenty vyberte experiment. Vyberte Spustit>OK.
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: