Installera Event Grid på Azure Arc Kubernetes-kluster
Den här artikeln vägleder dig genom stegen för att Event Grid på ett Azure Arc kubernetes-kluster.
Av utrymmeskändhet refererar den här artikeln till "Event Grid på Kubernetes-tillägg" som "Event Grid på Kubernetes" eller bara "Event Grid".
Viktigt
Event Grid på Kubernetes med Azure Arc är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Kubernetes-distributioner som stöds
Nedan visas de Kubernetes-distributioner som Event Grid kan distribueras och köras till.
- Kubernetes-distributioner som stöds avAzure AKS.
- RedHat OpenShift Container Platform.
Event Grid tillägg
Åtgärden som installerar en Event Grid-tjänstinstans på ett Kubernetes-kluster är att skapa ett Azure Arc-klustertillägg som distribuerar både en koordinatortjänst för Event Grid och en Event Grid operator. Mer information om den a broker-funktionen och operatorn finns i Event Grid på Kubernetes-komponenter. Azure Arc funktioner för klustertillägg ger livscykelhantering med hjälp Azure Resource Manager(ARM)-kontrollplansåtgärder för att Event Grid distribueras till Azure Arc-aktiverade Kubernetes-kluster.
Anteckning
Förhandsversionen av tjänsten stöder bara en enda instans av Event Grid-tillägget på ett Kubernetes-kluster eftersom Event Grid-tillägget för närvarande definieras som ett klusteromfångstillägg. Det finns inget stöd för distributioner med namnområdesomfång för Event Grid som skulle tillåta att flera instanser distribueras till ett kluster. Mer information om tilläggsomfång finns i Skapa tilläggsinstans och sök efter scope .
Förutsättningar
Kontrollera att följande krav är uppfyllda innan Event Grid installationen av en ny installation.
- Ett kluster som körs på en av kubernetes-distributionerna som stöds.
- En Azure-prenumeration.
- PKI-certifikat som ska användas för att upprätta en HTTPS-anslutning med den Event Grid meddelandekö.
- Anslut klustret till Azure Arc.
Få support
Om du får problem kan du gå till felsökningsavsnittet om du behöver hjälp med vanliga villkor. Om du fortfarande har problem kan du skapa en Azure-supportbegäran.
Krav för PKI-certifikat
Den Event Grid meddelandekö (server) betjänar två typer av klienter. Serverautentisering görs med hjälp av certifikat. Klientautentisering görs med antingen certifikat eller SAS-nycklar baserat på klienttyp.
- Event Grid som gör kontrollplansbegäranden till den autjämnare Event Grid autentiseras med hjälp av certifikat.
- Event Grid utgivare som publicerar händelser till ett Event Grid-ämne autentiseras med ämnets SAS-nycklar.
För att upprätta en säker HTTPS-kommunikation med Event Grid broker och Event Grid-operatorn använder vi PKI-certifikat under installationen Event Grid tillägget. Här är de allmänna kraven för dessa PKI-certifikat:
Certifikaten och nycklarna måste vara X.509-certifikat och Privacy-Enhanced Mail PEM-kodad.
Om du Event Grid certifikatutjämning (server) under installationen måste du ange:
- Ett CA-certifikat
- Ett offentligt certifikat
- En privat nyckel
Om du Event Grid certifikat för operatorn (klient) måste du ange:
- Ett CA-certifikat
- Ett offentligt certifikat
- En privat nyckel
Publiceringsklienter kan använda ca Event Grid certifikatutjämning för att verifiera servern vid publicering av händelser till ett ämne.
Viktigt
Även om en domän som är associerad med klienten kan ha fler än ett offentligt certifikat utfärdat av olika certifikatutfärdare, tillåter Event Grid på Kubernetes endast att ett enda CA-certifikat laddas upp för klienter vid installation av Event Grid. Därför bör certifikaten för Event Grid-operatören utfärdas (signeras) av samma certifikatutfärdare för att certifikatkedjans validering ska lyckas och en TLS-session upprättas.
När du konfigurerar eget namn (CN) för server- och klientcertifikat kontrollerar du att de skiljer sig från det CN som angetts för certifikatutfärdarecertifikatet.
Viktigt
För tidiga konceptbevisfaser kan själv signerade certifikat vara ett alternativ, men i allmänhet ska rätt PKI-certifikat som signerats av en certifikatutfärdare (CA) köpas in och användas.
Installera med Azure Portal
På Azure Portal du (fältet längst upp) efter Azure Arc
Välj Kuberntes-kluster på menyn till vänster i avsnittet Infrastruktur
Under listan över kluster letar du upp det som du vill installera Event Grid och markerar det. Översiktssidan för klustret visas.
Välj Tillägg i Inställningar på den vänstra menyn.
Välj + Lägg till. En sida som visar tillgängliga Azure Arc Kubernetes-tillägg visas.
På sidan Ny resurs väljer du Event Grid på Kubernetes-tillägget.
På sidan Event Grid Kubernetes-tillägg väljer du Skapa.
På fliken Grundläggande inställningar på sidan Installera Event Grid följer du dessa steg.
Avsnittet Project information visar skrivskyddade prenumerations- och resursgruppsvärden eftersom Azure Arc-tillägg distribueras under samma Azure-prenumeration och resursgrupp för det anslutna kluster som de är installerade på.
Ange ett namn i Event Grid för tilläggsnamnet. Det här namnet ska vara unikt bland andra Azure Arc tillägg som distribueras till samma Azure Arc anslutna klustret.
För Frisläpp namnområde kanske du vill ange namnet på ett Kubernetes-namnområde där Event Grid kommer att distribueras till. Du kanske till exempel vill ha ett enda namnområde för alla Azure Arc-aktiverade tjänster som distribueras till klustret. Standardvärdet är eventgrid-system. Om det angivna namnområdet inte finns skapas det åt dig.
I Event Grid koordinatorinformation visas tjänsttypen. Den Event Grid meddelandekö, som är den komponent som exponerar ämnets slutpunkter för vilka händelser skickas, exponeras som en Kubernetes-tjänsttyp ClusterIP. Ip-adresserna som tilldelats till alla ämnen använder därför det privata IP-utrymme som konfigurerats för klustret.
Ange det lagringsklassnamn som du vill använda för den a broker och som stöds av kubernetes-distributionen. Om du till exempel använder AKS kan du använda , som
azurefileanvänder Azure Standard Storage. Mer information om fördefinierade lagringsklasser som stöds av AKS finns i Storage klasser i AKS. Om du använder andra Kubernetes-distributioner kan du läsa kubernetes-distributionsdokumentationen för fördefinierade lagringsklasser som stöds eller hur du kan tillhandahålla egna.Storage storlek. Standardvärdet är 1 GiB. Överväg inmatningshastigheten när du avgör lagringens storlek. Inmatningsfrekvensen i MiB/sekund mätt som storleken på dina händelser gånger publiceringsfrekvensen (händelser per sekund) i alla ämnen på den autjämnare för Event Grid är en viktig faktor vid allokering av lagring. Händelser är tillfälliga till sin natur och när de har levererats finns det ingen lagringsförbrukning för dessa händelser. Inmatningshastigheten är en huvuddrivrutin för lagringsanvändning, men det är inte den enda. Konfiguration av metadata som innehåller ämnes- och händelseprenumeration förbrukar också lagringsutrymme, men det kräver normalt en mindre mängd lagringsutrymme än de händelser som matas in och levereras av Event Grid.
Minnesgräns. Standardvärdet är 1 GiB.
Minnesbegäran. Standardvärdet är 200 MiB. Det här fältet kan inte redigeras.
Välj Nästa: Konfiguration längst ned på sidan.
På fliken Konfiguration på sidan Installera Event Grid gör du följande:
Aktivera HTTP-kommunikation (inte säker). Markera den här kryssrutan om du vill använda en icke-säker kanal när klienterna kommunicerar med den autjämningsbaserade Event Grid meddelandekö.
Viktigt
Om du aktiverar det här alternativet kommer all kommunikation med den Event Grid koordinatorn att använda HTTP som transport. Därför kommer alla publiceringsklienter och Event Grid inte kommunicera med den autjämnande Event Grid på ett säkert sätt. Du bör endast använda det här alternativet i ett tidigt skede av utvecklingen.
Om du inte har aktivera HTTP-kommunikation väljer du var och en av de PKI-certifikatfiler som du har skaffat och uppfyller PKI-certifikatkraven.
Välj Nästa: Övervakning längst ned på sidan.
På fliken Övervakning på sidan Installera Event Grid gör du följande:
Välj Aktivera mått (valfritt). Om du väljer det här alternativet Event Grid på Kubernetes mått för ämnen och händelseprenumerationer med Prometheus-expositionsformatet.
Välj Nästa: Taggar för att gå till sidan Taggar.
Gör följande på sidan Taggar:
Definiera taggar, om det behövs.
Välj Granska + skapa längst ned på sidan.
På fliken Granska + skapa väljer du Skapa.
Viktigt
Installationen av Event Grid är en asynkron åtgärd som kan köras längre på Kubernetes-klustret än när du ser ett meddelande på Azure-portalen som informerar om att distributionen är klar. Vänta minst 5 minuter efter att du ser ett meddelande om att distributionen är klar innan du försöker skapa en anpassad plats (nästa steg). Om du har åtkomst till Kubernetes-klustret kan du i en bash-session köra följande kommando för att kontrollera om Event Grid Broker- och Event Grid-operatörspoddarna är i körningstillstånd, vilket indikerar att installationen har slutförts:
kubectl get pods -n \<release-namespace-name\>Här är exempel på utdata:
NAME READY STATUS RESTARTS AGE eventgrid-broker-568f75976-wxkd2 1/1 Running 0 2m28s eventgrid-operator-6c4c6c675d-ttjv5 1/1 Running 0 2m28sViktigt
Du måste skapa en anpassad plats innan du försöker distribuera Event Grid avsnitt. Om du vill skapa en anpassad plats kan du välja sidan Kontext längst ned 5 minuter efter att meddelandet "Distributionen är klar" visas. Du kan också skapa en anpassad plats med hjälp av Azure Portal. Mer information finns i dokumentationen om anpassad plats.
När distributionen har lyckats kan du se en post på sidan Tillägg med det namn som du angav för ditt Event Grid tillägg. Om du ser Väntande för Installationsstatus väntar du några minuter och väljer sedan Uppdatera i verktygsfältet.
Installera med Azure CLI
Starta en shell-session. Du kan starta en session på datorn eller öppna en webbläsare för https://shell.azure.com .
Skapa konfigurationsfilen
protected-settings-extension.json. Den här filen skickas som en parameter när du skapar Event Grid tillägget.I följande kommando och i var och en av konfigurationsraderna ersätter du med namnet som innehåller det offentliga certifikatet, CA-certifikatet eller nyckeln för
filenameoperatorn (klienten) eller koordinatorn (server). Alla certifikat som tillhandahålls ska vara base64-kodade utan radbrytning. Därför används kommandotbase64 --wrap=0.echo "{ \"eventgridoperator.identityCert.base64EncodedIdentityCert\":\"$(base64 <filename> --wrap=0)\", \"eventgridoperator.identityCert.base64EncodedIdentityKey\":\"$(base64 <filename> --wrap=0)\", \"eventgridoperator.identityCert.base64EncodedIdentityCaCert\":\"$(base64 <filename> --wrap=0)\", \"eventgridbroker.service.tls.base64EncodedServerCert\": \"$(base64 <filename> --wrap=0)\" , \"eventgridbroker.service.tls.base64EncodedServerKey\": \"$(base64 <filename> --wrap=0)\" , \"eventgridbroker.service.tls.base64EncodedServerCaCert\": \"$(base64 <filename> --wrap=0)\" }" > protected-settings-extension.jsonOm till exempel det offentliga certifikatet för den a broker (första konfigurationsobjektet ovan) heter ska den första konfigurationsraden
client.cerse ut som följande:\"eventgridoperator.identityCert.base64EncodedIdentityCert\":\"$(base64 client.cer --wrap=0)\",Skapa konfigurationsfilen
settings-extension.json. Den här filen skickas som en parameter när du skapar Event Grid tillägget.Viktigt
Du får inte ändra värdena för
ServiceAccountochserviceType. Under förhandsversionen är den enda Kubernetes-tjänsttypen som stödsClusterIP.För
storageClassNameanger du den lagringsklass som du vill använda för den a broker och som stöds av kubernetes-distributionen. Om du till exempel använder AKS kan du användaazurefile, som använder Azure Standard Storage. Mer information om fördefinierade lagringsklasser som stöds av AKS finns i Storage-klasser i AKS. Om du använder andra Kubernetes-distributioner kan du läsa kubernetes-distributionsdokumentationen för fördefinierade lagringsklasser som stöds eller hur du kan ange egna.Ange
reporterTypetill för att aktivera mått för ämnen ochprometheushändelseprenumerationer med Prometheus-expositionsformatet.Viktigt
Under förhandsversionen är användning av en Prometheus-klient den enda mekanism som stöds för att hämta mått.
echo "{ \"Microsoft.CustomLocation.ServiceAccount\":\"eventgrid-operator\", \"eventgridbroker.service.serviceType\": \"ClusterIP\", \"eventgridbroker.dataStorage.storageClassName\": \"<storage_class_name>\", \"eventgridbroker.diagnostics.metrics.reporterType\":\"prometheus\" }" > settings-extension.jsonSkapa ett Kubernetes-tillägg som installerar Event Grid komponenter i klustret.
För parametrar
cluster-nameoch måste du använda samma namn som när du anslöt klustret tillresource-groupAzure Arc.release-namespaceär det namnområde Event Grid distribueras till. Standardvärdet är eventgrid-system. Du kanske vill ange ett värde som åsidosätter standardvärdet. Du kanske till exempel vill ha ett enda namnområde för alla Azure Arc-aktiverade tjänster som distribueras till klustret. Om det angivna namnområdet inte finns skapas det åt dig.Viktigt
Under förhandsversionen är det
clusterenda omfång som stöds när du skapar eller uppdaterar ett Event Grid tillägg. Det innebär att tjänsten endast stöder en enda instans av Event Grid på ett Kubernetes-kluster. Det finns inget stöd för distributioner med namnområdesomfång ännu. Mer information om tilläggsomfång finns i Skapa tilläggsinstans och sök efterscope.az k8s-extension create --cluster-type connectedClusters --cluster-name <connected_cluster_name> --resource-group <resource_group_of_connected_cluster> --name <event_grid_extension_name> --extension-type Microsoft.EventGrid --scope cluster --auto-upgrade-minor-version true --release-train Stable --release-namespace <namespace_name> --configuration-protected-settings-file protected-settings-extension.json --configuration-settings-file settings-extension.jsonKontrollera att Event Grid-tillägget har installerats.
az k8s-extension show --cluster-type connectedClusters --cluster-name <connected_cluster_name> --resource-group <resource_group_of_connected_cluster> --name <event_grid_extension_name>Egenskapen
installedStateska vara om de Event GridInstalledtilläggskomponenterna har distribuerats.
Anpassad plats
Viktigt
Du måste skapa en anpassad plats innan du försöker distribuera Event Grid avsnitt. Du kan skapa en anpassad plats med hjälp av Azure Portal.
Felsökning
Azure Arc problem med att ansluta kluster
Problem: När du navigerar till Azure Arc och klickar på Kubernetes-kluster på menyn till vänster visas inte Kubernetes-klustret där jag vill installera Event Grid.
Lösning: Kubernetes-klustret har inte registrerats med Azure. Följ stegen i artikeln om Anslut ett befintligt Kubernetes-kluster för att Azure Arc. Om du har problem under det här steget kan du skicka en supportbegäran till Azure Arc aktiverat Kubernetes-team.
Event Grid problem med tillägg
Problem: När du försöker installera ett "Event Grid-tillägg" får du följande meddelande: "Ogiltig åtgärd – En instans av Event Grid har redan installerats på det här anslutna Kubernetes-klustret. Tillägget Event Grid är begränsad på klusternivå, vilket innebär att endast en instans kan installeras på ett kluster."
Förklaring: Du har redan Event Grid installerat. Förhandsversionen av den Event Grid stöder bara en instans Event Grid-tillägg som distribuerats till ett kluster.
Nästa steg
Skapa en anpassad plats och följ sedan anvisningarna i snabbstarten Dirigera molnhändelser till Webhooks med Azure Event Grid på Kubernetes.