Dapr

Az elosztott alkalmazás-futtatókörnyezet (Dapr) olyan API-kat kínál, amelyek megkönnyítik az egyszerű, hordozható, rugalmas és biztonságos mikroszolgáltatások írását és implementálását. A Dapr API-k oldalkocsis folyamatként futnak az alkalmazásokkal párhuzamosan, és elvonják az elosztott alkalmazások létrehozásakor előforduló gyakori összetettségeket, például:

  • Szolgáltatásészlelés
  • Üzenetközvetítő integrációja
  • Titkosítás
  • Megfigyelhetőség
  • Titkos kódok kezelése

A Dapr fokozatosan bevezethető. Igény szerint bármelyik API-építőelemet használhatja. Ismerje meg az egyes Dapr API-khoz és -összetevőkhöz tartozó Microsoft-támogatási szintet.

Képességek és funkciók

A Dapr bővítmény használata a Dapr AKS- vagy Arc-kompatibilis Kubernetes-fürtön való kiépítéséhez kiküszöböli a következő többletterhelést:

  • A Dapr eszközkészlet letöltése
  • A Dapr-futtatókörnyezet manuális telepítése és kezelése az AKS-fürtön

A Dapr-bővítményt az Azure CLI vagy egy Bicep-sablon használatával telepítheti, telepítheti és konfigurálhatja a fürtön.

Emellett a bővítmény egyszerű parancssori argumentumokkal támogatja az összes natív Dapr-konfigurációs képességet.

A Dapr az alábbi képességeket kínálja az AKS-en történő mikroszolgáltatás-fejlesztéshez:

  • A Dapr egyszerű üzembe helyezése az AKS-en fürtbővítményeken keresztül.
  • A HTTP és a gRPC API-k által engedélyezett hordozhatóság, amelyek absztrakt mögöttes technológiákkal érhetők el
  • Megbízható, biztonságos és rugalmas szolgáltatásközi hívások HTTP- és gRPC API-k használatával
  • A CloudEvent-szűrés és az "legalább egyszer" szemantika támogatásával egyszerűen közzéteheti és előfizetheti az üzeneteket az üzenetkézbesítéshez
  • Csatlakoztatható megfigyelhetőség és monitorozás Open Telemetry API-gyűjtőn keresztül
  • Nyelvfüggetlen, ugyanakkor nyelvspecifikus szoftverfejlesztői készleteket (SDK-k) is kínál
  • Integráció a Visual Studio Code-tal a Dapr bővítményen keresztül
  • További API-k az elosztott alkalmazások kihívásainak megoldásához

Jelenleg támogatott

Az AKS-ben a Dapr bővítmény az egyetlen Microsoft által támogatott lehetőség a Dapr számára.

Problémakezelés

A Microsoft két részre kategorizálja a Dapr-bővítménysel kapcsolatban felmerült problémákat:

  • Bővítményműveletek
  • Dapr-futtatókörnyezet (beleértve az API-kat és az összetevőket)

Az alábbi táblázat az egyes kategóriák támogatási prioritási szintjeit sorolja fel.

Leírás Biztonsági kockázatok/Regressziók Funkcionális problémák
Bővítményműveletek A bővítményműveletek során felmerülő problémák, például a Dapr bővítmény telepítése,eltávolítása vagy frissítése. A Microsoft rangsorolja az azonnali megoldást. A Microsoft szükség szerint kivizsgálja és megcímezi azokat.
Dapr-futtatókörnyezet A Dapr-futtatókörnyezet, API-k és összetevők bővítményen keresztüli használatakor felmerülő problémák. A Microsoft a nyílt forráskód közösséggel együttműködve vizsgálja meg a magas prioritású problémákat. A probléma prioritásától, súlyosságától és méretétől függően a Microsoft vagy közvetlenül a bővítményben oldja meg őket, vagy együttműködik a Dapr nyílt forráskód projekttel egy gyorsjavításban vagy egy későbbi Dapr nyílt forráskód kiadásban. Miután a Javítások megjelentek a Dapr nyílt forráskód, a javítások elérhetővé válnak a Dapr bővítményben. A Microsoft a Dapr nyílt forráskód projekttel együtt vizsgálja az új funkcionális problémákat, és együttműködik velük a gyorsjavításban vagy a jövőbeli Dapr nyílt forráskód kiadásban történő megoldás érdekében. Az ismert nyílt forráskód funkcionális problémákat a Microsoft jelenleg nem vizsgálja meg.

Dapr-verziók

A Microsoft a Dapr legújabb és két korábbi (N-2) verziójához nyújt minden erőfeszítést. Az egyes alverziók csak a legújabb javításverziót támogatják. Az AKS-hez vagy az Arc-kompatibilis Kuberneteshez készült Dapr-bővítmény jelenleg a következő Dapr-verziókat támogatja:

  • 1.13.x
  • 1.12.x
  • 1.11.x

A Dapr bővítmény támogatása a futtatókörnyezet kezelésétől függően változik.

Önmagát felügyelő

Az önkiszolgáló futtatókörnyezethez manuális frissítés szükséges, hogy a támogatási ablakban maradjon. A Dapr bővítményen keresztüli frissítéséhez kövesse az Update bővítménypéldány utasításait.

Miután egy Dapr-futtatókörnyezeti verzió elérte a Microsoft támogatásának végét, az alkalmazások továbbra is változatlanul futnak. A Microsoft azonban már nem tud biztonsági javításokat vagy kapcsolódó ügyfélszolgálatot biztosítani az adott futtatókörnyezeti verzióhoz. Ha az alkalmazás a támogatás megszűnésének dátuma után problémákat tapasztal az adott verzióhoz, javasoljuk, hogy frissítsen egy támogatott verzióra a legújabb biztonsági javítások és funkciók fogadása érdekében.

Automatikus frissítés

Az automatikus frissítés engedélyezéséhez körültekintően kell eljárni. Bár az automatikus frissítés a Dapr-bővítményt a legújabb alverzióra frissíti, a frissítések közötti kompatibilitástörő változásokat tapasztalhat. A Microsoft nem felelős az automatikus frissítések közötti kompatibilitástörő változások miatti állásidőért.

Összetevők és API-k

Az összes Dapr-összetevőt és API-t használhatja a Dapr bővítményen keresztül, beleértve az alfa- és bétaállapotú összetevőket is. A Microsoft azonban csak az API-k és összetevők egy részhalmazát támogatja, a megadott problémakezelési szabályzatokat követve.

Stabil Dapr API-k

A Dapr-bővítmény támogatja a Dapr API-k (építőelemek) stabil verzióit.

Dapr API Állapot Leírás
Szolgáltatásközi hívás Stable Felderítheti a szolgáltatásokat, és megbízható, közvetlen szolgáltatásközi hívásokat hajthat végre automatikus mTLS-hitelesítéssel és titkosítással. (#limitations)
Állapotkezelés Stable Állapotkezelési képességeket biztosít a tranzakciókhoz és a CRUD-műveletekhez.
Pub/sub Stable Lehetővé teszi a közzétevői és előfizetői alkalmazások közötti kommunikációt egy közvetítő üzenetközvetítőn keresztül. Deklaratív előfizetéseket is létrehozhat egy témakörhöz egy külső összetevő JSON-fájllal.
Kötések Stable Események alapján aktiválja az alkalmazásokat.
Szereplők Stable A Dapr-szereplők üzenetvezérelt, egyszálas, gyors skálázásra tervezett munkaegységek. Például nagy teljesítményű számítási feladatok esetén.
Megfigyelhetőség Stable Nyomkövetési adatok küldése egy alkalmazás Elemzések háttérrendszerbe.
Titkos kódok Stable Titkos kódokat érhet el az alkalmazáskódból, vagy hivatkozhat biztonságos értékekre a Dapr-összetevőkben.
Konfiguráció Stable Kérje le és iratkozzon fel az alkalmazáskonfiguráció elemeire a támogatott konfigurációhoz. Üzletek.

1. réteg és 2. rétegbeli összetevők

A Dapr-összetevők egy részhalmaza támogatott az AKS és az Arc-kompatibilis Kubernetes Dapr-bővítményéhez. Ezen az alkészleten belül a Dapr-összetevők két támogatási kategóriára oszlanak: 1. vagy 2. rétegre.

  • 1. rétegbeli összetevők: Stabil összetevők, amelyek azonnali vizsgálatot kapnak kritikus (biztonsági vagy súlyos regressziós) forgatókönyvekben. Ellenkező esetben a Microsoft együttműködik nyílt forráskód egy gyorsjavításban vagy a következő szokásos kiadásban való címmel.
  • 2. rétegbeli összetevők: Azok az összetevők, amelyeket kisebb prioritással vizsgálnak, mivel nem stabil állapotban vannak, vagy külső szolgáltatónál vannak.
1. rétegbeli összetevők
API Összetevő Típus
Állapotkezelés Azure Blob Storage v1
Azure Table Storage
Microsoft SQL Server
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Közzététel > feliratkozás Azure Service Bus-üzenetsorok
Azure Service Bus-témakörök
Azure-eseményközpontok
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Kötés Azure Storage-üzenetsorok
Azure Service Bus-üzenetsorok
Azure Blob Storage
Azure-eseményközpontok
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
2. rétegbeli összetevők
API Összetevő Típus
Állapotkezelés Azure Cosmos DB
PostgreSQL
MySQL > MariaDB
Redis
state.azure.cosmosdb
state.postgresql
state.mysql
state.redis
Közzététel > feliratkozás Apache Kafka
Redis adatfolyamok
pubsub.kafka
pubsub.redis
Kötés 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
Konfiguráció PostgreSQL
Redis
bindings.postgresql
bindings.redis

Felhők/régiók

A globális Azure-felhő AKS- és Arc-támogatással támogatott a következő régiókban:

Régió AKS-támogatás Arc for Kubernetes-támogatás
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 ✔️ ✔️

Gyakori kérdések

Hogyan hasonlíthatók össze a Dapr és a Szolgáltatáshálók?

Válasz: Ha a szolgáltatásháló hálózati szolgáltatáshálóként van definiálva, a Dapr nem szolgáltatásháló. Bár a Dapr és a szolgáltatáshálók egymást átfedő képességeket kínálnak, a szolgáltatásháló a hálózatkezelési problémákra összpontosít, míg a Dapr arra összpontosít, hogy olyan építőelemeket biztosítson, amelyek megkönnyítik a fejlesztők számára az alkalmazások mikroszolgáltatásként való létrehozását. A Dapr fejlesztő-központú, míg a szolgáltatáshálók infrastruktúra-központúak.

A Dapr szolgáltatáshálókkal való megosztásának néhány gyakori képessége a következők:

  • Szolgáltatásközi kommunikáció biztonságossá tétele mTLS-titkosítással
  • Szolgáltatás–szolgáltatás metrikagyűjtemény
  • Szolgáltatásközi elosztott nyomkövetés
  • Rugalmasság újrapróbálkozásokkal

Emellett a Dapr más alkalmazásszintű építőelemeket is biztosít az állapotkezeléshez, a pub/alüzenetek, a szereplők és egyebek számára. A Dapr azonban nem biztosít olyan képességeket a forgalom viselkedéséhez, mint az útválasztás vagy a forgalom felosztása. Ha a megoldás kihasználná a szolgáltatásháló által biztosított forgalom felosztását, fontolja meg az Open Service Mesh használatát.

További információt a Dapr és a szolgáltatáshálókról, valamint azok együttes használatáról a Dapr dokumentációjában talál.

Hogyan hasonlítja össze a Dapr titkos kulcsok API-ja a Secrets Store CSI-illesztőprogramot?

A Dapr titkos kulcsok API-ja és a felügyelt Titkos kulcstár CSI-illesztő lehetővé teszi a külső tárolóban tárolt titkos kódok integrálását, és az alkalmazáskódból absztrakciót alkalmazva a titkos tár technológiáját. A Titkos kulcstár CSI-illesztőprogramja csi-kötetként csatlakoztatja az Azure Key Vaultban tárolt titkos kulcsokat egy alkalmazás általi felhasználáshoz. A Dapr egy RESTful API-val teszi elérhetővé a titkos kulcsokat, amelyek a következők lehetnek:

  • Alkalmazáskód alapján meghívva
  • Válogatott titkos kódtárakkal konfigurálva

Az alábbi táblázat az egyes ajánlatok képességeit sorolja fel:

Dapr titkos kódok API Titkos kulcstár CSI-illesztőprogramja
Támogatott titkos kulcstárak Helyi környezeti változók (fejlesztéshez); Helyi fájl (fejlesztéshez); Kubernetes Titkos kódok; AWS Titkos kódok kezelője; Azure Key Vault titkos tároló; Azure Key Vault felügyelt identitásokkal a Kubernetesen; GCP Titkos kódkezelő; HashiCorp-tároló Azure Key Vault titkos tár
Titkos kódok elérése az alkalmazáskódban A Dapr titkos kulcsok API meghívása A csatlakoztatott kötet elérése vagy a csatlakoztatott tartalom szinkronizálása Kubernetes-titkos kódként, és környezeti változó beállítása
Titkos kulcsok rotálása Új API-hívások szerezik be a frissített titkos kulcsokat Titkos kulcsok lekérdezése és a csatlakoztatás frissítése konfigurálható időközönként
Naplózás és metrikák A Dapr oldalkocsi naplókat hoz létre, amelyek konfigurálhatók olyan gyűjtőkkel, mint az Azure Monitor, metrikákat bocsát ki a Prometheuson keresztül, és egy HTTP-végpontot tesz elérhetővé az állapot-ellenőrzésekhez Illesztőprogram- és Azure Key Vault-szolgáltatói metrikákat bocsát ki a Prometheuson keresztül

A Dapr titkos kulcskezelésével kapcsolatos további információkért tekintse meg a titkos kódok kezelésének áttekintését.

A Titkos kulcstár CSI-illesztőprogramról és az Azure Key Vault-szolgáltatóról további információt a Titkos kulcstár CSI-illesztőprogramjának áttekintésében talál.

Hogyan viszonyul a felügyelt Dapr-fürtbővítmény a nyílt forráskód Dapr-ajánlathoz?

A felügyelt Dapr-fürtbővítmény a legegyszerűbb módszer a Dapr AKS-fürtön való kiépítésére. A bővítménnyel ki tudja kapcsolni a Dapr futtatókörnyezeti verzió felügyeletét az automatikus frissítések kiválasztásával. Emellett a bővítmény intelligens alapértelmezett beállításokkal telepíti a Daprt (például a Dapr vezérlősíkjának kiépítése magas rendelkezésre állási módban).

Ha a Dapr nyílt forráskód a Helm vagy a Dapr CLI használatával telepíti, a fejlesztők és a fürtfenntartók is felelősek a futtatókörnyezeti verziókért és a konfigurációs lehetőségekért.

Végül a Dapr-bővítmény az AKS bővítménye, ezért a többi AKS-funkcióval megegyező támogatási szabályzatra számíthat.

További információ a Dapr nyílt forráskód-ról az AKS-hez készült Dapr-bővítményre való migrálásról.

Hogyan hitelesíthetem a Dapr-összetevőket a Microsoft Entra-azonosítóval felügyelt identitások használatával?

Hogyan válthatok a Dapr bővítmény használatára, ha már telepítettem a Daprt egy olyan módszerrel, mint a Helm?

Az ajánlott útmutató a Dapr teljes eltávolítása az AKS-fürtből, majd újratelepítése a fürtbővítményen keresztül.

Ha az AKS-bővítményen keresztül telepíti a Daprt, javasoljuk, hogy a Dapr jövőbeni felügyeletéhez használja a bővítményt a Dapr parancssori felület helyett. A két eszköz kombinálása ütközéseket okozhat, és nem kívánt viselkedést eredményezhet.

Következő lépések

Miután megismerte a Daprt és a megoldandó kihívásokat, próbálja meg üzembe helyezni az alkalmazást a Dapr-fürtbővítménnyel.