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

Diagram architektury potoku ciągłej integracji/ciągłego wdrażania usługi AKS przy użyciu usługi Azure Pipelines.

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. Usługa Container Insights 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. Usługa Application Insights zbiera wszystkie dane monitorowania specyficzne dla aplikacji, takie jak ślady. Usługa Azure Log Analytics służy do przechowywania wszystkich tych danych.

Składniki

  • Usługa Container Insights 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