Udostępnij za pośrednictwem


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

Rozszerzenie Dapr można zainstalować, wdrożyć i skonfigurować w klastrze przy użyciu interfejsu wiersza polecenia platformy Azure lub szablonu Bicep.

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.

Dowiedz się, jak wyświetlać i określać najnowsze stabilne wersje języka Dapr dostępne dla zarządzanego klastra usługi AKS.

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.

Dowiedz się więcej na temat migracji z platformy Dapr typu open source do rozszerzenia Dapr dla 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?

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