Deklaracja się zgadza, ale aplikacja nadal zawodzi
pokazuje Synced. Wdrożenie może nadal być niezdrowe, a aplikacja może odpowiadać na , choć rezerwacja kończy się błędem. To różne sprawdzenia.
- Sync: czy obserwowana odpowiada konfiguracji docelowej śledzonej przez Argo?
- Health: czy zasoby spełniają swoje kryteria zdrowia?
- Test biznesowy: czy mała reprezentatywna operacja użytkownika kończy się poprawnie?
Udana synchronizacja jest przydatnym dowodem, ale nie odpowiada na pozostałe dwa pytania.
Przewidź trzy decyzje o wydaniu
Samodzielny przykład dla 3.11+ używa sztucznych obserwacji. Zapisz release.py, potem uruchom python3 release.py. Nie łączy się z klastrem ani go nie zmienia.
def release_ready(sync: str, health: str, smoke_ok: bool) -> bool:
return sync == "Synced" and health == "Healthy" and smoke_ok is True
cases = [
("Synced", "Degraded", True),
("Synced", "Healthy", False),
("Synced", "Healthy", True),
]
for case in cases:
print(release_ready(*case))Wynik to False, False, True, każdy w osobnym wierszu. To mała polityka dopuszczenia wydania, nie zamiennik oceny zdrowia Argo ani prawdziwego testu biznesowego. Rzeczywista kontrola musi zebrać świeże obserwacje dla właściwego środowiska i rewizji.
Znajdź brakujący warunek
Usuń and smoke_ok is True. Drugi przypadek zwraca teraz True, chociaż operacja użytkownika zawiodła. Przywróć warunek. Dodaj przypadek OutOfSync / Healthy / True i przewidź wynik przed uruchomieniem.
Nie wymyślaj pozytywnej obserwacji, aby wydanie było zielone. Niedostępna kontrola oznacza brak dowodu: diagnozuj kontrolę albo aplikację.
Prześledź zależności
Sprawdzony kod → → commit konfiguracji → przez Argo → → operacja biznesowa.
Podczas stary Pod może nadal obsługiwać użytkowników, aż nowy schemat będzie gotowy. Cofnięcie obrazu nie cofa zapisanych danych. W rzeczywistym labie celowo zepsuj migrację i sprawdź starą aplikację, zanim uznasz procedurę wycofania za działającą.
Kolejny eksperyment
Na lokalnym klastrze porównaj cztery obserwacje jednego wdrożenia: rewizję , sync, health i wynik żądania do aplikacji. Zapisz je osobno. Która obserwacja wykryje poprawny z błędną konfiguracją biznesową?
Źródła
SPRAWDŹ SWOJĄ INTUICJĘ

