Rozszerzenie Dapr dla usługi Azure Kubernetes Service (AKS) i platformy Kubernetes z obsługą usługi Arc
Środowisko uruchomieniowe aplikacji rozproszonej (Dapr) oferuje interfejsy API, które ułatwiają pisanie i implementowanie prostych, przenośnych, odpornych i zabezpieczonych mikrousług. Interfejsy API języka Dapr działają jako proces przyczepki w połączeniu z aplikacjami i wyodrębniają typowe złożoności, które mogą wystąpić podczas tworzenia aplikacji rozproszonych, takich jak:
- Odnajdywanie usług
- Integracja brokera komunikatów
- Szyfrowanie
- Wgląd w informacje
- Zarządzanie wpisami tajnymi
Dapr jest przyrostowo możliwy do wdrożenia. W razie potrzeby możesz użyć dowolnych bloków konstrukcyjnych interfejsu API. Poznaj oferty firmy Microsoft na poziomie pomocy technicznej dla każdego interfejsu API i składnika języka Dapr.
Możliwości i funkcje
Aprowizuj środowisko Dapr w klastrze Kubernetes z włączoną obsługą usługi AKS lub Arc przy użyciu rozszerzenia Dapr eliminuje obciążenie:
- Pobieranie narzędzi dapr
- Ręczne instalowanie środowiska uruchomieniowego dapr i zarządzanie nim w klastrze usługi AKS
Ponadto rozszerzenie oferuje obsługę wszystkich natywnych funkcji konfiguracji języka Dapr za pomocą prostych argumentów wiersza polecenia.
Język Dapr udostępnia następujący zestaw możliwości, które ułatwiają opracowywanie mikrousług w usłudze AKS:
- Łatwe aprowizowanie usługi Dapr w usłudze AKS za pomocą rozszerzeń klastra
- Przenośność włączona za pośrednictwem interfejsów API HTTP i gRPC, które abstrakcji podstawowych technologii
- Niezawodne, bezpieczne i odporne wywołania typu usługa-usługa za pośrednictwem interfejsów API HTTP i gRPC
- Publikowanie i subskrybowanie komunikatów ułatwiało obsługę filtrowania CloudEvent i semantyki "co najmniej raz" na potrzeby dostarczania komunikatów
- Możliwość obserwowania i monitorowanie z możliwością podłączania za pomocą modułu zbierającego interfejs API open telemetrii
- Niezależny od języka, a także oferuje zestawy SDK (software development kit) specyficzne dla języka
- Integracja z programem Visual Studio Code za pośrednictwem rozszerzenia Dapr
- Więcej interfejsów API do rozwiązywania problemów z aplikacjami rozproszonymi
Obecnie obsługiwane
Rozszerzenie Dapr jest jedyną opcją obsługiwaną przez firmę Microsoft dla języka Dapr w usłudze AKS.
Obsługa problemów
Firma Microsoft kategoryzuje problemy zgłaszane względem rozszerzenia Dapr w dwóch częściach:
- Operacje rozszerzenia
- Środowisko uruchomieniowe języka Dapr (w tym interfejsy API i składniki)
W poniższej tabeli przedstawiono podział poziomów priorytetu obsługi dla każdej z tych kategorii.
opis | Zagrożenia bezpieczeństwa/Regresje | Problemy funkcjonalne | |
---|---|---|---|
Operacje rozszerzenia | Problemy występujące podczas operacji rozszerzenia, takie jak instalowanie/odinstalowywanie lub uaktualnianie rozszerzenia Dapr. | Firma Microsoft ustala priorytety w celu natychmiastowego rozwiązania. | Firma Microsoft bada i adresy zgodnie z potrzebami. |
Środowisko uruchomieniowe języka Dapr | Problemy występujące podczas korzystania ze środowiska uruchomieniowego, interfejsów API i składników języka Dapr za pośrednictwem rozszerzenia. | Firma Microsoft współpracuje ze społecznością open source w celu zbadania problemów o wysokim priorytcie. W zależności od priorytetu, ważności i rozmiaru problemu firma Microsoft rozwiązuje je bezpośrednio w rozszerzeniu lub współpracuje z projektem open source Dapr, aby rozwiązać problem w poprawce lub przyszłej wersji typu open source Dapr. Po wydaniu poprawek w środowisku open source Dapr zostaną one udostępnione w rozszerzeniu Dapr. | Firma Microsoft bada nowe problemy funkcjonalne wraz z projektem open source Dapr i współpracuje z nimi w celu rozwiązania w poprawce lub przyszłej wersji typu open source Dapr. Znane problemy funkcjonalne typu open source nie będą obecnie badane przez firmę Microsoft. |
Wersje języka Dapr
Firma Microsoft zapewnia najlepszą pomoc techniczną dla najnowszej wersji języka Dapr i dwóch poprzednich wersji (N-2). Najnowsza wersja poprawki jest jedyną obsługiwaną wersją każdej wersji pomocniczej. Obecnie rozszerzenie Dapr dla usługi AKS lub kubernetes z obsługą usługi Arc obsługuje następujące wersje języka Dapr:
- 1.14.x
- 1.13.x
- 1.12.x
Możesz uruchomić polecenia interfejsu wiersza polecenia platformy Azure, aby pobrać listę dostępnych wersji w klastrze lub lokalizacji.
Obsługa środowiska uruchomieniowego
Obsługa rozszerzenia Dapr różni się w zależności od sposobu zarządzania środowiskiem uruchomieniowym.
Samozarządzane
Własne środowisko uruchomieniowe wymaga ręcznego uaktualnienia w celu pozostania w oknie pomocy technicznej. Aby uaktualnić język Dapr za pośrednictwem rozszerzenia, postępuj zgodnie z instrukcjami dotyczącymi aktualizowania wystąpienia rozszerzenia.
Gdy wersja środowiska uruchomieniowego dapr osiągnie koniec wsparcia technicznego firmy Microsoft, aplikacje będą nadal działać bez zmian. Jednak firma Microsoft nie może już zapewnić poprawek zabezpieczeń ani powiązanej pomocy technicznej klienta dla tej wersji środowiska uruchomieniowego. Jeśli aplikacja napotka jakiekolwiek problemy z datą zakończenia pomocy technicznej dla tej wersji, zalecamy uaktualnienie do obsługiwanej wersji w celu otrzymywania najnowszych poprawek zabezpieczeń i funkcji.
Automatyczne uaktualnianie
Włączenie automatycznego uaktualniania wymaga starannego rozważenia. Automatyczne uaktualnianie powoduje, że rozszerzenie Języka Dapr jest aktualizowane do najnowszej wersji pomocniczej, ale mogą wystąpić zmiany powodujące niezgodność między aktualizacjami. Firma Microsoft nie jest odpowiedzialna za żaden przestój spowodowany zmianami powodujących niezgodność między automatycznymi aktualizacjami.
Składniki i interfejsy API
Możesz użyć wszystkich składników i interfejsów API języka Dapr za pośrednictwem rozszerzenia Dapr, w tym tych w stanie alfa i beta. Jednak firma Microsoft zapewnia obsługę tylko podzestawu interfejsów API i składników, zgodnie ze zdefiniowanymi zasadami obsługi problemów.
Stabilne interfejsy API języka Dapr
Rozszerzenie Dapr obsługuje stabilne wersje interfejsów API języka Dapr (bloki konstrukcyjne).
Dapr API | Stan | opis |
---|---|---|
Wywołanie typu service-to-service | Stable | Odnajdywanie usług i wykonywanie niezawodnych, bezpośrednich wywołań typu service-to-service za pomocą automatycznego uwierzytelniania i szyfrowania mTLS. (#limitations) |
Zarządzanie stanem | Stable | Zapewnia funkcje zarządzania stanem dla transakcji i operacji CRUD. |
Pub/sub | Stable | Umożliwia aplikacjom wydawcy i subskrybentom nawiązywanie połączenia za pośrednictwem pośredniczącego brokera komunikatów. Możesz również utworzyć deklaratywne subskrypcje do tematu przy użyciu pliku JSON składnika zewnętrznego. |
Powiązania | Stable | Wyzwalaj aplikacje na podstawie zdarzeń. |
Aktorów | Stable | Aktorzy języka Dapr są jednostkami pracy opartymi na komunikatach, jednowątkowymi, zaprojektowanymi do szybkiego skalowania. Na przykład w sytuacjach z dużym obciążeniem. |
Możliwość obserwowania | Stable | Wysyłanie informacji śledzenia do zaplecza usługi Application Insights. |
Wpisy tajne | Stable | Uzyskaj dostęp do wpisów tajnych z kodu aplikacji lub odwołuj się do bezpiecznych wartości w składnikach języka Dapr. |
Konfiguracja | Stable | Pobieranie i subskrybowanie elementów konfiguracji aplikacji w celu uzyskania obsługiwanej konfiguracji. Sklepy. |
Składniki języka Dapr
Składniki warstwy 1 i warstwy 2
Obsługiwany jest podzbiór składników języka Dapr. W tym podzestawie składniki języka Dapr są podzielone na dwie kategorie pomocy technicznej: Warstwa 1 lub Warstwa 2.
- Składniki warstwy 1: stabilne składniki, które otrzymują natychmiastowe badanie w scenariuszach krytycznych (zabezpieczeń lub poważnych regresji). W przeciwnym razie firma Microsoft współpracuje z oprogramowaniem open source w celu rozwiązania problemu w poprawce lub następnej regularnej wersji.
- Składniki warstwy 2: składniki badane w mniejszym prioryficie, ponieważ nie są w stanie stabilnym lub są u dostawcy innej firmy.
Składniki warstwy 1
interfejs API | Składnik | Typ |
---|---|---|
Zarządzanie stanem | Azure Cosmos DB Azure Blob Storage v1 Azure Table Storage Microsoft SQL Server |
state.azure.cosmosdb state.azure.blobstorage state.azure.tablestorage state.sqlserver |
Publikowanie i subskrybowanie | Kolejki usługi Azure Service Bus Tematy usługi Azure Service Bus Azure Event Hubs |
pubsub.azure.servicebus.queues pubsub.azure.servicebus.topics pubsub.azure.eventhubs |
Wiązanie | Kolejki usługi Azure Storage Kolejki usługi Azure Service Bus Azure Blob Storage Azure Event Hubs |
bindings.azure.storagequeues bindings.azure.servicebusqueues bindings.azure.blobstorage bindings.azure.eventhubs |
Zarządzanie wpisami tajnymi | Azure Key Vault | secretstores.azure.keyvault |
Składniki warstwy 2
interfejs API | Składnik | Typ |
---|---|---|
Zarządzanie stanem | PostgreSQL MySQL & MariaDB Redis |
state.postgresql state.mysql state.redis |
Publikowanie i subskrybowanie | Apache Kafka Strumienie redis |
pubsub.kafka pubsub.redis |
Wiązanie | Azure Event Grid Azure Cosmos DB Apache Kafka PostgreSQL Redis Cron |
bindings.azure.eventgrid bindings.azure.cosmosdb bindings.kafka bindings.postgresql bindings.redis bindings.cron |
Konfigurowanie | PostgreSQL Redis |
configuration.postgresql configuration.redis |
Chmury/regiony
Globalna chmura platformy Azure jest obsługiwana z obsługą usług AKS i Arc w następujących regionach:
Region (Region) | Obsługa usługi AKS | Obsługa usługi Arc dla platformy Kubernetes |
---|---|---|
australiaeast |
✔️ | ✔️ |
australiasoutheast |
✔️ | ❌ |
brazilsouth |
✔️ | ❌ |
canadacentral |
✔️ | ✔️ |
canadaeast |
✔️ | ✔️ |
centralindia |
✔️ | ✔️ |
centralus |
✔️ | ✔️ |
eastasia |
✔️ | ✔️ |
eastus |
✔️ | ✔️ |
eastus2 |
✔️ | ✔️ |
eastus2euap |
❌ | ✔️ |
francecentral |
✔️ | ✔️ |
francesouth |
✔️ | ❌ |
germanywestcentral |
✔️ | ✔️ |
japaneast |
✔️ | ✔️ |
japanwest |
✔️ | ❌ |
koreacentral |
✔️ | ✔️ |
koreasouth |
✔️ | ❌ |
northcentralus |
✔️ | ✔️ |
northeurope |
✔️ | ✔️ |
norwayeast |
✔️ | ❌ |
southafricanorth |
✔️ | ❌ |
southcentralus |
✔️ | ✔️ |
southeastasia |
✔️ | ✔️ |
southindia |
✔️ | ❌ |
swedencentral |
✔️ | ✔️ |
switzerlandnorth |
✔️ | ✔️ |
uaenorth |
✔️ | ❌ |
uksouth |
✔️ | ✔️ |
ukwest |
✔️ | ❌ |
westcentralus |
✔️ | ✔️ |
westeurope |
✔️ | ✔️ |
westus |
✔️ | ✔️ |
westus2 |
✔️ | ✔️ |
westus3 |
✔️ | ✔️ |
Często zadawane pytania
Jak porównać siatki dapr i service?
Chociaż siatki dapr i usługi oferują pewne nakładające się możliwości, siatka usług koncentruje się na kwestiach związanych z siecią, podczas gdy Dapr koncentruje się na dostarczaniu bloków konstrukcyjnych, które ułatwiają tworzenie aplikacji jako mikrousług. Dapr jest skoncentrowany na deweloperach, a siatki usług są skoncentrowane na infrastrukturze.
Oto niektóre typowe możliwości, które udostępnia dapr z siatkami usług:
- Zabezpieczanie komunikacji między usługami za pomocą szyfrowania mTLS
- Zbieranie metryk service-to-service
- Śledzenie rozproszone między usługami
- Odporność przez ponawianie prób
Język Dapr udostępnia inne bloki konstrukcyjne na poziomie aplikacji na potrzeby zarządzania stanem, obsługi komunikatów pub/podrzędnych, aktorów i nie tylko. Jednak język Dapr nie zapewnia możliwości zachowania ruchu, takiego jak routing lub podział ruchu. Jeśli Twoje rozwiązanie skorzystałoby z podziału ruchu zapewnianego przez siatkę usług, rozważ użycie usługi Open Service Mesh.
Aby uzyskać więcej informacji na temat siateczek języka Dapr i usług oraz sposobu ich współdziałania, odwiedź dokumentację języka Dapr.
Jak interfejs API wpisów tajnych języka Dapr porównuje się ze sterownikiem CSI magazynu wpisów tajnych?
Zarówno interfejs API wpisów tajnych dapr, jak i sterownik CSI zarządzanego magazynu wpisów tajnych umożliwiają integrację wpisów tajnych przechowywanych w magazynie zewnętrznym, abstrakcji technologii magazynu wpisów tajnych z kodu aplikacji.
Sterownik CSI magazynu wpisów tajnych instaluje wpisy tajne przechowywane w usłudze Azure Key Vault jako wolumin CSI do użycia przez aplikację.
Dapr uwidacznia wpisy tajne za pośrednictwem interfejsu API RESTful, który może być:
- Wywoływane przez kod aplikacji
- Skonfigurowane przy użyciu assortowanych magazynów wpisów tajnych
W poniższej tabeli wymieniono możliwości każdej oferty:
Interfejs API wpisów tajnych języka Dapr | Sterownik CSI magazynu wpisów tajnych | |
---|---|---|
Obsługiwane magazyny wpisów tajnych | Lokalne zmienne środowiskowe (dla programowania); Plik lokalny (na potrzeby programowania); Wpisy tajne platformy Kubernetes; Menedżer wpisów tajnych platformy AWS; Magazyn wpisów tajnych usługi Azure Key Vault; Usługa Azure Key Vault z tożsamościami zarządzanymi na platformie Kubernetes; GCP Secret Manager; HashiCorp Vault | Magazyn wpisów tajnych usługi Azure Key Vault |
Uzyskiwanie dostępu do wpisów tajnych w kodzie aplikacji | Wywoływanie interfejsu API wpisów tajnych języka Dapr | Uzyskiwanie dostępu do zainstalowanego woluminu lub synchronizowanie zainstalowanej zawartości jako wpisu tajnego kubernetes i ustawianie zmiennej środowiskowej |
Rotacja wpisów tajnych | Nowe wywołania interfejsu API uzyskują zaktualizowane wpisy tajne | Sonduje wpisy tajne i aktualizuje instalację w konfigurowalnym interwale |
Rejestrowanie i metryki | Przyczepka dapr generuje dzienniki, które można skonfigurować za pomocą modułów zbierających, takich jak Azure Monitor, emituje metryki za pośrednictwem rozwiązania Prometheus i uwidacznia punkt końcowy HTTP na potrzeby kontroli kondycji | Emituje metryki sterownika i dostawcy usługi Azure Key Vault za pośrednictwem rozwiązania Prometheus |
Aby uzyskać więcej informacji na temat zarządzania wpisami tajnymi w języku Dapr, zobacz omówienie zarządzania wpisami tajnymi.
Aby uzyskać więcej informacji na temat sterownika CSI magazynu wpisów tajnych i dostawcy usługi Azure Key Vault, zobacz Omówienie sterownika CSI magazynu wpisów tajnych.
W jaki sposób zarządzane rozszerzenie klastra Dapr porównuje się z ofertą języka Dapr typu open source?
Zarządzane rozszerzenie klastra Dapr jest najprostszą metodą aprowizowania języka Dapr w klastrze usługi AKS. Dzięki rozszerzeniu możesz odciążyć zarządzanie wersją środowiska uruchomieniowego języka Dapr, decydując się na automatyczne uaktualnienia. Ponadto rozszerzenie instaluje język Dapr z inteligentnymi wartościami domyślnymi (na przykład aprowizowanie płaszczyzny sterowania Dapr w trybie wysokiej dostępności).
Podczas instalowania języka Dapr typu open source za pośrednictwem narzędzia Helm lub interfejsu wiersza polecenia języka Dapr deweloperzy i osoby odpowiedzialne za obsługę klastra są również odpowiedzialne za wersje środowiska uruchomieniowego i opcje konfiguracji.
Ponadto rozszerzenie Dapr jest rozszerzeniem usługi AKS, dlatego można oczekiwać tych samych zasad pomocy technicznej co inne funkcje usługi AKS.
Jak mogę uwierzytelnić składniki języka Dapr za pomocą identyfikatora Entra firmy Microsoft przy użyciu tożsamości zarządzanych?
- Dowiedz się, jak składniki języka Dapr uwierzytelniają się za pomocą identyfikatora Entra firmy Microsoft.
- Dowiedz się więcej o korzystaniu z tożsamości zarządzanych w usłudze AKS.
Jak mogę przełączyć się na użycie rozszerzenia Dapr, jeśli już zainstalowano język Dapr za pomocą metody, takiej jak Helm?
Zalecane wskazówki to całkowite odinstalowanie środowiska Dapr z klastra usługi AKS i ponowne zainstalowanie go za pośrednictwem rozszerzenia klastra. Możesz również sprawdzić istniejącą instalację języka Dapr i przeprowadzić migrację do usługi AKS.
Jeśli zainstalujesz narzędzie Dapr za pośrednictwem rozszerzenia usługi AKS, naszym zaleceniem jest kontynuowanie korzystania z rozszerzenia do przyszłego zarządzania środowiskiem Dapr zamiast interfejsu wiersza polecenia języka Dapr. Połączenie tych dwóch narzędzi może powodować konflikty i powodować niepożądane zachowanie.
Następne kroki
Azure Kubernetes Service