Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Możesz użyć eksperymentu chaosu, aby sprawdzić, czy aplikacja jest odporna na błędy, powodując te błędy w kontrolowanym środowisku. W tym artykule powodujesz okresowe awarie poda Azure Kubernetes Service (AKS) w przestrzeni nazw, przeprowadzając eksperyment chaotyczny z użyciem Azure Chaos Studio. Uruchomienie tego eksperymentu może pomóc w obronie przed niedostępnością usługi, gdy występują sporadyczne błędy.
Usługa Chaos Studio używa Chaos Mesh, bezpłatnej platformy open-source do inżynierii chaosu dla Kubernetes, aby wstrzyknąć błędy do klastra AKS. Błędy usługi Chaos Mesh to błędy bezpośrednie usługi, które wymagają zainstalowania usługi Chaos Mesh w klastrze usługi AKS. Możesz użyć tych samych kroków, aby skonfigurować i uruchomić eksperyment dla dowolnego błędu usługi AKS Chaos Mesh.
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
- Klaster usługi AKS z pulą węzłów systemu Linux. Jeśli nie masz klastra AKS, zobacz szybki start AKS używający Azure CLI, Azure PowerShell lub portalu Azure.
Ograniczenia
- Można używać błędów Chaos Mesh z klastrami prywatnymi, konfigurując iniekcję sieci wirtualnej w Chaos Studio. Wszystkie polecenia wydane dla klastra prywatnego, w tym kroki opisane w tym artykule w celu skonfigurowania usługi Chaos Mesh, muszą postępować zgodnie ze wskazówkami dotyczącymi klastra prywatnego. Zalecane metody obejmują nawiązywanie połączenia z maszyną wirtualną w tej samej sieci wirtualnej lub korzystanie z funkcji wywołania polecenia usługi AKS.
- Błędy usługi AKS Chaos Mesh są obsługiwane tylko w pulach węzłów systemu Linux.
- Jeśli klaster usługi AKS jest skonfigurowany tak, aby zezwalał tylko na autoryzowane zakresy adresów IP, musisz zezwolić na zakresy adresów IP programu Chaos Studio. Można je znaleźć, wysyłając zapytanie do tagu usługi za pomocą interfejsu
ChaosStudio
API odnajdywania tagów usługi lub pobierając pliki JSON.
Konfigurowanie usługi Chaos Mesh w klastrze usługi AKS
Przed uruchomieniem awarii Chaos Mesh w programie Chaos Studio należy zainstalować Chaos Mesh na klastrze AKS.
Uruchom następujące polecenia w w oknie usługi Azure Cloud Shell, gdzie masz aktywną subskrypcję ustawioną na subskrypcję, w której wdrożono klaster AKS. Zastąp
MyManagedCluster
nazwą swojego klastra iMyResourceGroup
nazwą swojej grupy zasobów.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
Sprawdź, czy pody Chaos Mesh są zainstalowane, uruchamiając następujące polecenie:
kubectl get po -n chaos-testing
Powinieneś zobaczyć dane wyjściowe podobne do poniższego przykładu (chaos-controller-manager i jeden lub więcej demonów 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
Możesz również użyć instrukcji instalacji w witrynie internetowej Usługi Chaos Mesh.
Włączanie programu Chaos Studio w klastrze usługi AKS
Program Chaos Studio nie może wstrzyknąć błędów względem zasobu, chyba że ten zasób został dodany do programu Chaos Studio. Zasób można dodać do programu Chaos Studio, tworząc element docelowy i możliwości w zasobie. Klastry AKS mają tylko jeden typ docelowy (service-direct), ale inne zasoby mogą mieć do dwóch typów docelowych. Jeden typ docelowy dotyczy bezpośrednich usterek usługi. Innym typem docelowym są błędy oparte na agencie. Każdy typ błędu usługi Chaos Mesh jest reprezentowany jako funkcja, na przykład PodChaos, NetworkChaos i IOChaos.
Otwórz portal Azure Portal.
Wyszukaj pozycję Chaos Studio na pasku wyszukiwania.
Wybierz pozycję Cele i przejdź do klastra usługi AKS.
Zaznacz pole wyboru obok klastra usługi AKS. Wybierz Włącz elementy docelowe, a następnie z menu rozwijanego wybierz Włącz elementy docelowe bezpośrednio w usłudze.
Upewnij się, że żądany zasób znajduje się na liście. Wybierz Przejrzyj i włącz, a następnie Włącz.
Zostanie wyświetlone powiadomienie wskazujące, że wybrane zasoby zostały pomyślnie włączone.
Teraz pomyślnie dodałeś swój klaster AKS do Chaos Studio. W widoku Cele można również zarządzać funkcjami włączonymi dla tego zasobu. Wybierz link Zarządzaj akcjami obok zasobu, aby wyświetlić możliwości włączone dla tego zasobu.
Tworzenie eksperymentu
Teraz możesz utworzyć eksperyment. Eksperyment chaosu definiuje akcje, które chcesz wykonać względem zasobów docelowych. Akcje są zorganizowane i uruchamiane w krokach sekwencyjnych. Eksperyment chaosu definiuje również akcje, które mają być wykonywane względem gałęzi, które są uruchamiane równolegle.
Wybierz kartę Eksperymenty w programie Chaos Studio. W tym widoku można zobaczyć wszystkie eksperymenty chaosu i zarządzać nimi. Wybierz pozycję Utwórz>nowy eksperyment.
Wypełnij pola Subskrypcja, Grupa zasobów i Lokalizacja, w których chcesz wdrożyć eksperyment chaosu. Nadaj eksperymentowi nazwę. Wybierz pozycję Dalej: Projektant eksperymentów.
Jesteś teraz w projektancie eksperymentów Chaos Studio. Projektant eksperymentów umożliwia kompilowanie eksperymentu przez dodawanie kroków, gałęzi i błędów. Nadaj przyjazną nazwę krokowi i gałęzi, a następnie wybierz Dodaj akcję > Dodaj błąd.
Z listy rozwijanej wybierz AKS Chaos Mesh Pod Chaos. Wypełnij Czas trwania liczbą minut, przez które błąd ma trwać, a jsonSpec następującymi informacjami:
Aby sformułować siatkę chaosu
jsonSpec
:Zapoznaj się z dokumentacją usługi Chaos Mesh, aby zapoznać się z typem błędu, na przykład typem PodChaos.
Sformułuj konfigurację YAML dla tego typu błędów przy użyciu dokumentacji usługi Chaos Mesh.
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
Usuń dowolny kod YAML poza elementem
spec
(w tym nazwę właściwości specyfikacji) i usuń wcięcie szczegółów specyfikacji. Parametrduration
nie jest niezbędny, ale jest używany, jeśli zostanie podany. W takim przypadku usuń go.action: pod-failure mode: all selector: namespaces: - default
Użyj konwertera YAML-to-JSON, takiego jak ten, aby przekonwertować kod YAML usługi Chaos Mesh na format JSON i zminimalizować go.
{"action":"pod-failure","mode":"all","selector":{"namespaces":["default"]}}
Wklej zminimalizowany kod JSON do pola jsonSpec w portalu.
Wybierz pozycję Dalej: Zasoby docelowe.
Wybierz klaster usługi AKS i wybierz pozycję Dalej.
Sprawdź, czy eksperyment wygląda poprawnie, i wybierz pozycję Przejrzyj i utwórz>Utwórz.
Przyznaj eksperymentowi uprawnienia do klastera AKS
Podczas tworzenia eksperymentu chaosu program Chaos Studio tworzy tożsamość zarządzaną przypisaną przez system, która wykonuje błędy względem zasobów docelowych. Ta tożsamość musi mieć odpowiednie uprawnienia do zasobu docelowego, aby eksperyment został pomyślnie uruchomiony.
Przejdź do klastra usługi AKS i wybierz pozycję Kontrola dostępu (IAM).
Wybierz pozycję Dodaj>Dodaj przypisanie roli.
Wyszukaj rolę administratora klastra usługi Azure Kubernetes Service i wybierz rolę. Wybierz Dalej.
Wybierz pozycję Wybierz członków i wyszukaj nazwę eksperymentu. Wybierz swój eksperyment i wybierz pozycję Wybierz. Jeśli w tej samej dzierżawie istnieje wiele eksperymentów o tej samej nazwie, nazwa twojego eksperymentu zostanie skrócona i uzupełniona losowymi znakami.
Wybierz opcję Przeglądanie + przypisywanie>Przeglądanie + przypisywanie.
Uruchamianie eksperymentu
Teraz możesz przystąpić do uruchamiania eksperymentu. Aby zobaczyć efekt, zalecamy otwarcie przeglądu klastra usługi AKS i przejście do pozycji Szczegółowe informacje na osobnej karcie przeglądarki. Dane na żywo dla liczby aktywnych zasobników pokazują efekt uruchomienia eksperymentu.
W widoku Eksperymenty wybierz swój eksperyment. Wybierz przycisk Start>OK.
Gdy stan zmieni się na Uruchomiono, wybierz pozycję Szczegóły dla najnowszego przebiegu w obszarze Historia, aby wyświetlić szczegółowe informacje dotyczące uruchomionego eksperymentu.
Następne kroki
Teraz, po uruchomieniu eksperymentu bezpośredniego usługi AKS Chaos Mesh, możesz wykonać następujące czynności: