Ciągła integracja/ciągłe wdrażanie dla aplikacji usługi AKS za pomocą usługi Azure Pipelines

Azure Container Registry
Azure DevOps
Azure Kubernetes Service (AKS)
GitHub

Ważne

Mikrousługi z usługami AKS i Azure DevOps to wariant projektu potoku ciągłej integracji/ciągłego wdrażania przy użyciu usługi Azure DevOps. Ten artykuł koncentruje się na aspektach specyficznych dla usługi AKS wdrażania aplikacji usługi AKS za pomocą usługi Azure Pipelines.

Potencjalne przypadki użycia

Wdrażanie aplikacji usługi AKS przy użyciu usługi Azure Pipelines.

Architektura

Architecture diagram of an AKS CI/CD pipeline using Azure Pipelines.

Diagram architektury potoku platformy Azure. Na diagramie przedstawiono następujące kroki: 1. Inżynier wypychania zmian kodu do repozytorium Git usługi Azure DevOps. 2. Potok żądania ściągnięcia usługi Azure DevOps jest wyzwalany. Ten potok przedstawia następujące zadania: linting, przywracanie, kompilowanie i testy jednostkowe. 3. Potok ciągłej integracji usługi Azure DevOps jest wyzwalany. Ten potok przedstawia następujące zadania: uzyskiwanie wpisów tajnych, linting, przywracanie, kompilacja, testy jednostkowe, testy integracji, publikowanie artefaktów kompilacji i publikowanie obrazów kontenerów. 3. Obraz kontenera publikowany w nieprodukcyjnej usłudze Azure Container Registry. 4. Potok ciągłego wdrażania usługi Azure DevOps jest wyzwalany. Ten potok przedstawia następujące zadania: wdrażanie w środowisku przejściowym, testach akceptacyjnych, podwyższanie poziomu obrazu kontenera, interwencja ręczna i wydanie. 5. Przedstawia potok ciągłego wdrażania w środowisku przejściowym. 6. Przedstawia obraz kontenera, który jest promowany do produkcyjnej usługi Azure Container Registry. 7 Przedstawia potok ciągłego wdrażania wydany w środowisku produkcyjnym. 8. Przedstawia Szczegółowe informacje kontenera przekazujące dane telemetryczne do usługi Azure Monitor. 9. Przedstawia operator monitorowania potoku, korzystając z usługi Azure Monitor, aplikacja systemu Azure Szczegółowe informacje i obszaru roboczego usługi Azure Analytics.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Żądanie ściągnięcia do usługi Azure Repos Git wyzwala potok żądania ściągnięcia. Ten potok przeprowadza szybkie kontrole jakości, takie jak podszewka, kompilowanie i testowanie jednostkowe kodu. Jeśli którekolwiek z testów nie powiedzie się, żądanie ściągnięcia nie scala. Wynikiem pomyślnego uruchomienia tego potoku jest pomyślne scalenie żądania ściągnięcia.
  2. Scalanie z usługą Azure Repos Git wyzwala potok ciągłej integracji. Ten potok uruchamia te same zadania co potok żądania ściągnięcia z pewnymi ważnymi dodatkami. Potok ciągłej integracji uruchamia testy integracji. Te testy wymagają wpisów tajnych, więc ten potok pobiera te wpisy tajne z usługi Azure Key Vault.
  3. Wynikiem pomyślnego uruchomienia tego potoku jest utworzenie i opublikowanie obrazu kontenera w nieprodukcyjnej usłudze Azure Container Registry.
  4. Ukończenie potoku ciągłej integracji wyzwala potok ciągłego wdrażania.
  5. Potok ciągłego wdrażania wdraża szablon YAML w przejściowym środowisku usługi AKS. Szablon określa obraz kontenera ze środowiska nieprodukcyjnego. Następnie potok wykonuje testy akceptacyjne w środowisku przejściowym w celu zweryfikowania wdrożenia. Zadanie ręcznej weryfikacji jest uruchamiane, jeśli testy kończą się powodzeniem, wymagając od osoby weryfikacji wdrożenia i wznowienia potoku. Krok ręcznej weryfikacji jest opcjonalny. Niektóre organizacje zostaną automatycznie wdrożone.
  6. Jeśli interwencja ręczna zostanie wznowiona, potok ciągłego wdrażania promuje obraz z nieprodukcyjnej usługi Azure Container Registry do rejestru produkcyjnego.
  7. Potok ciągłego wdrażania wdraża szablon YAML w środowisku produkcyjnym usługi AKS. Szablon określa obraz kontenera ze środowiska produkcyjnego.
  8. Kontener Szczegółowe informacje okresowo przekazuje metryki wydajności, dane spisu i informacje o stanie kondycji z hostów kontenerów i kontenerów do usługi Azure Monitor.
  9. Usługa Azure Monitor zbiera dane dotyczące obserwacji, takie jak dzienniki i metryki, dzięki czemu operator może analizować dane dotyczące kondycji, wydajności i użycia. Aplikacja Szczegółowe informacje zbiera wszystkie dane monitorowania specyficzne dla aplikacji, takie jak ślady. Usługa Azure Log Analytics służy do przechowywania wszystkich tych danych.

Elementy

  • Kontener Szczegółowe informacje zbiera dzienniki i metryki i dzienniki oraz przekazuje je do usługi Azure Monitor.
  • Usługa Azure Container Registry to zarządzana, prywatna usługa rejestru kontenerów na platformie Azure. Użyj usługi Container Registry do przechowywania prywatnych obrazów kontenerów.
  • Usługa Azure Kubernetes Service to zarządzana usługa Kubernetes, w której platforma Azure obsługuje krytyczne zadania, takie jak monitorowanie kondycji i konserwacja.
  • Usługa Defender for DevOps przeprowadza analizę statyczną i pomaga uzyskać wgląd w stan zabezpieczeń w wielu potokach w zakresie programowania i wdrażania usługi AKS.

Następne kroki