Event Grid-bővítmény telepítése az Azure Arc-kompatibilis Kubernetes-fürtön
Ez a cikk végigvezeti az Event Grid Azure Arc-kompatibilis Kubernetes-fürtön való telepítésének lépésein.
A rövidség kedvéért ez a cikk az "Event Grid on Kubernetes bővítményre" hivatkozik, mint "Event Grid a Kubernetesen" vagy csak "Event Grid".
Fontos
Az Event Grid a Kubernetesen és az Azure Arcon jelenleg nyilvános előzetes verzióban érhető el. Erre az előzetes verzióra nem vonatkozik szolgáltatói szerződés, és a használata nem javasolt éles számítási feladatok esetén. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
Támogatott Kubernetes-disztribúciók
Az alábbiakban azokat a kubernetes-disztribúciókat találja, amelyeken az Event Grid üzembe helyezhető és futtatható.
- Az Azure AKS támogatja a Kubernetes-disztribúciókat.
- RedHat OpenShift tárolóplatform.
Event Grid-bővítmény
Az Event Grid-szolgáltatáspéldány kubernetes-fürtön való telepítésének művelete egy Azure Arc-fürtbővítmény létrehozása, amely egy Event Grid-közvetítőt és egy Event Grid-operátort is üzembe helyez. A közvetítő és az operátor funkciójára vonatkozó további információkért lásd: Event Grid a Kubernetes-összetevőkön. Az Azure Arc-fürtbővítmény szolgáltatás életciklus-felügyeletet biztosít az Azure Resource Manager (ARM) vezérlősík-műveleteinek használatával az Azure Arc-kompatibilis Kubernetes-fürtökön üzembe helyezett Event Grid számára.
Megjegyzés
A szolgáltatás előzetes verziója csak az Event Grid-bővítmény egyetlen példányát támogatja egy Kubernetes-fürtön, mivel az Event Grid-bővítmény jelenleg fürt hatókörű bővítményként van definiálva. Az Event Grid esetében még nem támogatott a névtérre kiterjedő üzemelő példányok használata, amelyek lehetővé teszik több példány fürtben való üzembe helyezését. További információ: Bővítmény hatóköre.
Előfeltételek
Az Event Grid telepítésének megkezdése előtt győződjön meg arról, hogy a következő előfeltételek teljesülnek.
- Az egyik támogatott Kubernetes-disztribúción futó fürt.
- Azure-előfizetés.
- PKI-tanúsítványok , amelyeket az Event Grid-közvetítővel való HTTPS-kapcsolat létrehozásához kell használni.
- Csatlakoztassa a fürtöt az Azure Archoz.
Támogatás igénylése
Ha problémába ütközik, a gyakori feltételekkel kapcsolatos segítségért tekintse meg a Hibaelhárítás című szakaszt. Ha továbbra is problémákat tapasztal, hozzon létre egy Azure-támogatás kérést.
PKI-tanúsítványra vonatkozó követelmények
Az Event Grid-közvetítő (kiszolgáló) kétféle ügyfelet szolgál ki. A kiszolgálóhitelesítés a tanúsítványok használatával történik. Az ügyfélhitelesítés tanúsítványokkal vagy SAS-kulcsokkal történik az ügyfél típusa alapján.
- Az Event Grid-közvetítőhöz vezérlősík-kéréseket intéző Event Grid-operátorok hitelesítése tanúsítványok használatával történik.
- Az Event Grid-közzétevők, amelyek egy Event Grid-témakör eseményeit közzétevők, hitelesítve lesznek a témakör SAS-kulcsaival.
Az Event Grid-közvetítővel és az Event Grid-operátorral való biztonságos HTTPS-kommunikáció kialakításához PKI-tanúsítványokat használunk az Event Grid-bővítmény telepítése során. Az alábbi PKI-tanúsítványokra vonatkozó általános követelmények:
A tanúsítványoknak és kulcsoknak X.509-tanúsítványoknak és adatvédelmi szempontból továbbfejlesztett PEM-nek kell lenniük.
Az Event Grid-közvetítő (kiszolgáló) tanúsítványának a telepítés során történő konfigurálásához meg kell adnia a következőket:
- Hitelesítésszolgáltatói tanúsítvány
- Nyilvános tanúsítvány
- Titkos kulcs
Az Event Grid-operátori (ügyfél-) tanúsítvány konfigurálásához meg kell adnia a következőket:
- Hitelesítésszolgáltatói tanúsítvány
- Nyilvános tanúsítvány
- Titkos kulcs
A közzétételi ügyfelek az Event Grid-közvetítő hitelesítésszolgáltatói tanúsítványával érvényesíthetik a kiszolgálót, amikor eseményeket tesznek közzé egy témakörben.
Fontos
Bár egy ügyfélhez társított tartomány több nyilvános tanúsítványt is kiadhat különböző hitelesítésszolgáltatóktól, a Kubernetesen futó Event Grid csak egyetlen hitelesítésszolgáltatói tanúsítvány feltöltését teszi lehetővé az ügyfelek számára az Event Grid telepítésekor. Ennek következtében az Event Grid-operátor tanúsítványait ugyanannak a hitelesítésszolgáltatónak kell kiállítania (aláírnia), hogy a tanúsítványlánc érvényesítése sikeres legyen, és sikeresen létrejönjön egy TLS-munkamenet.
A kiszolgáló- és ügyféltanúsítványok common name (CN) konfigurálásakor győződjön meg arról, hogy azok eltérnek a hitelesítésszolgáltatói tanúsítványhoz megadott CN-től.
Fontos
A korai megvalósíthatósági igazolási szakaszok esetében az önaláírt tanúsítványok lehetnek lehetőség, de általában a hitelesítésszolgáltató (CA) által aláírt megfelelő PKI-tanúsítványokat kell kiszerelni és használni.
Telepítés a Azure Portal használatával
A Azure Portal keresse meg az Azure Arcot (felül található mező)
Válassza a Kubernetes-fürtöt az Infrastruktúra szakasz bal oldali menüjében
A fürtök listájában keresse meg azt, amelyikre telepíteni szeretné az Event Gridet, és jelölje ki. Megjelenik a fürt Áttekintés lapja.
A bal oldali menü Beállítások csoportjában válassza a Bővítmények lehetőséget.
Válassza a + Hozzáadás lehetőséget. Megjelenik egy oldal, amelyen az elérhető Azure Arc Kubernetes-bővítmények láthatók.
Az Új erőforrás lapon válassza az Event Grid lehetőséget a Kubernetes-bővítményen.
A Kubernetes-bővítmény eseményrácsán válassza a Létrehozás lehetőséget.
Az Event Grid telepítése lap Alapok lapján kövesse az alábbi lépéseket.
A Projekt részletei szakaszban csak olvasható előfizetési és erőforráscsoport-értékek láthatók, mivel az Azure Arc-bővítmények ugyanabban az Azure-előfizetésben és erőforráscsoportban vannak üzembe helyezve, amelyre a csatlakoztatott fürt telepítve van.
Adjon meg egy nevet az Event Grid bővítménynév mezőjében. Ennek a névnek egyedinek kell lennie az ugyanazon az Azure Arc-fürtön üzembe helyezett többi Azure Arc-bővítmény között.
A Release névtér esetében meg kell adnia egy Kubernetes-névtér nevét, amelyben az Event Grid-összetevők üzembe lesznek helyezve. Előfordulhat például, hogy egyetlen névteret szeretne használni a fürtön üzembe helyezett összes Azure Arc-kompatibilis szolgáltatáshoz. Az alapértelmezett érték az eventgrid-system. Ha a megadott névtér nem létezik, akkor az ön számára jön létre.
Az Event Grid-közvetítő részletei szakaszban megjelenik a szolgáltatás típusa. Az Event Grid-közvetítő, amely az az összetevő, amely elérhetővé teszi azokat a témakörvégpontokat, amelyeknek az eseményeket küldi, a FürtIP típusú Kubernetes-szolgáltatásként lesz közzétéve. Ezért az összes témakörhöz rendelt IP-címek a fürthöz konfigurált privát IP-területet használják.
Adja meg a közvetítőhöz használni kívánt tárosztálynevet , amelyet a Kubernetes-disztribúció támogat. Ha például AKS-t használ, használhatja
azurefile
az Azure Standard Storage-t. Az AKS által támogatott előre definiált tárolási osztályokról további információt az AKS-ben található Tárolási osztályok című témakörben talál. Ha más Kubernetes-disztribúciókat használ, tekintse meg a Kubernetes-terjesztési dokumentációt a támogatott előre definiált tárolási osztályokról, vagy a saját módjáról.Tárterület mérete. Az alapértelmezett érték 1 GiB. A tárterület méretének meghatározásakor vegye figyelembe a betöltési arányt. A MiB/másodpercben mért betöltési arány az események méretének és az Event Grid-közvetítő összes témakörében a közzétételi sebesség (másodpercenkénti események) időértékével mérve kulcsfontosságú tényező a tárterület lefoglalása során. Az események átmeneti jellegűek, és a kézbesítésük után ezekhez az eseményekhez nincs tárterület-használat. Bár a betöltési sebesség a tárolás fő illesztőprogramja, nem ez az egyetlen. A témakört és az esemény-előfizetés konfigurációját tároló metaadatok szintén tárterületet használnak, de ehhez általában kevesebb tárterületre van szükség, mint az Event Grid által betöltött és kézbesített események.
Memóriakorlát. Az alapértelmezett érték 1 GiB.
Memóriakérés. Az alapértelmezett érték 200 MiB. Ez a mező nem szerkeszthető.
Válassza a Tovább: Konfiguráció lehetőséget a lap alján.
Az Event Grid telepítése lap Konfiguráció lapján hajtsa végre a következő lépéseket:
Engedélyezze a HTTP-kommunikációt (nem biztonságos). Jelölje be ezt a jelölőnégyzetet, ha nem biztonságos csatornát szeretne használni, amikor az ügyfelek kommunikálnak az Event Grid-közvetítővel.
Fontos
Ennek a beállításnak az engedélyezése lehetővé teszi, hogy az Event Grid-közvetítővel folytatott kommunikáció HTTP-t használjon átvitelként. Ezért a közzétételi ügyfél és az Event Grid-operátor nem kommunikál biztonságosan az Event Grid-közvetítővel. Ezt a lehetőséget csak a fejlesztés korai szakaszaiban érdemes használni.
Ha nem engedélyezte a HTTP-kommunikációt, jelölje ki az összes beszerzett PKI-tanúsítványfájlt, és megfeleljen a PKI-tanúsítvány követelményeinek.
Válassza a Következő: Figyelés lehetőséget az oldal alján.
Az Event Grid telepítése lap Figyelés lapján hajtsa végre a következő lépéseket:
Válassza a Metrikák engedélyezése (nem kötelező) lehetőséget. Ha ezt a lehetőséget választja, a Kubernetes-en futó Event Grid a Prometheus exposition formátum használatával teszi elérhetővé a témakörök és esemény-előfizetések metrikáit.
Válassza a Tovább: Címkék lehetőséget a Címkék lapra való navigáláshoz.
A Címkék lapon hajtsa végre a következő lépéseket:
Szükség esetén definiálja a címkéket.
Válassza az oldal alján található Véleményezés + létrehozás lehetőséget.
A Felülvizsgálat + létrehozás lapon válassza a Létrehozás lehetőséget.
Fontos
Az Event Grid telepítése egy aszinkron művelet, amely hosszabb ideig futhat a Kubernetes-fürtön, mint amikor értesítést kap az Azure Portalon az üzembe helyezés befejezéséről. Várjon legalább 5 percet, miután megjelenik egy értesítés arról, hogy "Az üzembe helyezés befejeződött" üzenet jelenik meg, mielőtt megpróbál létrehozni egy egyéni helyet (következő lépés). Ha rendelkezik hozzáféréssel a Kubernetes-fürthöz, egy bash-munkamenetben a következő parancs végrehajtásával ellenőrizheti, hogy az Event Grid-közvetítő és az Event Grid operátor podjai Fut állapotban vannak-e, ami azt jelzi, hogy a telepítés befejeződött:
kubectl get pods -n \<release-namespace-name\>
A minta kimenete a következő:
NAME READY STATUS RESTARTS AGE eventgrid-broker-568f75976-wxkd2 1/1 Running 0 2m28s eventgrid-operator-6c4c6c675d-ttjv5 1/1 Running 0 2m28s
Fontos
Az Event Grid-témakörök üzembe helyezésének megkísérlése előtt létre kell hozni egy egyéni helyet. Egyéni hely létrehozásához az "Üzembe helyezés befejeződött" értesítés megjelenítése után az alsó 5 percben kiválaszthatja a Környezet lapot. Másik lehetőségként létrehozhat egy egyéni helyet a Azure Portal használatával. További információt az Egyéni hely dokumentációjában talál.
Az üzembe helyezés sikerességét követően a Bővítmények lapon megjelenik egy bejegyzés, amely az Event Grid-bővítményhez megadott névvel rendelkezik. Ha a Függőben állapot jelenik meg a Telepítés állapotra, várjon néhány percet, majd válassza a Frissítés lehetőséget az eszköztáron.
Telepítés az Azure CLI használatával
Hozzon létre egy rendszerhéj-munkamenetet. Elindíthat egy munkamenetet a számítógépen, vagy megnyithat egy böngészőt a https://shell.azure.com(z) számára.
Hozzon létre egy konfigurációs fájlt
protected-settings-extension.json
. Ez a fájl paraméterként lesz átadva az Event Grid-bővítmény létrehozásakor.A következő parancsban és az egyes konfigurációs sorokban cserélje le a elemet
filename
az operátor (ügyfél) vagy közvetítő (kiszolgáló) nyilvános tanúsítványát, hitelesítésszolgáltatói tanúsítványát vagy kulcsát tartalmazó névre. Minden megadott tanúsítványnak base64 kódolásúnak kell lennie sortörés nélkül. Ezért a parancs használatabase64 --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.json
Ha például a közvetítő nyilvános tanúsítványa (a fenti első konfigurációelem) neve
client.cer
, akkor az első konfigurációs sornak a következőhöz hasonlóan kell kinéznie:\"eventgridoperator.identityCert.base64EncodedIdentityCert\":\"$(base64 client.cer --wrap=0)\",
Hozzon létre egy konfigurációs fájlt
settings-extension.json
. Ez a fájl paraméterként lesz átadva az Event Grid-bővítmény létrehozásakor.Fontos
A és
serviceType
a értékeitServiceAccount
nem módosíthatja. Az előzetes verzióban az egyetlen kubernetes-szolgáltatástípus támogatott:ClusterIP
.Adja
storageClassName
meg a közvetítőhöz használni kívánt tárolási osztályt, amelyet a Kubernetes-disztribúció támogat. Ha például AKS-t használ, használhatjaazurefile
az Azure Standard Storage-ot. További információ az AKS által támogatott előre definiált tárolási osztályokról: Tárolási osztályok az AKS-ben. Ha más Kubernetes-disztribúciókat használ, tekintse meg a Kubernetes-disztribúció dokumentációját az előre definiált támogatott tárolási osztályokról, vagy a saját megadásának módjáról.Úgy van beállítva
reporterType
,prometheus
hogy a Prometheus-exposition formátum használatával engedélyezze a témakörök és esemény-előfizetések metrikáit.Fontos
Az előzetes verzióban a Prometheus-ügyfél használata az egyetlen támogatott mechanizmus a metrikák lekéréséhez.
echo "{ \"Microsoft.CustomLocation.ServiceAccount\":\"eventgrid-operator\", \"eventgridbroker.service.serviceType\": \"ClusterIP\", \"eventgridbroker.dataStorage.storageClassName\": \"<storage_class_name>\", \"eventgridbroker.diagnostics.metrics.reporterType\":\"prometheus\" }" > settings-extension.json
Hozzon létre egy Kubernetes-bővítményt, amely Event Grid-összetevőket telepít a fürtre.
A és a paraméterek
cluster-name
esetében ugyanazokat a neveket kell használnia, mint amikor csatlakoztatta a fürtöt az Azure Archoz.resource-group
release-namespace
az a névtér, amelyben az Event Grid-összetevők üzembe lesznek helyezve. Az alapértelmezett érték az eventgrid-system. Érdemes lehet megadnia egy értéket, amely felülbírálja az alapértelmezett értéket. Előfordulhat például, hogy egyetlen névteret szeretne használni a fürtön üzembe helyezett összes Azure Arc-kompatibilis szolgáltatáshoz. Ha a megadott névtér nem létezik, akkor létrejön.Fontos
Az előzetes verzióban
cluster
csak az Event Grid-bővítmények létrehozásakor vagy frissítésekor támogatott hatókör. Ez azt jelenti, hogy a szolgáltatás csak az Event Grid-bővítmény egyetlen példányát támogatja egy Kubernetes-fürtön. A névtér-hatókörű üzemelő példányok még nem támogatottak. További információ: Bővítmény hatóköre.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
További információ a CLI-paranccsal kapcsolatban: az k8s-extension create. Figyelje meg, hogy a
--config-file
paraméterrel átadhatja az Event Gridhez kapcsolódó konfigurációs információkat tartalmazó json-fájl nevét. A HTTP támogatásához adja meg a következő beállítást."eventgridbroker.service.supportedProtocols[0]": "http"
Íme egy minta settings-extension.json a fenti beállítással.
{ "Microsoft.CustomLocation.ServiceAccount": "eventgrid-operator", "eventgridbroker.service.serviceType": "ClusterIP", "eventgridbroker.service.supportedProtocols[0]": "http", "eventgridbroker.dataStorage.storageClassName": "default", "eventgridbroker.diagnostics.metrics.reporterType": "prometheus" }
Ellenőrizze, hogy az Event Grid-bővítmény telepítése sikeresen megtörtént-e.
az k8s-extension show --cluster-type connectedClusters --cluster-name <connected_cluster_name> --resource-group <resource_group_of_connected_cluster> --name <event_grid_extension_name>
A
installedState
tulajdonságnak akkor kell lennieInstalled
, ha az Event Grid-bővítmény összetevői sikeresen üzembe helyezve.
Egyéni hely
Fontos
Az Event Grid-témakörök üzembe helyezésének megkísérlése előtt létre kell hozni egy egyéni helyet. Egyéni helyet a Azure Portal használatával hozhat létre.
Hibaelhárítás
Az Azure Arc connect-fürt problémái
Probléma: Amikor az Azure Arcra lép, és a bal oldali menüben a Kubernetes-fürt lehetőséget választja, a megjelenő oldalon nem jelenik meg a Kubernetes-fürt, ahol az Event Gridet telepíteni szeretném.
Megoldás: A Kubernetes-fürt nincs regisztrálva az Azure-ban. Kövesse a meglévő Kubernetes-fürt Azure Archoz való csatlakoztatását ismertető cikkben található lépéseket. Ha probléma merül fel ebben a lépésben, küldjön támogatási kérést az Azure Arc-kompatibilis Kubernetes-csapatnak.
Event Grid-bővítményekkel kapcsolatos problémák
Probléma: Amikor "Event Grid-bővítményt" próbál telepíteni, a következő üzenet jelenik meg: "Érvénytelen művelet – Az Event Grid egy példánya már telepítve van erre a csatlakoztatott Kubernetes-fürtre. Az Event Grid-bővítmény hatóköre a fürt szintjén van, ami azt jelenti, hogy egy fürtre csak egy példány telepíthető."
Magyarázat: Már telepítve van az Event Grid. Az Event Grid előzetes verziója csak egy fürtön üzembe helyezett Event Grid-bővítménypéldányt támogat.
Következő lépések
Hozzon létre egy egyéni helyet, majd kövesse a felhőesemények webhookokra való átirányítása a Kubernetesen Azure Event Grid című rövid útmutató utasításait.