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.