Dodatek siatki usług oparty na Istio dla usługi Azure Kubernetes Service

Istio rozwiązuje wyzwania, przed którymi stoją deweloperzy i operatorzy, za pomocą architektury rozproszonej lub mikrousług. Dodatek siatki usług oparty na technologii Istio zapewnia oficjalnie obsługiwaną i przetestowaną integrację z usługą Azure Kubernetes Service (AKS).

Co to jest usługa Service Mesh?

Nowoczesne aplikacje są zwykle tworzone jako rozproszone kolekcje mikrousług, z każdą kolekcją mikrousług wykonujących dyskretną funkcję biznesową. Siatka usług to dedykowana warstwa infrastruktury, którą można dodać do aplikacji. Umożliwia ona przezroczyste dodawanie funkcji, takich jak możliwość obserwowania, zarządzanie ruchem i zabezpieczenia, bez dodawania ich do własnego kodu. Termin siatka usług opisuje zarówno typ oprogramowania używanego do implementowania tego wzorca, jak i domenę zabezpieczeń lub sieci, która jest tworzona podczas korzystania z tego oprogramowania.

W miarę jak wdrażanie usług rozproszonych, takich jak w systemie opartym na platformie Kubernetes, rośnie rozmiar i złożoność, coraz trudniej jest zrozumieć i zarządzać nimi. Może być konieczne zaimplementowanie funkcji, takich jak odnajdywanie, równoważenie obciążenia, odzyskiwanie po awarii, metryki i monitorowanie. Siatka usług może również spełniać bardziej złożone wymagania operacyjne, takie jak testowanie A/B, wdrożenia kanary, ograniczanie szybkości, kontrola dostępu, szyfrowanie i kompleksowe uwierzytelnianie.

Komunikacja między usługami umożliwia aplikację rozproszoną. Routing tej komunikacji, zarówno w klastrach aplikacji, jak i w klastrach aplikacji, staje się coraz bardziej złożony w miarę wzrostu liczby usług. Istio pomaga zmniejszyć tę złożoność, jednocześnie zmniejszając obciążenie zespołów programistycznych.

Co to jest Istio?

Istio to siatka usług typu open source, która w sposób przezroczysty nakłada się na istniejące aplikacje rozproszone. Zaawansowane funkcje istio zapewniają jednolity i wydajniejszy sposób zabezpieczania, łączenia i monitorowania usług. Istio umożliwia równoważenie obciążenia, uwierzytelnianie między usługami i monitorowanie — z niewielką liczbą zmian w kodzie usługi lub bez nich. Jego potężna płaszczyzna sterowania przynosi istotne funkcje, w tym:

  • Zabezpieczanie komunikacji między usługami w klastrze przy użyciu szyfrowania TLS, silnego uwierzytelniania opartego na tożsamościach i autoryzacji.
  • Automatyczne równoważenie obciążenia dla ruchu HTTP, gRPC, WebSocket i TCP.
  • Szczegółowa kontrola zachowania ruchu przy użyciu zaawansowanych reguł routingu, ponownych prób, przełączeń w tryb failover i iniekcji błędów.
  • Podłączany interfejs API zasad i warstwy zasad obsługujący kontrole dostępu, limity szybkości i limity przydziału.
  • Automatyczne metryki, dzienniki i ślady dla całego ruchu w klastrze, w tym ruch przychodzący i wychodzący klastra.

Czym różni się dodatek od istio typu open source?

Ten dodatek usługi mesh używa i opiera się na istio typu open source. Dodatek zapewnia następujące dodatkowe korzyści:

  • Wersje istio są testowane i weryfikowane pod kątem zgodności z obsługiwanymi wersjami usługi Azure Kubernetes Service.
  • Firma Microsoft obsługuje skalowanie i konfigurację płaszczyzny sterowania Istio
  • Firma Microsoft dostosowuje skalowanie składników usługi AKS, takich jak coredns po włączeniu funkcji Istio.
  • Firma Microsoft udostępnia zarządzany cykl życia (uaktualnienia) składników istio po wyzwoleniu przez użytkownika.
  • Zweryfikowano konfigurację ruchu przychodzącego zewnętrznego i wewnętrznego.
  • Zweryfikowano, aby pracować z usługą zarządzaną Azure Monitor dla rozwiązań Prometheus i Azure Managed Grafana.
  • Oficjalny pomoc techniczna platformy Azure udostępniony dla dodatku.

Ograniczenia

Dodatek siatki usług oparty na Istio dla usługi AKS ma następujące ograniczenia:

  • Dodatek nie działa w klastrach usługi AKS korzystających z dodatku otwartej siatki usług dla usługi AKS.
  • Dodatek nie działa w klastrach usługi AKS z zainstalowaną siatką usług Istio poza instalacją dodatku.
  • Dodatek nie obsługuje dodawania zasobników skojarzonych z węzłami wirtualnymi, które mają być dodawane pod siatką.
  • Siatka usług Istio nie obsługuje kontenerów systemu Windows Server.
  • Dostosowywanie siatki na podstawie następujących zasobów niestandardowych jest teraz zablokowane — EnvoyFilter, ProxyConfig, WorkloadEntry, WorkloadGroup, Telemetry, IstioOperator, WasmPlugin
  • Interfejs API bramy dla bramy ruchu przychodzącego istio lub zarządzanie ruchem siatki (GAMMA) nie jest jeszcze obsługiwany za pomocą dodatku Istio.

Następne kroki