Strategia wdrażania Blue Green w Kubernetes
Jest również znany jako metoda wdrażania „zerowego przestoju”, ponieważ w tego rodzaju procesie K8s produkuje nowy kapsułek w nowym środowisku, a także istniejące wdrożenie, a nie usuwanie lub zastępowanie istniejącego POD.
To podejście wdrażania pozwala na jednoczesne działanie dwóch identycznych środowisk produkcyjnych. Jednym z nich jest środowisko produkcyjne, które jest obecnie używane. Dostaje każdy ruch użytkownika wskazany jako niebieski. Jego klon w drugim środowisku jest wolny (zielony). Konfiguracja aplikacji jest używana przez oba.
Nowa wersja aplikacji jest konfigurowana w zielonym ustawieniu i przetestowana pod względem wydajności i funkcjonalności. Ruch aplikacji jest kierowany z niebieskiego na zielony po powodzenia wyników testowania. Nowa produkcja jest następnie zielona.
Jaki jest proces wdrażania niebieskiego zielonego w Kubernetes?
W Kubernetes proces wdrażania Blue Green jest następujący:
Zbadajmy bardziej szczegółowo pełny proces wdrażania niebiesko-zielonego. Wyobraź sobie, że obecnie używamy wersji 1 programu, który jest wyświetlany na niebiesko. Używamy wdrożeń i kapsuł do uruchamiania aplikacji w Kubernetes. Na poniższym rysunku można zobaczyć niebieskie wdrożenie, w którym używana jest „wersja 1”. „Pod 1”, „Pod 2” i „Pod 3” można również zobaczyć wdrożenie.
Następująca wersja, wyznaczona „Wersja 2”, jest następnie przygotowywana do użycia. Dlatego opracowujemy nowe ustawienie produkcyjne o nazwie Green (patrz rysunek poniżej).
Okazuje się, że w Kubernetes musimy po prostu określić nowe wdrożenie; resztę platformy robi. Ze względu na ciągłą normalną działalność Blue Environment użytkownicy nadal nie są świadomi zmiany. Nie zauważą żadnej zmiany, dopóki nie przekształcimy niebieskiego na zielony ruch.
Wiadomo, że tylko programiści, którzy lubią podejmować ryzyko, testują się w produkcji. Ale w tym miejscu każdy może to zrobić bez niebezpieczeństwa. Na tym samym klastrze Kubernetes co niebieski możemy przetestować zielony według naszego wygody.
Wersja 1 jest w trybie gotowości, jak pokazano poniżej. Podczas gdy wersja 2 jest aktywna na zielono. Zobacz poniższy rysunek, aby lepiej zrozumieć tę koncepcję. Tutaj widać, że zielone wdrożenie jest teraz uruchomione. Wszystkie zasoby wykorzystywane przez niebieskie wdrożenie są teraz wykorzystywane przez zielone wdrożenie. Możesz zobaczyć, że nic nie dzieje się w niebieskim wdrożeniu.
Po zmianie użytkowników z niebieskiego na zielony i jesteśmy zadowoleni z wyniku, możemy usunąć niebieski, aby wydać zasoby. Na poniższym rysunku widać tylko, że zielone wdrożenie działa skutecznie.
Niebiesko-zielone wdrożenia są trudne, jak można się spodziewać. Musimy zarządzać siecią, jednocześnie żonglując dwoma wdrożeniami. Na szczęście Kubernetes znacznie upraszcza proces. Powinniśmy jednak dołożyć wszelkich starań, aby zautomatyzować cykl wydawania.
Aktualizacja Blue Green wdrożenie
Zakończenie wdrożenia niebiesko-zielonego. Wynika to z faktu, że musieliśmy skonfigurować nowe klastry i ponownie zainstalować wszystkie nasze aplikacje; i potrzebne jest więcej finansowania na aktualizacje. W rezultacie, gdy jest to możliwe, faworyzujemy standardową aktualizację. Metodę wdrażania niebiesko-zielonego można zastosować do aktualizacji kilku wersji lub do zwiększenia naszego zaufania do aktualizacji, które obejmują złamanie zmian. Musimy dokładnie przeanalizować wszystkie zmieńcze.
Zalety korzystania z wdrożeń niebiesko-zielonych
Podczas wdrażania w produkcji zastosowanie tej strategii ma wiele zalet.
Mniej przestoju
Zanim system przejdzie do trybu online, wdrożenia zawsze wymagają trochę czasu. Blue Green daje nam możliwość wdrażania produkcji i bezpośredniego ruchu w nowym wdrożeniu, gdy jest ono operacyjne i na żywo. W rezultacie użytkownicy nie będzie żadnych przestojów.
Natychmiastowe wycofanie
Jeśli niebieskie środowisko w tym scenariuszu jest wadliwe, możemy przekazać cały nasz ruch do zielonego środowiska, który będzie miał najnowszą stabilną wersję. Możemy również pozwolić naszym programistom rozwiązać wszelkie wady w najnowszej wersji. Po naprawie błędu ruch zostanie ponownie przekierowany, a kolejne wdrożenie zostanie z powrotem na niebieski.
Nie wpływają na użytkowników
Twój użytkownik nawet nie będzie świadomy, że wdrożenie nie powiodło się.
Wniosek
Wdrożenia są jedną z najważniejszych faz cyklu życia oprogramowania, więc każde zaangażowane w nich działanie musi zostać starannie rozważane i przetestowane, aby upewnić się, że idealnie nadaje się do naszej architektury i operacji systemu. W tym poście mieliśmy szczególnie wdrożenia niebieskiego zielonego. Jedną z potencjalnych metod wdrażania aplikacji do produkcji jest ten. Jak każde inne podejście, ma własne wady. Omówiliśmy szczegółowo wspomniany temat i reprezentację graficzną, aby pomóc ci lepiej to zrozumieć.