Tworzenie i wdrażanie aplikacji
Przeanalizuj wzorce i praktyki tworzenia aplikacji, skonfiguruj usługę Azure Pipelines i zaimplementuj najlepsze rozwiązania inżynierii niezawodności lokacji (SRE). Inżynieria SRE to podejście inżynieryjne do tworzenia i wdrażania aplikacji, zarządzania zmianami, monitorowania i reagowania awaryjnego.
Planowanie, szkolenie i dowód
Skorzystaj z poniższej listy kontrolnej i zasobów programistycznych aplikacji, aby zaplanować tworzenie i wdrażanie aplikacji. Powinna być w stanie odpowiedzieć na następujące pytania:
- Czy przygotowano środowisko programistyczne aplikacji i przepływ pracy konfiguracji?
- Jak utworzysz strukturę folderu projektu do obsługi tworzenia aplikacji Kubernetes?
- Czy zidentyfikowano stan, konfigurację i wymagania dotyczące magazynu aplikacji?
Lista kontrolna SRE
Przygotuj środowisko programistyczne. Skonfiguruj środowisko za pomocą narzędzi, aby tworzyć kontenery i konfigurować przepływ pracy programowania.
Aby uzyskać więcej informacji, zobacz:
Konteneryzowanie aplikacji. Zapoznaj się z kompleksową funkcją tworzenia platformy Kubernetes, w tym szkieletem aplikacji, przepływami pracy w pętli wewnętrznej, strukturami zarządzania aplikacjami, potokami ciągłej integracji/ciągłego wdrażania, agregacją dzienników, monitorowaniem i metrykami aplikacji.
Aby dowiedzieć się więcej, zobacz:
Zapoznaj się z typowymi scenariuszami platformy Kubernetes. Platforma Kubernetes jest często uważana za platformę do dostarczania mikrousług, ale staje się szerszą platformą. Aby uzyskać więcej informacji na temat typowych scenariuszy platformy Kubernetes, takich jak analiza wsadowa i przepływ pracy, zobacz Omówienie typowych scenariuszy platformy Kubernetes (wideo).
Przygotuj aplikację na platformę Kubernetes. Przygotuj układ systemu plików aplikacji dla platformy Kubernetes i organizuj je co tydzień lub codziennie. Dowiedz się, jak proces wdrażania platformy Kubernetes umożliwia niezawodne uaktualnienia bez przestojów.
Aby uzyskać więcej informacji, zobacz:
Zarządzanie magazynem aplikacji. Poznaj wymagania dotyczące wydajności i metody dostępu dla zasobników, aby zapewnić odpowiednie opcje magazynu. Zaplanuj sposoby tworzenia kopii zapasowej i testowania procesu przywracania dla dołączonego magazynu.
Aby dowiedzieć się więcej, zobacz:
Zarządzanie wpisami tajnymi aplikacji. Magazyn kluczy służy do przechowywania i pobierania kluczy i poświadczeń. Nie przechowuj poświadczeń w kodzie aplikacji.
Aby uzyskać więcej informacji, zobacz:
- Jak działa platforma Kubernetes i zarządzanie konfiguracją (wideo)
- Omówienie zarządzania wpisami tajnymi na platformie Kubernetes (wideo)
- Używanie usługi Azure Key Vault z platformą Kubernetes
- Używanie Tożsamość obciążeń Microsoft Entra do uwierzytelniania zasobów platformy Azure i uzyskiwania do nich dostępu
Wdrażanie w środowisku produkcyjnym i stosowanie najlepszych rozwiązań
Podczas przygotowywania aplikacji do produkcji użyj poniższej listy kontrolnej. Powinna być w stanie odpowiedzieć na następujące pytania:
- Czy można monitorować wszystkie aspekty aplikacji?
- Czy zdefiniowano wymagania dotyczące zasobów dla aplikacji? Jak na temat wymagań dotyczących skalowania?
- Czy można wdrożyć nowe wersje aplikacji bez wpływu na systemy produkcyjne?
Lista kontrolna najlepszych rozwiązań dotyczących niezawodności lokacji
Konfigurowanie gotowości i kontroli kondycji kondycji. Platforma Kubernetes używa kontroli gotowości i dostępności, aby wiedzieć, kiedy aplikacja jest gotowa odbierać ruch i kiedy musi zostać ponownie uruchomiona. Jeśli nie zdefiniujesz testów, platforma Kubernetes nie może określić, czy aplikacja jest uruchomiona. Aby uzyskać więcej informacji, zobacz Liveness and readiness checks (Sprawdzanie gotowości i gotowości na żywo).
Konfigurowanie rejestrowania, monitorowania aplikacji i alertów. Monitorowanie kontenerów ma kluczowe znaczenie, zwłaszcza w przypadku uruchamiania klastra produkcyjnego na dużą skalę z wieloma aplikacjami. Zalecaną metodą rejestrowania dla aplikacji konteneryzowanych jest zapisywanie w standardowych strumieniach danych wyjściowych (
stdout
) i standardowych błędów (stderr
).Aby uzyskać więcej informacji, zobacz:
- Rejestrowanie na platformie Kubernetes
- Wprowadzenie do monitorowania i zgłaszania alertów dla platformy Kubernetes (wideo)
- Usługa Azure Monitor dla kontenerów
- Włączanie i przeglądanie dzienników płaszczyzny sterowania kubernetes w usłudze Azure Kubernetes Service (AKS)
- Wyświetlanie dzienników, zdarzeń i metryk zasobników platformy Kubernetes w czasie rzeczywistym
Zdefiniuj wymagania dotyczące zasobów dla aplikacji. Podstawowym sposobem zarządzania zasobami obliczeniowymi w klastrze Kubernetes jest użycie żądań zasobników i limitów. Te żądania i limity informują harmonogram platformy Kubernetes o tym, jakie zasoby obliczeniowe mają zostać przypisane do zasobnika. Aby uzyskać więcej informacji, zobacz Definiowanie żądań i limitów zasobów zasobnika.
Konfigurowanie wymagań dotyczących skalowania aplikacji. Rozwiązanie Kubernetes obsługuje automatyczne skalowanie zasobników w poziomie, umożliwiające dostosowywanie liczby zasobników we wdrożeniu do użycia procesora lub innych wybranych metryk. Aby korzystać z narzędzia do automatycznego skalowania, wszystkie kontenery w zasobnikach muszą mieć zdefiniowane żądania procesora CPU i limity. Aby dowiedzieć się więcej, zobacz Konfigurowanie skalowania automatycznego zasobnika poziomego.
Wdrażanie aplikacji przy użyciu zautomatyzowanego potoku i metodyki DevOps. Pełna automatyzacja wszystkich kroków między zatwierdzeniem kodu do wdrożenia produkcyjnego umożliwia zespołom skupienie się na tworzeniu kodu i usunięcie obciążenia oraz potencjalnego błędu ludzkiego w krokach ręcznych. Wdrażanie nowego kodu jest szybsze i mniej ryzykowne, co pomaga zespołom stać się bardziej elastyczne, wydajniejsze i bardziej pewne swoich uruchomionych kodu.
Aby dowiedzieć się więcej, zobacz:
- Wzbogacaj swoją praktykę w korzystaniu z metodyki DevOps
- Konfigurowanie potoku kompilacji kubernetes (wideo)
- Centrum wdrażania dla usługi Azure Kubernetes Service
- Funkcja GitHub Actions do wdrażania w usłudze Azure Kubernetes Service
- Samouczek: wdrażanie z usługi GitHub w usłudze Azure Kubernetes Service przy użyciu narzędzia Jenkins
Optymalizowanie i skalowanie
Teraz, gdy aplikacja jest w środowisku produkcyjnym, użyj listy kontrolnej wdrażania aplikacji, aby zoptymalizować przepływ pracy i przygotować aplikację i zespół do skalowania. Powinna być w stanie odpowiedzieć na następujące pytania:
- Czy kwestie związane z aplikacją są odcinane od różnych zastosowań?
- Czy można zachować niezawodność systemu i aplikacji, jednocześnie iterując nowe funkcje i wersje?
Lista kontrolna wdrażania aplikacji
Wdrażanie bramy interfejsu API. Brama interfejsu API służy jako punkt wejścia do mikrousług, odłącza klientów od mikrousług, dodaje kolejną warstwę zabezpieczeń i zmniejsza złożoność mikrousług, usuwając obciążenie związane z obsługą zagadnień krzyżowych. Aby uzyskać więcej informacji, zobacz Use Azure API Management with microservices deployed in Azure Kubernetes Service (Używanie usługi Azure API Management z mikrousługami wdrożonym w usłudze Azure Kubernetes Service).
Wdrażanie siatki usług. Siatka usług zapewnia możliwości obciążeń, takich jak zarządzanie ruchem, odporność, zasady, zabezpieczenia, silna tożsamość i możliwość obserwacji. Aplikacja jest oddzielona od tych możliwości operacyjnych, a siatka usług przenosi je z warstwy aplikacji i w dół do warstwy infrastruktury.
Aby uzyskać więcej informacji, zobacz:
- Jak działają siatki usług na platformie Kubernetes (wideo)
- Dowiedz się więcej o siatkach usług
- Używanie usługi Open Service Mesh z usługą Azure Kubernetes Service
- Używanie rozwiązania Istio z usługą Azure Kubernetes Service
- Używanie konsolidatora Linkerd z usługą Azure Kubernetes Service
- Używanie consul z usługą Azure Kubernetes Service
- Jak działają siatki usług na platformie Kubernetes (wideo)
Implementowanie praktyk SRE. SRE to sprawdzone podejście, które utrzymuje kluczową niezawodność systemu i aplikacji oraz iteruje z szybkością, jaką wymaga platforma handlowa.
Aby dowiedzieć się więcej, zobacz: