Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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ż obsługiwać bardziej złożone wymagania operacyjne, takie jak testy A/B, wdrożenia kanarkowe, ograniczanie liczby żądań, kontrola dostępu, szyfrowanie i uwierzytelnianie end-to-end.
Komunikacja między usługami umożliwia aplikację rozproszoną. Kierowanie tą komunikacją, zarówno wewnątrz klastrów aplikacji, jak i między nimi, staje się coraz bardziej złożone 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 (Transport Layer Security), 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 warstwy zasad i konfiguracji obsługujący kontrole dostępu, limity szybkości i limity przydziału.
- Automatyczne metryki, dzienniki i ślady dla całego ruchu w obrębie klastra, w tym ruchu przychodzącego do klastra i wychodzącego z klastra.
Czym różni się dodatek od otwartoźródłowego Istio?
Ten dodatek service mesh wykorzystuje oprogramowanie open source Istio i bazuje na nim. Wariant dodatku 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
corednspo włączeniu funkcji Istio. - Microsoft zapewnia zarządzanie cyklem życia (aktualizacje) składników Istio po zainicjowaniu przez użytkownika.
- Zweryfikowano konfigurację ruchu przychodzącego zewnętrznego i wewnętrznego.
- Potwierdzono zgodność z usługami Azure Monitor managed service for Prometheus i Azure Managed Grafana.
- Oficjalna pomoc techniczna Azure jest dostępna dla tego 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 Open Service Mesh dla usługi AKS.
- Dodatek nie działa w klastrach AKS z samodzielnie zarządzaną instalacją Istio.
- Dodatek nie obsługuje dodawania zasobników skojarzonych z węzłami wirtualnymi, które mają być dodawane pod siatką.
- Dodatek nie obsługuje jeszcze trybu Ambient bez sidecara. Firma Microsoft obecnie współtworzy strumień prac Ambient w ramach projektu open source Istio. Integracja produktu z trybem Ambient jest uwzględniona w planach i jest na bieżąco oceniana w miarę rozwoju obszaru Ambient.
- Dodatek nie obsługuje jeszcze wdrożeń obejmujących wiele klastrów.
- Dodatek nie obsługuje jeszcze kontenerów systemu Windows Server. Kontenery systemu Windows Server nie są jeszcze obsługiwane w środowisku Istio typu open source. Zgłoszenie dotyczące tej prośby o dodanie funkcji można znaleźć tutaj.
- Dostosowywanie siatki za pomocą następujących zasobów niestandardowych jest obecnie zablokowane —
ProxyConfig, WorkloadEntry, WorkloadGroup, IstioOperator, WasmPlugin. - Chociaż dodatek umożliwia korzystanie z
EnvoyFilter, problemy wynikające z nich (na przykład ze skryptu Lua lub biblioteki kompresji) wykraczają poza zakres wsparcia dodatku Istio. Zobacz dokument dotyczący zasad pomocy technicznej, aby uzyskać więcej informacji na temat kategorii pomocy technicznej dla funkcji dodatków Istio i opcji konfiguracji. - Interfejs API bramy dla bramy ruchu przychodzącego Istio lub zarządzanie ruchem siatki (GAMMA) nie jest jeszcze obsługiwany w dodatku Istio. Jednak interfejs Gateway API do zarządzania ruchem przychodzącym w Istio jest obecnie intensywnie rozwijany na potrzeby dodatku. Chociaż dodatek obsługuje adnotację i
externalTrafficPolicydostosowywanie bram wejściowych Istio, konfiguracja portu lub protokołu nie jest obecnie obsługiwana. - Dodatek obsługuje dostosowywanie podzestawu pól w narzędziu MeshConfig. Inne dostosowania mogą być dozwolone, ale nieobsługiwane lub całkowicie niedozwolone, jak opisano tutaj.
Opinie i prośby dotyczące funkcji
Opinie i prośby o nowe funkcje dotyczące dodatku Istio można przekazywać, tworząc zgłoszenia z etykietą „service-mesh” w repozytorium GitHub usługi AKS.