De Event Grid installeren op Azure Arc Kubernetes-cluster

Dit artikel begeleidt u door de stappen voor het installeren Event Grid op een kubernetes-cluster Azure Arc kubernetes-cluster.

Kortheidsbreed verwijst dit artikel naar 'Event Grid on Kubernetes extension' als 'Event Grid on Kubernetes' of gewoon 'Event Grid'.

Belangrijk

Event Grid kubernetes met Azure Arc is momenteel in openbare preview. Deze preview-versie wordt aangeboden zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.

Ondersteunde Kubernetes-distributies

Hieronder vindt u de ondersteunde Kubernetes-distributies waarop Event Grid kunnen worden geïmplementeerd en uitgevoerd.

  1. Azure AKS ondersteunde Kubernetes-distributies.
  2. RedHat OpenShift Container Platform.

Event Grid extensie

De bewerking waarmee een Event Grid-service-exemplaar op een Kubernetes-cluster wordt geïnstalleerd, is het maken van een Azure Arc-clusterextensie, waarmee zowel een Event Grid-broker als een Event Grid-operator wordt geïmplementeerd. Zie voor meer informatie over de functie van de broker en operator Event Grid Kubernetes-onderdelen. Azure Arc clusterextensie biedt levenscyclusbeheer met behulp van Azure Resource Manager (ARM)-besturingsvlakbewerkingen om Event Grid te Azure Arc kubernetes-clusters.

Notitie

De preview-versie van de service ondersteunt slechts één exemplaar van de Event Grid-extensie op een Kubernetes-cluster, omdat de Event Grid-extensie momenteel is gedefinieerd als een extensie met clusterbereik. Er is nog geen ondersteuning voor implementaties met naamruimtebereik voor Event Grid waardoor meerdere exemplaren kunnen worden geïmplementeerd in een cluster. Zie Extensie-exemplaar maken en zoek naar voor meer informatie over extensiebereiken. scope

Vereisten

Voordat u doorgaat met de installatie van Event Grid, moet u ervoor zorgen dat aan de volgende vereisten wordt voldaan.

  1. Een cluster dat wordt uitgevoerd op een van de ondersteunde Kubernetes-distributies.
  2. Een Azure-abonnement.
  3. PKI-certificaten die moeten worden gebruikt voor het tot stand brengen van een HTTPS-verbinding met de Event Grid broker.
  4. Verbinding maken cluster naar Azure Arc.

Ondersteuning

Als u een probleem hebt, zie dan de sectie Probleemoplossing voor hulp bij algemene voorwaarden. Als u nog steeds problemen hebt, maakt u een ondersteuning voor Azure aanvraag.

PKI-certificaatvereisten

De Event Grid broker (server) dient twee soorten clients. Serververificatie wordt uitgevoerd met behulp van certificaten. Clientverificatie wordt uitgevoerd met behulp van certificaten of SAS-sleutels op basis van het clienttype.

  • Event Grid-operators die controlevlakaanvragen naar de Event Grid broker maken, worden geverifieerd met behulp van certificaten.
  • Event Grid uitgevers die gebeurtenissen voor een Event Grid-onderwerp uitgevers, worden geverifieerd met de SAS-sleutels van het onderwerp.

Voor het tot stand brengen van een beveiligde HTTPS-communicatie met de Event Grid broker en Event Grid-operator gebruiken we PKI-certificaten tijdens de installatie van Event Grid extensie. Dit zijn de algemene vereisten voor deze PKI-certificaten:

  1. De certificaten en sleutels moeten X.509-certificaten en PEM-gecodeerde E-mail met privacyverklaring zijn.

  2. Als u het Event Grid brokercertificaat (server) wilt configureren tijdens de installatie, moet u het volgende bieden:

    1. Een CA-certificaat
    2. Een openbaar certificaat
    3. Een persoonlijke sleutel
  3. Als u het Event Grid operatorcertificaat (client) wilt configureren, moet u het volgende bieden:

    1. Een CA-certificaat
    2. Een openbaar certificaat
    3. Een persoonlijke sleutel

    Publicatie-clients kunnen het ca Event Grid certificaat van de broker gebruiken om de server te valideren bij het publiceren van gebeurtenissen naar een onderwerp.

    Belangrijk

    Hoewel een domein dat is gekoppeld aan de client mogelijk meer dan één openbaar certificaat heeft dat is uitgegeven door verschillende certificeringsinstanties, staat Event Grid op Kubernetes alleen het uploaden van één CA-certificaat voor clients toe bij het installeren van Event Grid. Als gevolg hiervan moeten de certificaten voor de Event Grid-operator worden uitgegeven (ondertekend) door dezelfde CERTIFICERINGsinstantie om de validatie van de certificaatketen te laten slagen en een TLS-sessie tot stand te brengen.

  4. Wanneer u de algemene naam (CN) voor server- en clientcertificaten configureert, moet u ervoor zorgen dat deze verschillen van de ALGEMENE naam die is opgegeven voor het certificaat van de certificeringsinstantie.

    Belangrijk

    Voor vroege proof-of-concept-fasen kunnen zelf-ondertekende certificaten een optie zijn, maar over het algemeen moeten de juiste PKI-certificaten die zijn ondertekend door een certificeringsinstantie (CA) worden aangeschaft en gebruikt.

Installeren met Azure Portal

  1. Zoek (Azure Portal veld bovenaan) op de Azure Arc

  2. Selecteer Kuberntes-cluster in het menu aan de linkerkant in de sectie Infrastructuur

  3. Zoek in de lijst met clusters de cluster waarvoor u de Event Grid wilt installeren en selecteer deze. De pagina Overzicht voor het cluster wordt weergegeven.

    Uw Kubernetes-cluster selecteren

  4. Selecteer Extensies in de Instellingen in het menu links.

  5. Selecteer + Toevoegen. Er wordt een pagina met de Azure Arc Kubernetes-extensies weergegeven.

    Clusterextensies - knop Toevoegen

  6. Selecteer op de pagina Nieuwe resource de optie Event Grid Kubernetes-extensie.

    Selecteer Event Grid Kubernetes-extensie

  7. Selecteer op Event Grid pagina Kubernetes-extensie de optie Maken.

    Selecteer Kubernetes-extensie maken

  8. Volg deze stappen op het tabblad Event Grid installeren.

    1. De sectie Project Details bevat alleen-lezen abonnements- en resourcegroepwaarden, omdat Azure Arc-extensies worden geïmplementeerd onder hetzelfde Azure-abonnement en dezelfde resourcegroep van het verbonden cluster waarop ze zijn geïnstalleerd.

    2. Geef een naam op in Event Grid naam van de extensie. Deze naam moet uniek zijn naast andere Azure Arc-extensies die zijn geïmplementeerd op hetzelfde Azure Arc verbonden cluster.

    3. Voor releasenaamruimte kunt u de naam van een Kubernetes-naamruimte geven waarin Event Grid worden geïmplementeerd. U wilt bijvoorbeeld één naamruimte voor alle Azure Arc services die zijn geïmplementeerd in uw cluster. De standaardwaarde is eventgrid-system. Als de opgegeven naamruimte niet bestaat, wordt deze voor u gemaakt.

    4. In de Event Grid brokerdetails wordt het servicetype weergegeven. De Event Grid broker, het onderdeel waarmee de onderwerp-eindpunten worden getoond waar gebeurtenissen naar worden verzonden, wordt blootgesteld als een ClusterIP van het Kubernetes-servicetype . Daarom gebruiken de IP-adressen die zijn toegewezen aan alle onderwerpen de privé-IP-ruimte die is geconfigureerd voor het cluster.

    5. Geef de naam van de opslagklasse op die u wilt gebruiken voor de broker en die wordt ondersteund door uw Kubernetes-distributie. Als u bijvoorbeeld AKS gebruikt, kunt u azurefile gebruiken, dat gebruikmaakt van Azure Standard-opslag. Zie Klassen in AKS voor meer informatie over vooraf gedefinieerde opslagklassen die worden ondersteund door AKS Storage klassen in AKS. Als u andere Kubernetes-distributies gebruikt, bekijkt u uw Kubernetes-distributiedocumentatie voor vooraf gedefinieerde ondersteunde opslagklassen of de manier waarop u uw eigen opslagklassen kunt leveren.

    6. Storage grootte. De standaardwaarde is 1 GiB. Houd rekening met de opnamesnelheid bij het bepalen van de grootte van uw opslag. Opnamesnelheid in MiB/seconde gemeten als de grootte van uw gebeurtenissen maal de publicatiesnelheid (gebeurtenissen per seconde) voor alle onderwerpen op de Event Grid-broker is een belangrijke factor bij het toewijzen van opslag. Gebeurtenissen zijn tijdelijk van aard en wanneer ze zijn geleverd, is er geen opslagverbruik voor deze gebeurtenissen. Hoewel opnamesnelheid een belangrijk stuurprogramma is voor opslaggebruik, is dit niet het enige. De configuratie van metagegevens met een onderwerp- en gebeurtenisabonnement verbruikt ook opslagruimte, maar normaal gesproken is er minder opslagruimte nodig dan de gebeurtenissen die zijn opgenomen en geleverd door Event Grid.

    7. Geheugenlimiet. De standaardwaarde is 1 GiB.

    8. Geheugenaanvraag. De standaardwaarde is 200 MiB. Dit veld kan niet worden bewerkt.

      De Event Grid installeren - pagina Basisinformatie

    9. Selecteer Volgende: Configuratie onder aan de pagina.

  9. Op het tabblad Configuratie van de pagina Event Grid installeren, gaat u als volgt te werk:

    1. Schakel HTTP-communicatie (niet veilig) in. Vink dit selectievakje aan als u een niet-beveiligd kanaal wilt gebruiken wanneer clients communiceren met de Event Grid broker.

      Belangrijk

      Als u deze optie inschakelen, wordt alle communicatie met de Event Grid broker gebruikt als transport. Daarom communiceren elke publicatieclient en Event Grid niet veilig met de Event Grid broker. Gebruik deze optie alleen tijdens de eerste fasen van de ontwikkeling.

    2. Als u HTTP-communicatie niet hebt ingeschakeld, selecteert u elk van de PKI-certificaatbestanden die u hebt aangeschaft en voldoet u aan de PKI-certificaatvereisten.

      De Event Grid installeren - Configuratiepagina

    3. Selecteer volgende: bewaking onder aan de pagina.

  10. Ga als volgt te werk op het tabblad Event Grid installeren:

    1. Selecteer Metrische gegevens inschakelen (optioneel). Als u deze optie selecteert, Event Grid op Kubernetes metrische gegevens beschikbaar voor onderwerpen en gebeurtenisabonnementen met behulp van de indeling Prometheus.

      De Event Grid installeren - pagina Bewaking

    2. Selecteer Volgende: Tags om naar de pagina Tags te navigeren.

  11. Ga als volgt te werk op de pagina Tags:

    1. Definieer tags, indien nodig.

      De Event Grid installeren - Pagina Tags

    2. Selecteer Controleren en maken onderaan de pagina.

  12. Selecteer op het tabblad Beoordelen en maken de optie Maken.

    De Event Grid installeren - pagina Controleren en maken

    Belangrijk

    De installatie van Event Grid is een asynchrone bewerking die langer kan worden uitgevoerd op het Kubernetes-cluster dan wanneer u een melding in Azure Portal ziet met de melding dat de implementatie is voltooid. Wacht ten minste 5 minuten nadat u de melding 'Uw implementatie is voltooid' ziet voordat u probeert een aangepaste locatie te maken (volgende stap). Als u toegang hebt tot het Kubernetes-cluster, kunt u in een bash-sessie de volgende opdracht uitvoeren om te controleren of de pods van de Event Grid-broker en Event Grid-operator de status Actief hebben, wat aangeeft dat de installatie is voltooid:

    kubectl get pods -n \<release-namespace-name\>
    

    Dit is de voorbeelduitvoer:

    NAME                                  READY   STATUS    RESTARTS   AGE
    eventgrid-broker-568f75976-wxkd2      1/1     Running   0          2m28s
    eventgrid-operator-6c4c6c675d-ttjv5   1/1     Running   0          2m28s    
    

    Belangrijk

    Er moet een aangepaste locatie worden gemaakt voordat u de volgende onderwerpen Event Grid implementeren. Als u een aangepaste locatie wilt maken, selecteert u de contextpagina onderaan 5 minuten nadat de melding 'Uw implementatie is voltooid' wordt weergegeven. U kunt ook een aangepaste locatie maken met behulp van de Azure Portal. Zie de documentatie over aangepaste locatie voor meer informatie.

  13. Nadat de implementatie is geslaagd, ziet u een vermelding op de pagina Extensies met de naam die u hebt opgegeven voor Event Grid extensie. Als u In behandeling ziet voor de installatiestatus, wacht u enkele minuten en selecteert u vervolgens Vernieuwen op de werkbalk.

    Event Grid-extensie - geïnstalleerd

Installeren met behulp van Azure CLI

  1. Start een shell-sessie. U kunt een sessie starten op uw computer of u kunt een browser openen voor https://shell.azure.com .

  2. Maak het configuratiebestand protected-settings-extension.json . Dit bestand wordt doorgegeven als een parameter bij het maken van de Event Grid extensie.

    Vervang in de volgende opdracht en in elk van de configuratieregels door de naam die het openbare certificaat, het CA-certificaat of de sleutel voor de filename operator (client) of broker (server) bevat. Alle opgegeven certificaten moeten base64-gecodeerd zijn zonder regelte wrap. Vandaar het gebruik van de base64 --wrap=0 opdracht .

    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.json 
    

    Als het openbare certificaat voor de broker (eerste configuratie-item hierboven) bijvoorbeeld wordt aangeroepen, moet de eerste configuratieregel er client.cer als volgt uitzien:

    \"eventgridoperator.identityCert.base64EncodedIdentityCert\":\"$(base64 client.cer --wrap=0)\",    
    
  3. Maak het configuratiebestand settings-extension.json . Dit bestand wordt doorgegeven als een parameter bij het maken van de Event Grid extensie.

    Belangrijk

    U mag de waarden voor en ServiceAccount niet serviceType wijzigen. Tijdens de preview-versie wordt alleen het Kubernetes-servicetype ClusterIP ondersteund.

    Geef storageClassName voor de opslagklasse op die u wilt gebruiken voor de broker en die wordt ondersteund door uw Kubernetes-distributie. Als u bijvoorbeeld AKS gebruikt, kunt u azurefile gebruiken, dat gebruikmaakt van Azure Standard-opslag. Zie Voor meer informatie over vooraf gedefinieerde opslagklassen die worden ondersteund door AKS Storage klassen in AKS. Als u andere Kubernetes-distributies gebruikt, bekijkt u uw Kubernetes-distributiedocumentatie voor vooraf gedefinieerde ondersteunde opslagklassen of de manier waarop u uw eigen opslagklassen kunt leveren.

    Stel reporterType in op om prometheus metrische gegevens in te stellen voor onderwerpen en gebeurtenisabonnementen met behulp van de indeling Prometheus.

    Belangrijk

    Tijdens de preview-versie is het gebruik van een Prometheus-client het enige ondersteunde mechanisme om metrische gegevens op te halen.

    echo "{
        \"Microsoft.CustomLocation.ServiceAccount\":\"eventgrid-operator\",
        \"eventgridbroker.service.serviceType\": \"ClusterIP\",
        \"eventgridbroker.dataStorage.storageClassName\": \"<storage_class_name>\",
        \"eventgridbroker.diagnostics.metrics.reporterType\":\"prometheus\"
    }" > settings-extension.json
    
  4. Maak een Kubernetes-extensie die de Event Grid in uw cluster installeert.

    Voor parameters en moet u dezelfde namen gebruiken als bij het verbinden van uw cluster-name resource-group cluster met Azure Arc.

    release-namespace is de naamruimte waarin Event Grid worden geïmplementeerd. De standaardwaarde is eventgrid-system. Mogelijk wilt u een waarde geven om de standaardwaarde te overschrijven. U wilt bijvoorbeeld één naamruimte voor alle Azure Arc services die zijn geïmplementeerd in uw cluster. Als de opgegeven naamruimte niet bestaat, wordt deze voor u gemaakt.

    Belangrijk

    Tijdens de preview-versie wordt het enige bereik ondersteund bij het maken of cluster bijwerken van Event Grid extensie. Dit betekent dat de service slechts één exemplaar van de Event Grid-extensie op een Kubernetes-cluster ondersteunt. Er is nog geen ondersteuning voor implementaties met een naamruimtebereik. Zie Extensie-exemplaar maken en zoek naar voor meer informatie over extensiebereiken. scope

    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.json    
    
  5. Controleer of de Event Grid-extensie is geïnstalleerd.

    az k8s-extension show  --cluster-type connectedClusters --cluster-name <connected_cluster_name> --resource-group <resource_group_of_connected_cluster> --name <event_grid_extension_name>
    

    De installedState eigenschap moet zijn als de onderdelen Event Grid zijn Installed geïmplementeerd.

Aangepaste locatie

Belangrijk

Er moet een aangepaste locatie worden gemaakt voordat u de volgende onderwerpen Event Grid implementeren. U kunt een aangepaste locatie maken met behulp van Azure Portal.

Problemen oplossen

Azure Arc verbinding maken met cluster

Probleem: wanneer u naar Azure Arc navigeert en op Kubernetes-cluster klikt in het menu aan de linkerkant, wordt op de weergegeven pagina niet het Kubernetes-cluster weergegeven waarin ik de installatie van Event Grid.

Oplossing: Uw Kubernetes-cluster is niet geregistreerd bij Azure. Volg de stappen in het artikel Verbinding maken een bestaand Kubernetes-cluster om te Azure Arc. Als er een probleem is tijdens deze stap, kunt u een ondersteuningsaanvraag indienen bij het kubernetes-team Azure Arc kubernetes-team.

Event Grid-extensieproblemen

Probleem: wanneer u een 'Event Grid-extensie' probeert te installeren, krijgt u het volgende bericht:Ongeldige bewerking: er is al een exemplaar van Event Grid geïnstalleerd op dit verbonden Kubernetes-cluster. De Event Grid-extensie wordt op clusterniveau gebereikt, wat betekent dat er slechts één exemplaar op een cluster kan worden geïnstalleerd.

Uitleg: u hebt al Event Grid geïnstalleerd. De preview-versie van Event Grid ondersteunt slechts één Event Grid extensie-exemplaar dat is geïmplementeerd in een cluster.

Volgende stappen

Maak een aangepaste locatie en volg vervolgens de instructies in de quickstart Cloudgebeurtenissen naar webhooks door te Azure Event Grid op Kubernetes.