Läs på engelska

Dela via


Dapr-tillägg för Azure Kubernetes Service (AKS) och Arc-aktiverade Kubernetes

Dapr (Distributed Application Runtime) erbjuder API:er som hjälper dig att skriva och implementera enkla, bärbara, motståndskraftiga och skyddade mikrotjänster. Dapr-API:er körs som en sidovagnsprocess tillsammans med dina program och sammanfattar vanliga komplexiteter som du kan stöta på när du skapar distribuerade program, till exempel:

  • Tjänsteidentifiering
  • Meddelandeköintegrering
  • Kryptering
  • Överskådlighet
  • Hemlighetshantering

Dapr kan antas stegvis. Du kan använda någon av API:ets byggstenar efter behov. Lär dig supportnivån som Microsoft erbjuder för varje Dapr-API och komponent.

Funktioner och fördelar

Om du använder Dapr-tillägget för att etablera Dapr på ditt AKS- eller Arc-aktiverade Kubernetes-kluster eliminerar du kostnaderna för:

  • Ladda ned Dapr-verktyg
  • Installera och hantera Dapr-körningen manuellt i AKS-klustret

Du kan installera, distribuera och konfigurera Dapr-tillägget i klustret med hjälp av antingen Azure CLI eller en Bicep-mall.

Tillägget har dessutom stöd för alla inbyggda Dapr-konfigurationsfunktioner via enkla kommandoradsargument.

Dapr tillhandahåller följande uppsättning funktioner som hjälper dig med din mikrotjänstutveckling i AKS:

  • Enkel etablering av Dapr på AKS via klustertillägg
  • Portabilitet aktiverad via HTTP- och gRPC-API:er som abstraherar underliggande teknikval
  • Tillförlitliga, säkra och motståndskraftiga tjänst-till-tjänst-anrop via HTTP- och gRPC-API:er
  • Publicera och prenumerera på meddelanden på ett enkelt sätt med stöd för CloudEvent-filtrering och "minst en gång"-semantik för meddelandeleverans
  • Pluggbar observerbarhet och övervakning via Open Telemetry API-insamlare
  • Oberoende av språk, samtidigt som de erbjuder språkspecifika programutvecklingspaket (SDK:er)
  • Integrering med Visual Studio Code via Dapr-tillägget
  • Fler API:er för att lösa problem med distribuerade program

Stöds för närvarande

Dapr-tillägget är det enda Microsoft-stödda alternativet för Dapr i AKS.

Problemhantering

Microsoft kategoriserar problem som uppstår mot Dapr-tillägget i två delar:

  • Tilläggsåtgärder
  • Dapr-körning (inklusive API:er och komponenter)

I följande tabell delas upp stödprioritetsnivåer för var och en av dessa kategorier.

beskrivning Säkerhetsrisker/regressioner Funktionella problem
Tilläggsåtgärder Problem som uppstår under tilläggsåtgärder, till exempel installation/avinstallation eller uppgradering av Dapr-tillägget. Microsoft prioriterar för omedelbar lösning. Microsoft undersöker och adresser efter behov.
Dapr-körning Problem som uppstår vid användning av Dapr-körning, API:er och komponenter via tillägget. Microsoft arbetar med öppen källkod communityn för att undersöka problem med hög prioritet. Beroende på prioritet, allvarlighetsgrad och storlek på problemet löser Microsoft dem antingen direkt i tillägget eller arbetar med Dapr öppen källkod-projektet för att lösa problemet i en snabbkorrigering eller framtida Dapr-öppen källkod version. När korrigeringar har släppts i Dapr öppen källkod görs de sedan tillgängliga i Dapr-tillägget. Microsoft undersöker nya funktionella problem tillsammans med Dapr öppen källkod-projektet och samarbetar med dem för att lösa i en snabbkorrigering eller framtida Dapr-öppen källkod version. Kända öppen källkod funktionella problem kommer inte att undersökas av Microsoft just nu.

Dapr-versioner

Microsoft ger bästa möjliga stöd för den senaste versionen av Dapr och två tidigare versioner (N-2). Den senaste korrigeringsversionen är den enda version som stöds av varje delversion. För närvarande stöder Dapr-tillägget för AKS eller Arc-aktiverade Kubernetes följande Dapr-versioner:

  • 1.14.x
  • 1.13.x
  • 1.12.x

Du kan köra Azure CLI-kommandon för att hämta en lista över tillgängliga versioner i ett kluster eller en plats.

Lär dig hur du visar och riktar in dig på de senaste stabila Dapr-versionerna som är tillgängliga för ditt hanterade AKS-kluster.

Stöd för körning

Stöd för Dapr-tillägg varierar beroende på hur du hanterar körningen.

Självhanterad

Självhanterad körning kräver manuell uppgradering för att finnas kvar i supportfönstret. Om du vill uppgradera Dapr via tillägget följer du anvisningarna för instansen av uppdateringstillägget.

När en Dapr-körningsversion har nått slutet av Microsoft-supporten fortsätter dina program att köras oförändrade. Microsoft kan dock inte längre tillhandahålla säkerhetskorrigeringar eller relaterad kundsupport för den körningsversionen. Om ditt program stöter på problem efter slutdatumet för support för den versionen rekommenderar vi att du uppgraderar till en version som stöds för att få de senaste säkerhetskorrigeringarna och funktionerna.

Automatisk uppgradering

Aktivering av automatisk uppgradering kräver noggrant övervägande. Även om den automatiska uppgraderingen håller Ditt Dapr-tillägg uppdaterat till den senaste delversionen kan det uppstå icke-bakåtkompatibla ändringar mellan uppdateringar. Microsoft ansvarar inte för avbrott som orsakas på grund av icke-bakåtkompatibla ändringar mellan automatiska uppdateringar.

Komponenter och API:er

Du kan använda alla Dapr-komponenter och API:er via Dapr-tillägget, inklusive de som har alfa- och betastatus. Microsoft tillhandahåller dock endast stöd för en delmängd AV API:er och komponenter enligt de definierade principerna för hantering av problem.

Stabila Dapr-API:er

Dapr-tillägget stöder stabila versioner av Dapr-API:er (byggstenar).

Dapr API Status beskrivning
Tjänst-till-tjänst-anrop Stable Upptäck tjänster och utför tillförlitliga, direkta tjänst-till-tjänst-anrop med automatisk mTLS-autentisering och kryptering. (#limitations)
Tillståndshantering Stable Tillhandahåller tillståndshanteringsfunktioner för transaktioner och CRUD-åtgärder.
Pub/sub Stable Tillåter att appar för utgivare och prenumeranter kommunicerar via en mellanliggande meddelandekö. Du kan också skapa deklarativa prenumerationer i ett ämne med hjälp av en extern JSON-komponentfil.
Bindningar Stable Utlös dina program baserat på händelser.
Aktörer Stable Dapr-aktörer är meddelandedrivna, enkeltrådade arbetsenheter som är utformade för att snabbt skalas. Till exempel i burst-tunga arbetsbelastningssituationer.
Observerbarhet Stable Skicka spårningsinformation till en Application Insights-serverdel.
Hemligheter Stable Få åtkomst till hemligheter från programkoden eller referera till säkra värden i Dapr-komponenterna.
Konfiguration Stable Hämta och prenumerera på programkonfigurationsobjekt för konfiguration som stöds. diversehandel.

Dapr-komponenter

Komponenter på nivå 1 jämfört med nivå 2

En delmängd av Dapr-komponenter stöds. Inom den delmängden delas Dapr-komponenterna in i två supportkategorier: Nivå 1 eller Nivå 2.

  • Nivå 1-komponenter: Stabila komponenter som får omedelbar undersökning i kritiska (säkerhets- eller allvarliga regressionsscenarier). Annars samarbetar Microsoft med öppen källkod för att adressera i en snabbkorrigering eller i nästa vanliga version.
  • Nivå 2-komponenter: Komponenter som undersöks med mindre prioritet, eftersom de inte är i stabilt tillstånd eller är med en tredjepartsleverantör.
Komponenter på nivå 1
API Komponent Typ
Tillståndshantering Azure Cosmos DB
Azure Blob Storage v1
Azure Table Storage
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publicera och prenumerera Azure Service Bus-köer
Azure Service Bus-avsnitt
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Bindning Azure Storage-köer
Azure Service Bus-köer
Azure Blob Storage
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Hantering av hemligheter Azure Key Vault secretstores.azure.keyvault
Komponenter på nivå 2
API Komponent Typ
Tillståndshantering PostgreSQL
MySQL & MariaDB
Redis
state.postgresql
state.mysql
state.redis
Publicera och prenumerera Apache Kafka
Redis Streams
pubsub.kafka
pubsub.redis
Bindning 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
Konfiguration PostgreSQL
Redis
configuration.postgresql
configuration.redis

Moln/regioner

Globalt Azure-moln stöds med AKS- och Arc-stöd i följande regioner:

Region AKS-stöd Stöd för Arc for 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 ✔️ ✔️

Vanliga frågor och svar

Hur jämför Dapr- och Service-nät?

Även om Dapr- och servicenät erbjuder vissa överlappande funktioner fokuserar ett servicenät på nätverksproblem, medan Dapr fokuserar på att tillhandahålla byggstenar som gör det enklare att skapa program som mikrotjänster. Dapr är utvecklarfokuserad, medan tjänstnät är infrastrukturcentrerade.

Några vanliga funktioner som Dapr delar med tjänstnät är:

  • Säker tjänst-till-tjänst-kommunikation med mTLS-kryptering
  • Service-to-service-måttinsamling
  • Distribuerad spårning från tjänst till tjänst
  • Återhämtning genom återförsök

Dapr tillhandahåller andra byggstenar på programnivå för tillståndshantering, pub/sub-meddelanden, aktörer med mera. Dapr tillhandahåller dock inte funktioner för trafikbeteende, till exempel routning eller trafikdelning. Om din lösning skulle ha nytta av trafikdelningen som ett tjänstnät tillhandahåller kan du överväga att använda Open Service Mesh.

Mer information om Dapr och tjänstnät och hur de kan användas tillsammans finns i Dapr-dokumentationen.

Hur skiljer sig Dapr-hemlighets-API:et från CSI-drivrutinen för Secrets Store?

Både Api:et för Dapr-hemligheter och CSI-drivrutinen för hanterade hemligheter gör det möjligt att integrera hemligheter som lagras i ett externt arkiv, vilket abstraherar teknik för hemlig lagring från programkod.

CSI-drivrutinen för Secrets Store monterar hemligheter som lagras i Azure Key Vault som en CSI-volym för användning av ett program.

Dapr exponerar hemligheter via ett RESTful-API som kan vara:

  • Anropas av programkod
  • Konfigurerad med olika hemlighetslager

I följande tabell visas funktionerna i varje erbjudande:

API för Dapr-hemligheter CSI-drivrutin för Secrets Store
Hemligheter som stöds lagrar Lokala miljövariabler (för utveckling); Lokal fil (för utveckling); Kubernetes-hemligheter; AWS Secrets Manager; Hemligt Azure Key Vault-arkiv; Azure Key Vault med hanterade identiteter på Kubernetes; GCP Secret Manager; HashiCorp-valv Hemligt Azure Key Vault-arkiv
Åtkomst till hemligheter i programkod Anropa API:et för Dapr-hemligheter Få åtkomst till den monterade volymen eller synkronisera monterat innehåll som en Kubernetes-hemlighet och ange en miljövariabel
Hemlig rotation Nya API-anrop hämtar uppdaterade hemligheter Söker efter hemligheter och uppdaterar monteringen med ett konfigurerbart intervall
Loggning och mått Dapr-sidovagnen genererar loggar som kan konfigureras med insamlare som Azure Monitor, genererar mått via Prometheus och exponerar en HTTP-slutpunkt för hälsokontroller Genererar drivrutins- och Azure Key Vault-providermått via Prometheus

Mer information om hemlig hantering i Dapr finns i översikten över hantering av hemligheter.

Mer information om CSI-drivrutinen för Secrets Store och Azure Key Vault-providern finns i Översikt över CSI-drivrutinsöversikt för Secrets Store.

Hur skiljer sig det hanterade Dapr-klustertillägget från öppen källkod Dapr-erbjudandet?

Det hanterade Dapr-klustertillägget är den enklaste metoden för att etablera Dapr i ett AKS-kluster. Med tillägget kan du avlasta hanteringen av Dapr-körningsversionen genom att välja automatiska uppgraderingar. Dessutom installerar tillägget Dapr med smarta standardvärden (till exempel etablering av Dapr-kontrollplanet i läget för hög tillgänglighet).

När du installerar Dapr öppen källkod via helm eller Dapr CLI ansvarar även utvecklare och klusterunderhållare för körningsversioner och konfigurationsalternativ.

Slutligen är Dapr-tillägget en förlängning av AKS, därför kan du förvänta dig samma supportprincip som andra AKS-funktioner.

Läs mer om att migrera från Dapr öppen källkod till Dapr-tillägget för AKS.

Hur kan jag autentisera Dapr-komponenter med Microsoft Entra-ID med hanterade identiteter?

Hur växlar jag till att använda Dapr-tillägget om jag redan har installerat Dapr via en metod, till exempel Helm?

Rekommenderad vägledning är att helt avinstallera Dapr från AKS-klustret och installera om det via klustertillägget. Du kan också söka efter den befintliga Dapr-installationen och migrera den till AKS.

Om du installerar Dapr via AKS-tillägget rekommenderar vi att du fortsätter att använda tillägget för framtida hantering av Dapr i stället för Dapr CLI. Att kombinera de två verktygen kan orsaka konflikter och leda till oönskade beteenden.

Nästa steg