Projekt i operacje klastra
W tym artykule opisano konfigurację klastra i projekt sieci. Dowiedz się, jak zapewnić skalowalność w przyszłości, automatyzując aprowizację infrastruktury. Aprowizowanie to proces konfigurowania żądanej infrastruktury IT. Automatyczna aprowizacja infrastruktury obsługuje instalację zdalną i konfiguruje środowiska wirtualne. Pomaga również zachować wysoką dostępność, planując ciągłość działalności biznesowej i odzyskiwanie po awarii.
Planowanie, szkolenie i dowód
Podczas rozpoczynania pracy lista kontrolna i zasoby kubernetes poniżej ułatwią zaplanowanie projektu klastra. Po zakończeniu tej sekcji będziesz w stanie odpowiedzieć na następujące pytania:
- Czy zidentyfikowano wymagania projektowe dotyczące sieci dla klastra?
- Czy masz usługi o różnych wymaganiach? Ile pul węzłów zamierzasz użyć?
Lista kontrolna:
Identyfikowanie zagadnień dotyczących projektowania sieci. Zapoznaj się z zagadnieniami dotyczącymi projektowania sieci klastra, porównaj modele sieciowe i wybierz wtyczkę sieciową Kubernetes, która odpowiada Twoim potrzebom. W przypadku sieci interfejsu Azure Container Networking Interface (CNI) należy wziąć pod uwagę liczbę adresów IP wymaganych jako wiele maksymalnych zasobników na węzeł (domyślnie 30) i liczbę węzłów. Dodaj jeden węzeł wymagany podczas uaktualniania. Podczas wybierania usług modułu równoważenia obciążenia rozważ użycie kontrolera ruchu przychodzącego, gdy istnieje zbyt wiele usług, aby zmniejszyć liczbę uwidocznionych punktów końcowych. W przypadku sieci CNI platformy Azure usługa CIDR musi być unikatowa w sieci wirtualnej i wszystkich połączonych sieciach wirtualnych, aby zapewnić odpowiedni routing.
Aby dowiedzieć się więcej, zobacz:
Utwórz wiele pul węzłów. Aby obsługiwać aplikacje o różnych wymaganiach obliczeniowych lub magazynowych, możesz opcjonalnie skonfigurować klaster z wieloma pulami węzłów. Na przykład użyj większej liczby pul węzłów, aby zapewnić procesory GPU dla aplikacji intensywnie korzystających z obliczeń lub dostęp do magazynu SSD o wysokiej wydajności. Aby uzyskać więcej informacji, zobacz Tworzenie wielu pul węzłów i zarządzanie nimi dla klastra w Azure Kubernetes Service.
Zdecyduj o wymaganiach dotyczących dostępności. Co najmniej dwa zasobniki za Azure Kubernetes Service zapewniają wysoką dostępność aplikacji, jeśli wystąpią błędy zasobnika lub ponowne uruchomienie. Użyj co najmniej trzech zasobników do obsługi obciążenia podczas awarii zasobnika i ponownego uruchomienia. W przypadku konfiguracji klastra co najmniej dwa węzły w zestawie dostępności lub zestawie skalowania maszyn wirtualnych są wymagane do spełnienia umowy dotyczącej poziomu usług wynoszącej 99,95%. Użyj co najmniej trzech zasobników, aby zapewnić planowanie zasobników podczas awarii węzła i ponownego uruchamiania.
Aby zapewnić wyższy poziom dostępności aplikacji, klastry mogą być dystrybuowane między Strefy dostępności. Te strefy są fizycznie oddzielone centrami danych w danym regionie. Gdy składniki klastra są rozproszone w wielu strefach, klaster może tolerować awarię w jednej ze stref. Aplikacje i operacje zarządzania pozostają dostępne, nawet jeśli całe centrum danych wystąpi awaria. Aby uzyskać więcej informacji, zobacz Tworzenie klastra Azure Kubernetes Service (AKS), który używa Strefy dostępności.
Przejdź do środowiska produkcyjnego i zastosuj najlepsze rozwiązania dotyczące infrastruktury
Podczas przygotowywania aplikacji do produkcji zaimplementuj minimalny zestaw najlepszych rozwiązań. Użyj tej listy kontrolnej na tym etapie. Po zakończeniu tej sekcji będziesz w stanie odpowiedzieć na następujące pytania:
- Czy możesz bezpiecznie ponownie wdrożyć infrastrukturę klastra?
- Czy zastosowano limity przydziału zasobów?
Lista kontrolna:
Automatyzowanie aprowizacji klastra. Dzięki infrastrukturze jako kod można zautomatyzować aprowizację infrastruktury, aby zapewnić większą odporność podczas awarii i zwiększyć elastyczność w celu szybkiego ponownego wdrożenia infrastruktury w razie potrzeby. Aby uzyskać więcej informacji, zobacz Create a Kubernetes cluster with Azure Kubernetes Service using Terraform (Tworzenie klastra Kubernetes przy użyciu narzędzia Terraform).
Planowanie dostępności przy użyciu budżetów zakłóceń zasobników. Aby zachować dostępność aplikacji, zdefiniuj budżety zakłóceń zasobników (PDB), aby upewnić się, że minimalna liczba zasobników jest dostępna w klastrze podczas awarii sprzętu lub uaktualnień klastra. Aby dowiedzieć się więcej, zobacz Planowanie dostępności przy użyciu budżetów zakłóceń zasobników.
Wymuszanie przydziałów zasobów w przestrzeniach nazw. Planowanie i stosowanie przydziałów zasobów na poziomie przestrzeni nazw. Limity przydziału można ustawić dla zasobów obliczeniowych, zasobów magazynu i liczby obiektów. Aby uzyskać więcej informacji, zobacz Wymuszanie przydziałów zasobów.
Optymalizowanie i skalowanie
Kiedy aplikacja jest w środowisku produkcyjnym, jak można zoptymalizować przepływ pracy i przygotować aplikację i zespół do skalowania? Użyj listy kontrolnej optymalizacji i skalowania, aby przygotować się. Po zakończeniu tej sekcji będziesz w stanie odpowiedzieć na następujące pytania:
- Czy masz plan ciągłości działania i odzyskiwania po awarii?
- Czy klaster może być skalowany w celu spełnienia wymagań aplikacji?
- Czy możesz monitorować kondycję klastra i aplikacji oraz otrzymywać alerty?
Lista kontrolna:
Automatyczne skalowanie klastra w celu spełnienia wymagań aplikacji. Aby sprostać wymaganiom aplikacji, może być konieczne dostosowanie liczby węzłów, które uruchamiają obciążenia automatycznie przy użyciu narzędzia do automatycznego skalowania klastra. Aby uzyskać więcej informacji, zobacz Configure Kubernetes cluster autoscaler (Konfigurowanie narzędzia do automatycznego skalowania klastra Kubernetes).
Planowanie ciągłości działania i odzyskiwania po awarii. Planowanie wdrożenia w wielu regionach, tworzenie planu migracji magazynu i włączanie replikacji geograficznej dla obrazów kontenerów. Aby dowiedzieć się więcej, zobacz Najlepsze rozwiązania dotyczące wdrożeń regionów - Azure Container Registry replikacji geograficznej.
Konfigurowanie monitorowania i rozwiązywania problemów na dużą skalę. Konfigurowanie alertów i monitorowania aplikacji na platformie Kubernetes. Dowiedz się więcej o domyślnej konfiguracji, sposobie integrowania bardziej zaawansowanych metryk oraz dodawaniu niestandardowych monitorowania i zgłaszania alertów w celu obsługi aplikacji.