Najlepsze rozwiązania dotyczące izolacji klastra w usłudze Azure Kubernetes Service (AKS)

Podczas zarządzania klastrami w usłudze Azure Kubernetes Service (AKS) często trzeba odizolować zespoły i obciążenia. Usługa AKS umożliwia elastyczność uruchamiania klastrów wielodostępnych i izolowania zasobów. Aby zmaksymalizować inwestycję w platformę Kubernetes, ważne jest, aby zrozumieć funkcje wielodostępności i izolacji usługi AKS.

Ten artykuł dotyczący najlepszych rozwiązań koncentruje się na izolacji dla operatorów klastra. W tym artykule omówiono sposób wykonywania następujących zadań:

  • Planowanie klastrów wielodostępnych i separacji zasobów.
  • Użyj izolacji logicznej lub fizycznej w klastrach usługi AKS.

Projektowanie klastrów dla wielu dzierżaw

Platforma Kubernetes umożliwia logiczne izolowanie zespołów i obciążeń w tym samym klastrze. Liczba uprawnień powinna być jak najmniejsza, a same uprawnienia — ograniczone do zasobów używanych w danym zespole. Przestrzeń nazw kubernetes tworzy granicę izolacji logicznej. Inne funkcje i zagadnienia dotyczące izolacji i wielu dzierżaw platformy Kubernetes obejmują następujące obszary:

Planowanie

Planowanie używa podstawowych funkcji, takich jak limity przydziału zasobów i budżety zakłóceń zasobników. Aby uzyskać więcej informacji na temat tych funkcji, zobacz Najlepsze rozwiązania dotyczące podstawowych funkcji harmonogramu w usłudze AKS.

Bardziej zaawansowane funkcje harmonogramu obejmują:

  • Taints i tolerancje.
  • Selektory węzłów.
  • Koligacja węzłów i zasobników lub koligacja przeciwna.

Aby uzyskać więcej informacji na temat tych funkcji, zobacz Najlepsze rozwiązania dotyczące zaawansowanych funkcji harmonogramu w usłudze AKS.

Sieć

Sieć używa zasad sieci do kontrolowania przepływu ruchu w zasobnikach i poza nie.

Uwierzytelnianie i autoryzacja

Użycie uwierzytelniania i autoryzacji :

  • Kontrola dostępu na podstawie ról (RBAC).
  • Integracja z firmą Microsoft Entra.
  • Tożsamości zasobników.
  • Wpisy tajne w usłudze Azure Key Vault.

Aby uzyskać więcej informacji na temat tych funkcji, zobacz Najlepsze rozwiązania dotyczące uwierzytelniania i autoryzacji w usłudze AKS.

Kontenery

Kontenery obejmują:

  • Dodatek usługi Azure Policy dla usługi AKS w celu wymuszania zabezpieczeń zasobnika.
  • Wstęp do zasobnika.
  • Skanowanie obrazów i środowiska uruchomieniowego pod kątem luk w zabezpieczeniach.
  • Używanie funkcji App Armor lub Seccomp (secure computing) w celu ograniczenia dostępu kontenera do bazowego węzła.

Klastry izolowane logicznie

Wskazówki dotyczące najlepszych rozwiązań

Oddzielaj zespoły i projekty przy użyciu izolacji logicznej. Zminimalizuj liczbę fizycznych klastrów usługi AKS wdrażanych w celu izolowania zespołów lub aplikacji.

Dzięki izolacji logicznej można użyć jednego klastra usługi AKS dla wielu obciążeń, zespołów lub środowisk. Przestrzenie nazw kubernetes tworzą granicę izolacji logicznej dla obciążeń i zasobów.

Logical isolation of a Kubernetes cluster in AKS

Logiczne rozdzielenie klastrów zwykle zapewnia większą gęstość zasobników niż klastry odizolowane fizycznie, przy mniejszej nadmiarowej pojemności obliczeniowej siedzącej bezczynności w klastrze. W połączeniu z funkcją automatycznego skalowania klastra Kubernetes można skalować liczbę węzłów w górę lub w dół, aby spełnić wymagania. To najlepsze rozwiązanie minimalizuje koszty, uruchamiając tylko wymaganą liczbę węzłów.

Środowiska Kubernetes nie są całkowicie bezpieczne w przypadku wrogiego użycia wielu dzierżaw. W środowisku wielodostępnym wiele dzierżaw pracuje nad udostępnioną infrastrukturą. Jeśli nie można ufać wszystkim dzierżawom, potrzebujesz dodatkowego planowania, aby zapobiec wpływowi dzierżaw na zabezpieczenia i usługi innych.

Inne funkcje zabezpieczeń, takie jak kontrola dostępu oparta na rolach platformy Kubernetes dla węzłów, skutecznie blokują luki w zabezpieczeniach. W przypadku prawdziwych zabezpieczeń podczas uruchamiania wrogich obciążeń wielodostępnych należy ufać tylko funkcji hypervisor. Domena zabezpieczeń dla platformy Kubernetes staje się całym klastrem, a nie pojedynczym węzłem.

W przypadku tych typów wrogich obciążeń wielodostępnych należy używać klastrów odizolowanych fizycznie.

Klastry izolowane fizycznie

Wskazówki dotyczące najlepszych rozwiązań

Zminimalizuj użycie izolacji fizycznej dla każdego oddzielnego wdrożenia zespołu lub aplikacji i zamiast tego użyj izolacji logicznej .

Fizyczne oddzielenie klastrów usługi AKS jest typowym podejściem do izolacji klastra. W tym modelu izolacji zespoły lub obciążenia są przypisywane do własnego klastra usługi AKS. Chociaż izolacja fizyczna może wyglądać jak najprostszy sposób izolowania obciążeń lub zespołów, dodaje zarządzanie i nakłady finansowe. W przypadku klastrów odizolowanych fizycznie należy obsługiwać wiele klastrów i indywidualnie zapewniać dostęp i przypisywać uprawnienia. Opłaty są również naliczane za każdy węzeł.

Physical isolation of individual Kubernetes clusters in AKS

Klastry odizolowane fizycznie zwykle mają niską gęstość zasobnika. Ponieważ każdy zespół lub obciążenie ma własny klaster usługi AKS, klaster jest często nadmiernie aprowizowany przy użyciu zasobów obliczeniowych. Często kilka zasobników jest zaplanowanych na tych węzłach. Nie można używać nieodebranej pojemności węzła dla aplikacji ani usług podczas opracowywania przez inne zespoły. Te nadmiarowe zasoby przyczyniają się do dodatkowych kosztów w klastrach odizolowanych fizycznie.

Następne kroki

W tym artykule skoncentrowano się na izolacji klastra. Aby uzyskać więcej informacji na temat operacji klastra w usłudze AKS, zobacz następujące artykuły dotyczące najlepszych rozwiązań: