Instalace rozšíření Event Grid v clusteru Kubernetes s povoleným ARC Azure

Tento článek vás provede kroky pro instalaci Event Grid do clusteru Kubernetes s podporou ARC Azure .

V případě zkrácení se tento článek týká "Event Grid v rozšíření Kubernetes" jako "Event Grid on Kubernetes" nebo pouze "Event Grid".

Důležité

Event Grid v Kubernetes s Azure Arc je aktuálně ve verzi Public Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb a nedoporučuje se pro úlohy v produkčním prostředí. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Podporované distribuce Kubernetes

Níže jsou uvedené podporované Kubernetes distribuce, na které se dají nasadit a spustit Event Grid.

  1. Azure AKS podporuje distribuce Kubernetes.
  2. Platforma kontejneru RedHat OpenShift.

Rozšíření Event Grid

Operace, která nainstaluje instanci služby Event Grid v clusteru Kubernetes, je vytvoření rozšíření clusteru Azure ARC, které nasadí Event Grid Broker i operátor Event Grid. Další informace o funkci zprostředkovatele a operátoru naleznete v tématu Event Grid v součástech Kubernetes. Funkce rozšíření clusteru Azure ARC poskytuje správu životního cyklu pomocí operací řízení na úrovni ovládacích prvků Azure Resource Manager (ARM), které Event Grid nasazené do clusterů s podporou Azure ARC Kubernetes.

Poznámka

Verze Preview služby podporuje pouze jednu instanci rozšíření Event Grid v clusteru Kubernetes, protože rozšíření Event Grid je aktuálně definováno jako rozšíření s rozsahem clusteru. Pro Event Grid ještě není podporovaná nasazení v oboru oboru názvů, která by umožňovala nasazení více instancí do clusteru. Další informace o oborech rozšíření najdete v tématu vytvoření instance rozšíření a hledání scope .

Požadavky

Než budete pokračovat v instalaci Event Grid, ujistěte se, že jsou splněné následující požadavky.

  1. Cluster se systémem v jednom z podporovaných Kubernetes distribucí.
  2. Předplatné Azure.
  3. Certifikáty PKI , které se mají použít k vytvoření připojení HTTPS s zprostředkovatelem Event Grid.
  4. Připojení svůj cluster do Azure Arc.

Získání podpory

Pokud narazíte na problém, přečtěte si část Poradce při potížích s běžnými podmínkami. Pokud stále máte problémy, vytvořte žádost o podporu Azure.

Požadavky na certifikát PKI

Zprostředkovatel Event Grid (Server) slouží jako dva druhy klientů. Ověřování serveru se provádí pomocí certifikátů. Ověření klienta se provádí pomocí certifikátů nebo klíčů SAS na základě typu klienta.

  • Event Grid operátory, které vytvářejí požadavky na řídicí rovinu služby Event Grid Broker, jsou ověřovány pomocí certifikátů.
  • Event Grid vydavatelů, které Vydavatel události do služby Event Grid, ověřují pomocí klíčů SAS daného tématu.

K navázání zabezpečené komunikace HTTPS s operátorem Event Grid Broker a Event Grid používáme během instalace rozšíření Event Grid certifikáty PKI. Tady jsou obecné požadavky na tyto certifikáty PKI:

  1. Certifikáty a klíče musí být certifikáty X. 509 a jejich soukromí – Enhanced mail PEM Encoded.

  2. Pokud chcete při instalaci nakonfigurovat certifikát služby Event Grid broker (Server), budete muset zadat následující:

    1. Certifikát certifikační autority
    2. Veřejný certifikát
    3. Privátní klíč
  3. Pokud chcete nakonfigurovat certifikát Event Grid operátora (klienta), musíte zadat:

    1. Certifikát certifikační autority
    2. Veřejný certifikát
    3. Privátní klíč

    Publikování klientů může použít certifikát CA služby Event Grid Broker k ověření serveru při publikování událostí do tématu.

    Důležité

    I když doména přidružená k klientovi může mít více než jeden veřejný certifikát vydaný různými certifikačními autoritami, Event Grid v Kubernetes povoluje pouze odeslání jediné certifikační autority pro klienty při instalaci Event Grid. V důsledku toho by se certifikáty pro operátora Event Grid měly vydávat (podepsané) stejnou certifikační autoritou, aby bylo ověření řetězu certifikátů úspěšné a bylo úspěšně navázáno relace protokolu TLS.

  4. Pokud konfigurujete běžný název (CN) pro certifikáty serveru a klienta, ujistěte se, že se liší od KOMBINOVANÉho přihlášeného k certifikátu certifikační autority.

    Důležité

    Pro fáze prvotního ověření konceptu můžou být certifikáty podepsané svým držitelem možnosti, ale obecně by měly být využité a používané.

Instalace pomocí Azure Portal

  1. Na Azure Portal Hledat (pole nahoře) pro ARC Azure

  2. V nabídce na levé straně v části infrastruktura vyberte cluster Kuberntes .

  3. V seznamu clusterů Najděte ten, na který chcete nainstalovat Event Grid a vyberte ho. Zobrazí se stránka s přehledem pro cluster.

    Výběr clusteru Kubernetes

  4. v nabídce vlevo vyberte rozšíření v Nastavení skupině.

  5. Vyberte + Přidat. Zobrazí se stránka zobrazující dostupná rozšíření Kubernetes ARC Azure.

    Rozšíření clusteru – tlačítko Přidat

  6. Na stránce nový prostředek vyberte v Kubernetes rozšíření možnost Event Grid.

    Vybrat Event Grid v rozšíření Kubernetes

  7. Na stránce Event Grid na rozšíření Kubernetes vyberte vytvořit.

    Vyberte vytvořit rozšíření Kubernetes

  8. Karta základy na stránce Event Grid instalace proveďte následující kroky.

    1. v části Project podrobnosti se zobrazuje předplatné a skupiny prostředků jen pro čtení, protože rozšíření azure Arc jsou nasazená v rámci stejného předplatného azure a skupiny prostředků připojeného clusteru, na kterém jsou nainstalované.

    2. Zadejte název do pole název rozšíření Event Grid . Tento název by měl být jedinečný mezi ostatními rozšířeními ARC Azure nasazenými na stejný cluster připojený ke službě Azure ARC.

    3. V případě oboru názvů Release můžete chtít zadat název oboru názvů Kubernetes, do kterého budou Event Grid komponenty nasazeny. Můžete například chtít mít jeden obor názvů pro všechny služby s podporou ARC Azure nasazené do vašeho clusteru. Výchozí hodnota je eventgrid-System. Pokud zadaný obor názvů neexistuje, vytvoří se za vás.

    4. V části Podrobnosti služby Event Grid Broker se zobrazuje typ služby. Služba Event Grid Broker, která je součástí, která zveřejňuje koncové body tématu, na které se odesílají události, se zveřejňuje jako typ služby Kubernetes ClusterIP. IP adresy přiřazené ke všem tématům proto používají privátní IP místo nakonfigurované pro cluster.

    5. Zadejte název třídy úložiště , který chcete použít pro zprostředkovatele a který podporuje distribuce Kubernetes. Pokud například používáte AKS, můžete použít azurefile , který používá službu Azure Storage úrovně Standard. další informace o předdefinovaných třídách úložiště podporovaných v AKS naleznete v tématu třídy Storage v AKS. Pokud používáte další distribuce Kubernetes, přečtěte si dokumentaci k distribuci Kubernetes pro předdefinované třídy úložiště nebo způsob, jakým můžete sami zadat.

    6. velikost Storage. Výchozí hodnota je 1 GiB. Při určování velikosti úložiště Vezměte v úvahu rychlost přijímání. Míra ingestování v MiB/s, měřená jako velikost událostí, časy publikování (události za sekundu) ve všech tématech v rámci služby Event Grid Broker je klíčovým faktorem při přidělování úložiště. Události jsou přechodný a po jejich doručení neexistují žádné spotřeby úložiště pro tyto události. I když je přenosová rychlost hlavní ovladač pro použití úložiště, není to jediné. Metadata obsahující témata a konfigurace předplatného pro události také využívají prostor úložiště, který obvykle vyžaduje menší množství prostoru úložiště než události ingestované a doručí je Event Grid.

    7. Limit paměti. Výchozí hodnota je 1 GiB.

    8. Požadavek na paměť Výchozí hodnota je 200 MiB. Toto pole není editovatelné.

      Stránka pro instalaci základních informací o rozšíření Event Grid

    9. V dolní části stránky vyberte možnost Další: Konfigurace .

  9. Na kartě Konfigurace na stránce Event Grid instalace proveďte následující kroky:

    1. Povolit komunikaci HTTP (není zabezpečená). Zaškrtněte toto políčko, pokud chcete použít nezabezpečený kanál, když klienti komunikují s zprostředkovatelem Event Grid.

      Důležité

      Povolením této možnosti zajistíte, aby veškerá komunikace s zprostředkovatelem Event Grid používala jako přenos HTTP. Každý klient pro publikování a operátor Event Grid proto nebude komunikovat s Event Grid Broker bezpečně. Tuto možnost byste měli použít jenom při počátečních fázích vývoje.

    2. Pokud jste nepovolili komunikaci pomocí protokolu HTTP, vyberte všechny soubory certifikátů PKI, které jste si vyžádali, a vyhovět požadavkům na certifikát PKI.

      Nainstalovat Event Grid rozšíření – konfigurační stránka

    3. V dolní části stránky vyberte Další: monitorování .

  10. Na kartě monitorování na stránce Event Grid instalace proveďte následující kroky:

    1. Vyberte Povolit metriky (volitelné). Pokud vyberete tuto možnost, Event Grid v Kubernetes zpřístupní metriky pro témata a odběry událostí pomocí formátu Prometheus.

      Instalace Event Grid – stránka Monitorování

    2. Vyberte Další: Značky a přejděte na stránku Značky.

  11. Na stránce Značky proveďte následující kroky:

    1. V případě potřeby definujteznačky .

      Instalace Event Grid – stránka Značky

    2. V dolní části stránky vyberte Zkontrolovat a vytvořit.

  12. Na kartě Zkontrolovat a vytvořit vyberte Vytvořit.

    Instalace Event Grid rozšíření – stránka Kontrola a vytvoření

    Důležité

    Instalace Event Grid je asynchronní operace, která může v clusteru Kubernetes běžet déle než v době, kdy se na webu Azure Portal zobrazí oznámení informující o dokončení nasazení. Počkejte alespoň 5 minut po zobrazení oznámení"Vaše nasazení je dokončeno" a pak se pokuste vytvořit vlastní umístění (další krok). Pokud máte přístup ke clusteru Kubernetes, můžete v relaci Bash spustit následující příkaz, který ověří, jestli jsou pody zprostředkovatele Event Grid a operátora Event Grid ve stavu Spuštěno, což by značí, že se instalace dokončila:

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

    Tady je ukázkový výstup:

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

    Důležité

    Vlastní umístění je potřeba vytvořit před pokusem o nasazení Event Grid témat. Pokud chcete vytvořit vlastní umístění, můžete vybrat stránku Kontext v dolní části 5 minut po zobrazení oznámení "Vaše nasazení je dokončeno". Další možností je vytvořit vlastní umístění pomocí Azure Portal . Další informace najdete v dokumentaci k vlastnímu umístění.

  13. Po úspěšném nasazení se na stránce Rozšíření zobrazí položka s názvem, který jste poskytli svému Event Grid rozšíření. Pokud se u stavu instalace zobrazí stav Čeká na vyřízení, počkejte několik minut a pak na panelu nástrojů vyberte Aktualizovat.

    Event Grid rozšíření – nainstalováno

Instalace pomocí Azure CLI

  1. Spusťte relaci prostředí. Na počítači můžete spustit relaci nebo můžete otevřít prohlížeč https://shell.azure.com na .

  2. Vytvořte konfigurační soubor protected-settings-extension.json . Tento soubor se předává jako parametr při vytváření Event Grid souboru.

    V následujícím příkazu a na všech řádcích konfigurace nahraďte odpovídajícím způsobem názvem, který obsahuje veřejný certifikát, certifikát certifikační autority nebo klíč pro filename operátora (klienta) nebo zprostředkovatele (server). Všechny poskytnuté certifikáty by měly být kódované pomocí base64 bez zalamování řádků. Proto se používá base64 --wrap=0 příkaz .

    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 
    

    Pokud se například volá veřejný certifikát pro zprostředkovatele (první položka konfigurace výše), měl by první řádek konfigurace vypadat client.cer takto:

    \"eventgridoperator.identityCert.base64EncodedIdentityCert\":\"$(base64 client.cer --wrap=0)\",    
    
  3. Vytvořte konfigurační soubor settings-extension.json . Tento soubor se předává jako parametr při vytváření Event Grid souboru.

    Důležité

    Je možné, že hodnoty pro a ServiceAccount serviceType nezměníte. Ve verzi Preview je jediným podporovaným typem služby Kubernetes ClusterIP .

    Zadejte třídu úložiště, kterou chcete použít pro zprostředkovatele a kterou podporuje vaše distribuce storageClassName Kubernetes. Pokud například používáte AKS, můžete použít azurefile , který používá úložiště Azure Standard. Další informace o předdefinovaných třídách úložiště podporovaných AKS najdete v tématu Storage třídách v AKS. Pokud používáte jiné distribuce Kubernetes, podívejte se do dokumentace k distribuci Kubernetes, kde najdete podporované předdefinované třídy úložiště nebo způsob, jakým můžete poskytovat své vlastní.

    Nastavte na , pokud chcete povolit metriky pro témata a odběry událostí reporterType prometheus pomocí formátu pro prometheus.

    Důležité

    Ve verzi Preview je jediným podporovaným mechanismem pro získání metrik použití klienta Prometheus.

    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. Vytvořte rozšíření Kubernetes, které nainstaluje Event Grid komponenty do clusteru.

    Pro parametry a musíte použít stejné názvy jako při připojení clusteru k Azure Arc cluster-name resource-group .

    release-namespace je obor názvů, do Event Grid budou nasazeny všechny komponenty. Výchozí hodnota je eventgrid-system. Můžete chtít zadat hodnotu, která přepíše výchozí hodnotu. Můžete například chtít mít jeden obor názvů pro všechny služby s podporou Azure Arc nasazené do clusteru. Pokud poskytnutý obor názvů neexistuje, vytvoří se pro vás.

    Důležité

    Během období Preview je jediným oborem podporovaným při vytváření nebo aktualizaci Event Grid cluster rozšíření. To znamená, že služba podporuje pouze jednu instanci rozšíření Event Grid v clusteru Kubernetes. Pro nasazení s oborem názvů zatím není k dispozici žádná podpora. Další informace o oborech rozšíření najdete v tématu Vytvoření instance rozšíření a vyhledání 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. Ověřte, že se rozšíření Event Gridu úspěšně nainstalovalo.

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

    Vlastnost installedState by měla být , pokud Event Grid úspěšně Installed nasazené součásti rozšíření.

Vlastní umístění

Důležité

Vlastní umístění je potřeba vytvořit před pokusem o nasazení Event Grid témat. Vlastní umístění můžete vytvořit pomocí Azure Portal .

Řešení potíží

Azure Arc problémů s připojením clusteru

Problém: Při přechodu do Azure Arc a kliknutí na cluster Kubernetes v nabídce na levé straně se na zobrazené stránce nezobrazí cluster Kubernetes, ve kterém chci nainstalovat Event Grid.

Řešení: Váš cluster Kubernetes není zaregistrovaný v Azure. Postupujte podle kroků v článku Připojení existujícího clusteru Kubernetes a Azure Arc. Pokud během tohoto kroku máte problém, požádejte tým Kubernetes o Azure Arc podporu.

Event Grid s rozšířením

Problém: Při pokusu o instalaci rozšíření Event Grid se zobrazí následující zpráva:Neplatná operace – V tomto připojeném clusteru Kubernetes už je nainstalovaná instance služby Event Grid. Obor Event Grid je vymezený na úrovni clusteru, což znamená, že v clusteru je možné nainstalovat pouze jednu instanci.

Vysvětlení: Už máte Event Grid nainstalovanou. Verze Preview nástroje Event Grid podporuje pouze jednu instanci Event Grid nasazenou do clusteru.

Další kroky

Vytvořte vlastní umístění a pak postupujte podle pokynů v rychlém startu Směrování cloudových událostí do webhooků pomocí Azure Event Grid v Kubernetes.