Instalace rozšíření Event Gridu do clusteru Kubernetes s podporou Azure Arc
Tento článek vás provede postupem instalace služby Event Grid v clusteru Kubernetes s podporou Azure Arc .
Pro stručnost tento článek odkazuje na Event Grid v rozšíření Kubernetes jako "Event Grid v Kubernetes" nebo jen "Event Grid".
Důležité
Event Grid v Kubernetes s Azure Arc je v současné době 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é distribuce Kubernetes, do kterých je možné službu Event Grid nasadit a spustit.
- Azure AKS podporuje distribuce Kubernetes.
- RedHat OpenShift Container Platform.
Rozšíření Event Gridu
Operace, která nainstaluje instanci služby Event Grid do clusteru Kubernetes, je vytvoření rozšíření clusteru Azure Arc, které nasadí zprostředkovatele Event Gridu i operátora Event Gridu. Další informace o funkci zprostředkovatele a operátora najdete v tématu Event Grid v komponentách Kubernetes. Funkce rozšíření clusteru Azure Arc poskytuje správu životního cyklu pomocí operací řídicí roviny Azure Resource Manager (ARM) do služby Event Grid nasazené do clusterů Kubernetes s podporou Azure Arc.
Poznámka
Verze Preview služby podporuje pouze jednu instanci rozšíření Event Grid v clusteru Kubernetes, protože rozšíření Event Gridu je aktuálně definované jako rozšíření s oborem clusteru. Nasazení služby Event Grid s oborem názvů zatím není podporováno, což by umožnilo nasazení více instancí do clusteru. Další informace najdete v tématu Obor rozšíření.
Požadavky
Než budete pokračovat v instalaci služby Event Grid, ujistěte se, že jsou splněné následující požadavky.
- Cluster spuštěný v jedné z podporovaných distribucí Kubernetes.
- Předplatné Azure.
- Certifikáty PKI , které se mají použít k navázání připojení HTTPS se zprostředkovatelem Event Gridu.
- Připojte cluster ke službě Azure Arc.
Získání podpory
Pokud narazíte na problém, najdete nápovědu k běžným podmínkám v části Řešení potíží . Pokud problémy přetrvávají, vytvořte žádost o podpora Azure.
Požadavky na certifikát PKI
Zprostředkovatel Event Gridu (server) obsluhuje dva druhy klientů. Ověřování serveru se provádí pomocí certifikátů. Ověřování klienta se provádí pomocí certifikátů nebo klíčů SAS na základě typu klienta.
- Operátory Event Gridu, které odkládají požadavky roviny řízení na zprostředkovatele Event Gridu, se ověřují pomocí certifikátů.
- Vydavatelé Event Gridu, kteří dají události do tématu Event Gridu, se ověřují pomocí klíčů SAS tématu.
K navázání zabezpečené komunikace HTTPS se zprostředkovatelem Event Gridu a operátorem Event Gridu používáme při instalaci rozšíření Event Grid certifikáty PKI. Tady jsou obecné požadavky na tyto certifikáty PKI:
Certifikáty a klíče musí být certifikáty X.509 a zakódované PEM pošty s rozšířenými zásadami ochrany osobních údajů .
Pokud chcete během instalace nakonfigurovat certifikát zprostředkovatele (serveru) Event Gridu, budete muset zadat:
- Certifikát certifikační autority
- Veřejný certifikát
- Privátní klíč
Pokud chcete nakonfigurovat certifikát operátora Event Gridu (klienta), budete muset zadat:
- Certifikát certifikační autority
- Veřejný certifikát
- Privátní klíč
Klienti publikování můžou k ověření serveru při publikování událostí do tématu použít certifikát certifikační autority zprostředkovatele Event Gridu.
Důležité
I když doména přidružená ke klientovi může mít více než jeden veřejný certifikát vystavený různými certifikačními autoritami, Event Grid v Kubernetes umožňuje při instalaci služby Event Grid nahrávat jenom jeden certifikát certifikační autority pro klienty. V důsledku toho by certifikáty pro operátor Event Gridu měly být vystaveny (podepsány) stejnou certifikační autoritou, aby bylo úspěšné ověření řetězu certifikátů a úspěšně navázána relace PROTOKOLU TLS.
Při konfiguraci běžného názvu (CN) pro serverové a klientské certifikáty se ujistěte, že se liší od cn zadaného pro certifikát certifikační autority.
Důležité
V rané fázi testování konceptu můžou být možné použít certifikáty podepsané svým držitelem, ale obecně platí, že by se měly opatřit a používat správné certifikáty PKI podepsané certifikační autoritou.
Instalace pomocí Azure Portal
Na Azure Portal vyhledejte (pole nahoře) pro Azure Arc.
V nabídce vlevo v části Infrastruktura vyberte Cluster Kubernetes.
V seznamu clusterů vyhledejte ten, do kterého chcete event grid nainstalovat, a vyberte ho. Zobrazí se stránka Přehled clusteru.
Ve skupině Nastavení v nabídce vlevo vyberte Rozšíření.
Vyberte + Přidat. Zobrazí se stránka zobrazující dostupná rozšíření Azure Arc Kubernetes.
Na stránce Nový prostředek vyberte Event Grid v rozšíření Kubernetes.
Na stránce Event Grid v rozšíření Kubernetes vyberte Vytvořit.
Na kartě Základy na stránce Instalace služby Event Grid postupujte podle těchto kroků.
V části Project Details se zobrazují hodnoty předplatného a skupiny prostředků jen pro čtení, protože rozšíření Azure Arc jsou nasazená ve stejném předplatném Azure a skupině prostředků připojeného clusteru, na kterém jsou nainstalovaná.
Zadejte název do pole Název rozšíření Event Gridu . Tento název by měl být jedinečný mezi dalšími rozšířeními Azure Arc nasazenými ve stejném clusteru připojeném k Azure Arc.
Jako Obor názvů vydané verze můžete zadat název oboru názvů Kubernetes, do kterého se nasadí komponenty Event Gridu. Můžete například chtít mít jeden obor názvů pro všechny služby s podporou Azure Arc nasazené do clusteru. Výchozí hodnota je eventgrid-system. Pokud zadaný obor názvů neexistuje, vytvoří se pro vás.
V části Podrobnosti o zprostředkovateli Event Gridu se zobrazí typ služby. Zprostředkovatel Event Gridu, což je komponenta, která zveřejňuje koncové body tématu, do kterých se události odesílají, je vystavený jako clusterIP typu služby Kubernetes. Proto IP adresy přiřazené ke všem tématům používají prostor privátních IP adres nakonfigurovaný pro cluster.
Zadejte název třídy úložiště , který chcete použít pro zprostředkovatele a který podporuje vaše distribuce 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 službou AKS najdete v tématu Třídy úložiště v AKS. Pokud používáte jiné distribuce Kubernetes, projděte si dokumentaci k distribuci Kubernetes, kde najdete podporované předdefinované třídy úložiště nebo způsob, jak můžete poskytnout vlastní.Velikost úložiště. Výchozí hodnota je 1 GiB. Při určování velikosti úložiště zvažte rychlost příjmu dat. Rychlost příjmu dat v MiB za sekundu měřená jako velikost událostí krát rychlost publikování (události za sekundu) napříč všemi tématy na zprostředkovateli Event Gridu je klíčovým faktorem při přidělování úložiště. Události jsou přechodné povahy a jakmile se doručí, nebudou pro tyto události spotřebovány žádné úložiště. I když je rychlost příjmu dat hlavním faktorem pro použití úložiště, není jediným faktorem. Konfigurace tématu metadat a odběru událostí také spotřebovává prostor úložiště, ale to obvykle vyžaduje menší prostor úložiště než události ingestované a doručované službou Event Grid.
Limit paměti. Výchozí hodnota je 1 GiB.
Požadavek na paměť. Výchozí hodnota je 200 MiB. Toto pole není možné upravovat.
V dolní části stránky vyberte Další: Konfigurace .
Na kartě Konfigurace na stránce Instalace služby Event Grid proveďte následující kroky:
Povolte komunikaci HTTP (ne zabezpečenou). Toto políčko zaškrtněte, pokud chcete používat nezabezpečený kanál, když klienti komunikují se zprostředkovatelem Služby Event Grid.
Důležité
Když tuto možnost povolíte, bude komunikace se zprostředkovatelem Event Gridu používat jako přenos protokol HTTP. Proto klient publikování a operátor Event Gridu nebudou se zprostředkovatelem Event Gridu bezpečně komunikovat. Tuto možnost byste měli používat pouze v raných fázích vývoje.
Pokud jste nepovolili komunikaci HTTP, vyberte všechny soubory certifikátů PKI, které jste si pořídit, a splňovat požadavky na certifikát PKI.
V dolní části stránky vyberte Další: Monitorování .
Na kartě Monitorování na stránce Instalace služby Event Grid proveďte následující kroky:
Vyberte Povolit metriky (volitelné). Pokud vyberete tuto možnost, Event Grid v Kubernetes zveřejňuje metriky pro témata a odběry událostí pomocí formátu expozice Prometheus.
Vyberte Další: Značky a přejděte na stránku Značky .
Na stránce Značky proveďte následující kroky:
V případě potřeby definujte značky.
V dolní části stránky vyberte Zkontrolovat a vytvořit .
Na kartě Zkontrolovat a vytvořit vyberte Vytvořit.
Důležité
Instalace Event Gridu je asynchronní operace, která může v clusteru Kubernetes běžet déle, než je čas, kdy se na webu Azure Portal zobrazí oznámení informující o dokončení nasazení. Než se pokusíte vytvořit vlastní umístění (další krok), počkejte aspoň 5 minut po zobrazení oznámení o dokončení nasazení. Pokud máte přístup ke clusteru Kubernetes, můžete v relaci Bash spuštěním následujícího příkazu ověřit, jestli jsou pody zprostředkovatele Event Gridu a operátora Event Gridu ve spuštěném stavu, což značí dokončení instalace:
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é
Před nasazením témat Služby Event Grid je potřeba vytvořit vlastní umístění. 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". Případně můžete vytvořit vlastní umístění pomocí Azure Portal. Další informace najdete v dokumentaci k vlastnímu umístění.
Po úspěšném nasazení se na stránce Rozšíření zobrazí položka s názvem, který jste zadali rozšíření Event Gridu. Pokud se zobrazí stavInstalace čeká na vyřízení, počkejte několik minut a pak na panelu nástrojů vyberte Aktualizovat .
Instalace pomocí Azure CLI
Spusťte relaci prostředí. Relaci můžete spustit na počítači nebo můžete otevřít prohlížeč na https://shell.azure.com.
Vytvořte konfigurační soubor
protected-settings-extension.json
. Tento soubor se předá jako parametr při vytváření rozšíření Event Gridu.V následujícím příkazu a v každém z řádků konfigurace nahraďte
filename
odpovídajícím způsobem názvem, který obsahuje veřejný certifikát, certifikát certifikační autority nebo klíč operátora (klienta) nebo zprostředkovatele (server). Všechny poskytnuté certifikáty by měly být zakódované pomocí base64 bez zalamování řádků. Proto použitíbase64 --wrap=0
příkazu.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 veřejný certifikát pro zprostředkovatele (první položka konfigurace výše) nazývá
client.cer
, měl by první řádek konfigurace vypadat jako následující:\"eventgridoperator.identityCert.base64EncodedIdentityCert\":\"$(base64 client.cer --wrap=0)\",
Vytvořte konfigurační soubor
settings-extension.json
. Tento soubor se předá jako parametr při vytváření rozšíření Event Gridu.Důležité
Nelze změnit hodnoty pro
ServiceAccount
aserviceType
. Ve verzi Preview jeClusterIP
jediným podporovaným typem služby Kubernetes .Zadejte
storageClassName
třídu úložiště, kterou chcete použít pro zprostředkovatele a kterou podporuje vaše distribuce Kubernetes. Pokud například používáte AKS, můžete použítazurefile
, který používá úložiště Azure Standard. Další informace o předdefinovaných třídách úložiště podporovaných službou AKS najdete v tématu Třídy úložiště v AKS. Pokud používáte jiné distribuce Kubernetes, projděte si dokumentaci k distribuci Kubernetes, kde najdete podporované předdefinované třídy úložiště nebo způsob, jak můžete poskytnout vlastní.Nastavte
reporterType
na,prometheus
pokud chcete povolit metriky pro témata a odběry událostí pomocí formátu expozice 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
Vytvořte rozšíření Kubernetes, které do clusteru nainstaluje komponenty Event Gridu.
Pro parametry
cluster-name
aresource-group
musíte použít stejné názvy, které jste zadali při připojení clusteru ke službě Azure Arc.release-namespace
je obor názvů, do kterého se nasadí komponenty Event Gridu. Výchozí hodnota je eventgrid-system. Můžete 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 zadaný obor názvů neexistuje, vytvoří se pro vás.Důležité
Ve verzi
cluster
Preview je jediným podporovaným oborem při vytváření nebo aktualizaci rozšíření Event Gridu. To znamená, že služba podporuje pouze jednu instanci rozšíření Event Grid v clusteru Kubernetes. Pro nasazení v oboru názvů zatím není žádná podpora. Další informace najdete v tématu Obor rozšíření.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
Další informace o příkazu rozhraní příkazového řádku najdete v tématu az k8s-extension create. Všimněte si, že pomocí parametru
--config-file
můžete předat název souboru JSON, který obsahuje informace o konfiguraci související s Event Gridem. Pokud chcete podporovat protokol HTTP, zahrňte následující nastavení."eventgridbroker.service.supportedProtocols[0]": "http"
Tady je ukázkový soubor settings-extension.json s výše uvedeným nastavením.
{ "Microsoft.CustomLocation.ServiceAccount": "eventgrid-operator", "eventgridbroker.service.serviceType": "ClusterIP", "eventgridbroker.service.supportedProtocols[0]": "http", "eventgridbroker.dataStorage.storageClassName": "default", "eventgridbroker.diagnostics.metrics.reporterType": "prometheus" }
Ověřte, že se rozšíření Event Grid ú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ýtInstalled
, pokud se komponenty rozšíření Event Grid úspěšně nasadily.
Vlastní umístění
Důležité
Před nasazením témat Služby Event Grid je potřeba vytvořit vlastní umístění. Vlastní umístění můžete vytvořit pomocí Azure Portal.
Řešení potíží
Problémy s clusterem Azure Arc Connect
Problém: Když přejdete na Azure Arc a v nabídce vlevo vyberete cluster Kubernetes , na zobrazené stránce se nezobrazí cluster Kubernetes, do kterého mám v úmyslu 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 ke službě Azure Arc. Pokud máte během tohoto kroku problém, vytvořte žádost o podporu u týmu Kubernetes s podporou Azure Arc.
Problémy s rozšířením Event Gridu
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. Rozšíření Event Gridu má obor na úrovni clusteru, což znamená, že do clusteru lze nainstalovat jenom jednu instanci."
Vysvětlení: Službu Event Grid už máte nainstalovanou. Verze Preview služby Event Grid podporuje pouze jednu instanci rozšíření Event Grid nasazenou do clusteru.
Další kroky
Vytvořte vlastní umístění a postupujte podle pokynů v rychlém startu Směrování cloudových událostí do webhooků pomocí Azure Event Grid v Kubernetes.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro