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.
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
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
Dapr-tillägget är det enda Microsoft-stödda alternativet för Dapr i AKS.
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. |
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.
Stöd för Dapr-tillägg varierar beroende på hur du hanterar körningen.
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.
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.
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.
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. |
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.
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 |
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 |
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 |
✔️ | ✔️ |
Ä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.
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.
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.
- Lär dig hur Dapr-komponenter autentiseras med Microsoft Entra-ID.
- Lär dig mer om att använda hanterade identiteter med AKS.
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.
Feedback om Azure Kubernetes Service
Azure Kubernetes Service är ett öppen källkod projekt. Välj en länk för att ge feedback: