Instalace rozšíření Event Gridu v clusteru Kubernetes s podporou Služby Azure Arc
Tento článek vás provede postupem instalace Event Gridu v clusteru Kubernetes s podporou Azure Arc.
Pro stručnost se tento článek týká rozšíření Event Grid v Kubernetes jako Event Grid v Kubernetes nebo jen Event Gridu v Kubernetes.
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ásledují podporované distribuce Kubernetes, do kterých je možné službu Event Grid nasadit a spustit.
- Podporované distribuce Kubernetes v Azure AKS
- 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 Manageru (ARM) do Event Gridu nasazeného do clusterů Kubernetes s podporou Azure Arc.
Poznámka:
Verze Preview služby podporuje pouze jednu instanci rozšíření Event Gridu v clusteru Kubernetes, protože rozšíření Event Gridu je aktuálně definováno jako rozšíření s oborem clusteru. Pro Event Grid zatím neexistuje žádná podpora nasazení s oborem názvů, která by umožňovala nasazení více instancí do clusteru. Další informace naleznete v tématu Obor rozšíření.
Požadavky
Než budete pokračovat v instalaci event Gridu, 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 vytvoření připojení HTTPS ke zprostředkovatele Event Gridu.
- Připojte cluster ke službě Azure Arc.
Získání podpory
Pokud narazíte na problém, nápovědu k běžným podmínkám najdete v části Řešení potíží . Pokud máte stále problémy, vytvořte žádost o podpora Azure.
Požadavky na certifikát PKI
Zprostředkovatel Event Gridu (server) slouží dvěma druhy klientů. Ověřování serveru se provádí pomocí certifikátů. Ověřování klientů se provádí pomocí certifikátů nebo klíčů SAS na základě typu klienta.
- Operátory Event Gridu, které provádějí požadavky roviny řízení na zprostředkovatele Event Gridu, se ověřují pomocí certifikátů.
- Vydavatelé Event Gridu, kteří události vydavatele do tématu Event Gridu ověřují pomocí klíčů SAS tématu.
K vytvoření zabezpečené komunikace HTTPS s zprostředkovatelem Event Gridu a operátorem Event Gridu používáme certifikáty PKI během instalace rozšíření Event Grid. Tady jsou obecné požadavky na tyto certifikáty PKI:
Certifikáty a klíče musí být certifikáty X.509 a kódované PEM pro ochranu osobních údajů .
Pokud chcete nakonfigurovat certifikát zprostředkovatele Event Gridu (serveru) během instalace, 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), musíte zadat:
- Certifikát certifikační autority
- Veřejný certifikát
- Privátní klíč
Klienti publikování můžou certifikát certifikační autority zprostředkovatele Event Gridu použít k ověření serveru při publikování událostí do tématu.
Důležité
Zatímco 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, Služba Event Grid v Kubernetes umožňuje při instalaci služby Event Grid nahrávat pouze jeden certifikát certifikační autority pro klienty. V důsledku toho by měly být certifikáty pro operátor služby Event Grid vydány (podepsané) stejnou certifikační autoritou, aby bylo ověření řetězu certifikátů úspěšné 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 případě počátečních fází testování konceptu můžou být certifikáty podepsané svým držitelem možnost, ale obecně by se měly používat správné certifikáty PKI podepsané certifikační autoritou (CA).
Instalace pomocí webu Azure Portal
Na webu Azure Portal vyhledejte (pole nahoře) pro Azure Arc.
V levé nabídce v části Infrastruktura vyberte cluster Kubernetes.
V seznamu clusterů vyhledejte ten, do kterého chcete službu Event Grid nainstalovat, a vyberte ji. Zobrazí se stránka Přehled clusteru.
V nabídce vlevo vyberte Rozšíření ve skupině Nastavení .
Vyberte + Přidat. Zobrazí se stránka s dostupnými rozšířeními Kubernetes Služby Azure Arc.
Na stránce Nový prostředek vyberte Event Grid v rozšíření Kubernetes.
Na stránce Event Gridu na rozšíření Kubernetes vyberte Vytvořit.
Na kartě Základy na stránce Install Event Grid (Instalace event gridu) postupujte takto.
V části Podrobnosti projektu 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é.
Do pole pro název rozšíření Event Gridu zadejte název . Tento název by měl být jedinečný mezi dalšími rozšířeními Azure Arc nasazenými do stejného clusteru připojeného ke službě Azure Arc.
V případě oboru názvů vydaných verzí můžete chtít 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 za 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, pro které se události odesílají, je vystavena jako ClusterIP typu služby Kubernetes. IP adresy přiřazené ke všem tématům proto používají privátní prostor 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
ú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, prohlédněte si dokumentaci k distribuci Kubernetes pro předdefinované třídy úložiště nebo způsob, jakým můžete zadat 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. Míra příjmu dat v MiB/sekundu měřená jako velikost událostí krát míru publikování (události za sekundu) ve všech tématech na zprostředkovateli Event Gridu je klíčovým faktorem při přidělování úložiště. Události jsou v přírodě přechodné a jakmile se doručí, pro tyto události není k dispozici žádná spotřeba úložiště. I když je rychlost příjmu dat hlavním ovladačem pro použití úložiště, není to jediný. Metadata, která uchovávají konfiguraci tématu a odběru událostí, také spotřebovávají prostor úložiště, ale obvykle vyžaduje nižší velikost úložného prostoru 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.
Vyberte Další: Konfigurace v dolní části stránky.
Na kartě Konfigurace na stránce Instalace Event Gridu proveďte následující kroky:
Povolte komunikaci HTTP (není zabezpečená). Toto políčko zaškrtněte, pokud chcete použít nezabezpečený kanál, když klienti komunikují s zprostředkovatelem Event Gridu.
Důležité
Když tuto možnost povolíte, bude komunikace s zprostředkovatelem Event Gridu používat protokol HTTP jako přenos. Proto žádný klient publikování a operátor Event Gridu nebudou bezpečně komunikovat s zprostředkovatelem Event Gridu. Tuto možnost byste měli použít pouze v počátečních fázích vývoje.
Pokud jste nepovolili komunikaci HTTP, vyberte všechny soubory certifikátu PKI, které jste si pořili, a splňovat požadavky na certifikát PKI.
Vyberte další : Monitorování v dolní části stránky.
Na kartě Monitorování na stránce Instalace event Gridu 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.
Vyberte Zkontrolovat a vytvořit v dolní části stránky.
Na kartě Revize a vytvoření vyberte Vytvořit.
Důležité
Instalace služby Event Grid je asynchronní operace, která může běžet déle v clusteru Kubernetes než čas, kdy se na webu Azure Portal zobrazí oznámení o dokončení nasazení. Než se pokusíte vytvořit vlastní umístění (další krok), počkejte aspoň 5 minut, až se zobrazí oznámení o dokončení nasazení. Pokud máte přístup ke clusteru Kubernetes, můžete v relaci Bash spustit následující příkaz, který ověří, jestli jsou pody operátoru Event Gridu a operátoru Event Gridu ve spuštěném stavu, což by značilo, ž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é
Před pokusem o nasazení témat Event Gridu je potřeba vytvořit vlastní umístění. Pokud chcete vytvořit vlastní umístění, můžete vybrat stránku Kontextu 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í webu Azure Portal. Další informace najdete v dokumentaci k vlastnímu umístění.
Po úspěšném nasazení uvidíte na stránce Rozšíření položku s názvem, který jste zadali do rozšíření Event Grid. Pokud se zobrazí stav Čeká na instalaci, 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č pro 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 Grid.V následujícím příkazu a v každém řádku konfigurace nahraďte
filename
odpovídajícím způsobem název, který obsahuje veřejný certifikát, certifikát certifikační autority nebo klíč operátora (klienta) nebo zprostředkovatele (serveru). Všechny poskytnuté certifikáty by měly být zakódované s kódováním 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á
client.cer
veřejný certifikát pro zprostředkovatele (první položka konfigurace výše), měl by první řádek konfigurace vypadat takto:\"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 Grid.Důležité
Nesmíte změnit hodnoty pro
ServiceAccount
aserviceType
. Ve verzi Preview seClusterIP
podporuje pouze typ služby Kubernetes.Pro
storageClassName
zajištění třídy úložiště, kterou chcete použít pro zprostředkovatele a která je podporována vaší distribucí Kubernetes. Pokud například používáte AKS, můžete použítazurefile
ú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, prohlédněte si dokumentaci k distribuci Kubernetes pro předdefinované třídy úložiště nebo způsob, jakým můžete zadat vlastní.Nastavte
reporterType
naprometheus
povolení metrik pro témata a odběry událostí pomocí formátu expozice Prometheus.Důležité
Během verze Preview je použití klienta Prometheus jediným podporovaným mechanismem pro získání metrik.
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é nainstaluje komponenty Event Gridu do clusteru.
U parametrů
cluster-name
aresource-group
je nutné 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á má přepsat 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 za vás.Důležité
Během verze
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 Gridu v clusteru Kubernetes. Nasazení s oborem názvů zatím nepodporuje. Další informace naleznete 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 parametr můžete použít
--config-file
k předání názvu souboru JSON, který obsahuje informace o konfiguraci související s Event Gridem. Pokud chcete podporovat protokol HTTP, uveďte následující nastavení."eventgridbroker.service.supportedProtocols[0]": "http"
Tady je ukázka 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 Gridu úspěšně nasadily.
Vlastní umístění
Důležité
Před pokusem o nasazení témat Event Gridu je potřeba vytvořit vlastní umístění. Vlastní umístění můžete vytvořit pomocí webu Azure Portal.
Řešení problému
Problémy s clusterem s připojením ke službě Azure Arc
Problém: Při přechodu na Azure Arc a výběru clusteru 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 pokynů v článku Připojení existujícího clusteru Kubernetes ke službě Azure Arc. Pokud máte v tomto kroku problém, vytvořte žádost o podporu s týmem 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 – Instance Event Gridu už byla v tomto připojeném clusteru Kubernetes nainstalovaná. Rozšíření Event Gridu je vymezeno na úrovni clusteru, což znamená, že do clusteru je možné nainstalovat pouze 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 pak postupujte podle pokynů v rychlých startech cloudových událostí do webhooků s Azure Event Gridem v Kubernetes.