Ez a referenciaarchitektúra bemutatja, hogyan terjeszti ki az Azure Arc a Kubernetes-fürtkezelést és -konfigurációt az ügyfél adatközpontjaiban, peremhálózati helyeiben és több felhőkörnyezetben.
Architektúra
Töltse le az architektúra Visio-fájlját.
Munkafolyamat
Az architektúra a következő szempontokból áll:
- Azure Arc-kompatibilis Kubernetes. Kubernetes-fürtök csatolása és konfigurálása az Azure-on belül vagy kívül az Azure Arc-kompatibilis Kubernetes használatával. Amikor egy Kubernetes-fürt az Azure Archoz van csatolva, hozzárendel egy Azure Resource Manager-azonosítót és egy felügyelt identitást.
- Azure Kubernetes Service. Kubernetes-fürtök üzemeltetése az Azure-ban a Kubernetes-fürtkezelés összetettségének és működési terhelésének csökkentése érdekében.
- Helyszíni Kubernetes-fürt. Csatolja a Cloud Native Computing Foundation (CNCF)-tanúsítvánnyal rendelkező Kubernetes-fürtöket, amelyek helyszíni vagy külső felhőkörnyezetekben vannak üzemeltetve.
- Azure Policy. Szabályzatok üzembe helyezése és kezelése Arc-kompatibilis Kubernetes-fürtökhöz.
- Azure Monitor. Arc-kompatibilis Kubernetes-fürtök megfigyelése és monitorozása.
Összetevők
- Az Azure Arc egy híd, amely kibővíti az Azure platformot, lehetővé téve az adatközpontokon, a peremhálózaton és a többfelhős környezetekben futtatható alkalmazások és szolgáltatások létrehozását.
- Az Azure Kubernetes Service (AKS) a Kubernetes-fürtök üzembe helyezésére és méretezésére szolgáló felügyelt szolgáltatás.
- Az Azure Policy lehetővé teszi a valós idejű felhőmegfeleltség elérését nagy léptékben, konzisztens erőforrás-szabályozással.
- Az Azure Monitor teljes körű megfigyelhetőséget biztosít az alkalmazások, az infrastruktúra és a hálózat számára.
Forgatókönyv részletei
Az Azure Arc használatával regisztrálhatja a Microsoft Azure-on kívül üzemeltetett Kubernetes-fürtöket. Ezután az Azure-eszközökkel kezelheti ezeket a fürtöket, valamint az Azure Kubernetes Service-ben (AKS) üzemeltetett fürtöket.
Lehetséges használati esetek
Az architektúra gyakori használati módjai többek között a következők:
- Az AKS-ben üzemeltetett helyszíni Kubernetes-fürtök és -fürtök kezelése leltározáshoz, csoportosításhoz és címkézéshez.
- Az Azure Monitor használata a Kubernetes-fürtök hibrid környezetekben való monitorozásához.
- Az Azure Policy használata a Kubernetes-fürtökre vonatkozó szabályzatok hibrid környezetekben való üzembe helyezéséhez és kikényszerítéséhez.
- A GitOps üzembe helyezése és kényszerítése az Azure Policy használatával.
Ajánlások
A következő szakaszok a legtöbb forgatókönyvre vonatkozó javaslatokat nyújtanak. A Microsoft azt javasolja, hogy kövesse őket, hacsak nincs olyan követelmény, amely felülírja őket.
Fürtregisztráció
Bármilyen aktív CNCF Kubernetes-fürtöt regisztrálhat. Az Arc-kompatibilis Kubernetes-ügynökök telepítéséhez kubeconfig-fájlra van szükség a fürt eléréséhez, valamint egy fürt-rendszergazdai szerepkörre a fürtön. Az Azure parancssori felületével (CLI) végezhet fürtregisztrációs feladatokat. Az az login és az az connectedk8s connect parancsokhoz használt felhasználó vagy szolgáltatásnév olvasási és írási engedélyeket igényel a Microsoft.Kubernetes/connectedClusters erőforrástípushoz. A Kubernetes-fürt – Azure Arc előkészítési szerepkör rendelkezik ezekkel az engedélyekkel, és a szerepkör-hozzárendelésekhez használható a felhasználónéven vagy a szolgáltatásnéven. A Helm 3 szükséges a connectedk8s bővítményt használó fürt előkészítéséhez. Az Azure CLI 2.3-as vagy újabb verziójára van szükség az Azure Arc-kompatibilis Kubernetes parancssori felületi bővítmények telepítéséhez.
Azure Arc-ügynökök a Kuberneteshez
Az Azure Arc-kompatibilis Kubernetes néhány ügynökből (más néven operátorokból) áll, amelyek az azure-arc névtérben üzembe helyezett fürtben futnak:
- deployment.apps/config-agent. Figyeli a csatlakoztatott fürtöt a fürtre alkalmazott forrásvezérlési konfigurációs erőforrásokért, és frissíti a megfelelőségi állapotot.
- deployment.apps/controller-manager. Az Azure Arc-összetevők közötti interakciókat vezénylő operátorok operátora.
- deployment.apps/metrics-agent. Metrikákat gyűjt más Arc-ügynököktől annak biztosítása érdekében, hogy ezek az ügynökök optimális teljesítményt biztosítsanak.
- deployment.apps/cluster-metadata-operator. Összegyűjti a fürt metaadatait, a fürt verzióját, a csomópontok számát és az Azure Arc-ügynök verzióját.
- deployment.apps/resource-sync-agent. Szinkronizálja a korábban említett fürt metaadatait az Azure-ra.
- deployment.apps/clusteridentityoperator. Fenntartja a felügyeltszolgáltatás-identitás (MSI) tanúsítványt, amelyet más ügynökök használnak az Azure-ral való kommunikációhoz.
- deployment.apps/flux-logs-agent. Naplókat gyűjt a forrásvezérlési konfiguráció részeként üzembe helyezett fluxus operátoroktól.
- deployment.apps/extension-manager. Telepíti és kezeli a bővítmény Helm-diagramok életciklusát.
- deployment.apps/kube-azure-ad-proxy. A fürtnek a Cluster Connect használatával küldött kérések hitelesítésére szolgál.
- deployment.apps/clusterconnect-agent. Fordított proxyügynök, amely lehetővé teszi, hogy a fürt kapcsolódási funkciója hozzáférést biztosítson a fürt apiserveréhez. Ez egy nem kötelező összetevő, amely csak akkor van üzembe helyezve, ha a fürt csatlakoztatási funkciója engedélyezve van a fürtön.
- deployment.apps/guard. A Microsoft Entra szerepköralapú hozzáférés-vezérléshez (RBAC) használt hitelesítési és engedélyezési webhook-kiszolgáló. Ez egy választható összetevő, amely csak akkor van üzembe helyezve, ha az Azure-rbac funkció engedélyezve van a fürtön.
További információ: Azure Arc-kompatibilis Kubernetes-fürt csatlakoztatása.
Fürtök monitorozása az Azure Monitor Container Insights használatával
A tárolók monitorozása kritikus fontosságú. Az Azure Monitor Container Insights gazdag monitorozási élményt nyújt az AKS- és AKS-motorfürtök számára. Az Azure Monitor Container Insights konfigurálható az Azure Arc-kompatibilis Kubernetes-fürtök Azure-on kívüli figyelésére is. Ezzel átfogó monitorozást biztosít a Kubernetes-fürtökről az Azure-ban, a helyszínen és a külső felhőkörnyezetekben.
Az Azure Monitor Container Insights a metrikaalkalmazás programozási felületén (API) keresztül a Kubernetesben elérhető vezérlők, csomópontok és tárolók memória- és processzormetrikáinak gyűjtésével biztosíthatja a teljesítmény láthatóságát. A rendszer a tárolónaplókat is gyűjti. Miután engedélyezte a Kubernetes-fürtökről történő monitorozást, a rendszer automatikusan összegyűjti a metrikákat és naplókat a Log Analytics-ügynök tárolóalapú verziójával. A metrikák a metrikák tárolójába kerülnek, a naplóadatok pedig a Log Analytics-munkaterülethez társított naplótárba lesznek írva. Az Azure Monitor Container Insightsról további információt az Azure Monitor Container Insights áttekintésében talál.
Az Azure Monitor Container Insightst PowerShell-szkript vagy Bash-szkript használatával engedélyezheti a Kubernetes egy vagy több üzemelő példányához.
Az Arc-kompatibilis Kubernetes-fürtök monitorozásának engedélyezéséhez lásd : Az Azure Arc-kompatibilis Kubernetes-fürt monitorozásának engedélyezése
GitOps-alapú alkalmazástelepítés engedélyezése az Azure Policy használatával
Az Azure Policy használatával kényszerítse ki, hogy az egyes GitOps-kompatibilis Microsoft.Kubernetes/connectedclusters erőforrás vagy a Microsoft.ContainerService/managedClusters erőforráson meghatározott Microsoft.KubernetesConfiguration/fluxConfigurations legyen alkalmazva. Alkalmazhat például egy alapkonfigurációt egy vagy több fürtre, vagy üzembe helyezhet bizonyos alkalmazásokat több fürtön. Az Azure Policy használatához válasszon egy definíciót az Azure Arc-kompatibilis Kubernetes Azure Policy beépített definícióiból, majd hozzon létre egy szabályzat-hozzárendelést.
A szabályzat-hozzárendelés létrehozásakor állítsa be a hatókört egy Azure-erőforráscsoportra vagy -előfizetésre. Állítsa be a létrehozott fluxConfiguration paramétereit is. A hozzárendelés létrehozásakor a Szabályzatmotor azonosítja a hatókörben található összes csatlakoztatottCluster - vagy managedCluster-erőforrást , majd alkalmazza a fluxConfigurationt mindegyikre.
Ha minden fürthöz több forrásadattárat használ (például egy adattárat a központi informatikai/fürtüzemeltető és az alkalmazáscsapatok számára), ezt aktiválja több szabályzat-hozzárendelés használatával, és konfigurálja az egyes szabályzat-hozzárendeléseket egy másik forrásadattár használatára.
További információ: Alkalmazások egységes üzembe helyezése a Flux v2-konfigurációk és az Azure Policy használatával.
Alkalmazások üzembe helyezése a GitOps használatával
A GitOps a Kubernetes-konfiguráció (üzemelő példányok, névterek stb.) kívánt állapotának deklarálása egy forrásadattárban, például a Git- vagy Helm-adattárban, a gyűjtőkben vagy az Azure Blob Storage-ban. Ezt követi a konfigurációk lekérdezési és lekéréses alapú üzembe helyezése a fürtben egy operátor használatával.
A fürt és egy vagy több forrásadattár közötti kapcsolat a microsoft.flux bővítmény fürtre való üzembe helyezésével engedélyezve van. A fluxConfiguration erőforrástulajdonságok azt jelzik, hogy a Kubernetes-erőforrásoknak hol és hogyan kell haladnia a forrásadattárból a fürtbe. A fluxConfiguration-adatok titkosítva vannak tárolva egy Azure Cosmos DB-adatbázisban az adatok bizalmasságának biztosítása érdekében.
A fürtben futó flux-config ügynök felelős az Új vagy frissített FluxConfiguration bővítményerőforrások figyeléséért az Azure Arc-kompatibilis Kubernetes-erőforráson, az alkalmazások forrásadattárból való üzembe helyezéséért és a fluxConfiguration szolgáltatásban végrehajtott frissítések propagálásáért. Akár több fluxConfiguration-erőforrást is létrehozhat ugyanazon az Azure Arc-kompatibilis Kubernetes-fürtön található névtér hatókörével a több-bérlős használat érdekében.
A forrásadattár bármilyen érvényes Kubernetes-erőforrást tartalmazhat, beleértve a névtereket, a konfigurációtérképeket, az üzembe helyezéseket és a Démonkészleteket. Helm-diagramokat is tartalmazhat az alkalmazások üzembe helyezéséhez. A gyakori forrásadattár-forgatókönyvek közé tartozik a szervezet alapkonfigurációjának meghatározása, amely magában foglalhatja a szerepköralapú hozzáférés-vezérlési (RBAC-) szerepköröket és kötéseket, a figyelési ügynököket, a naplózási ügynököket és a fürtszintű szolgáltatásokat.
A heterogén környezetekben üzembe helyezett fürtök nagyobb gyűjteményét is kezelheti. Létrehozhat például egy adattárat, amely meghatározza a szervezet alapkonfigurációját, majd ezt egyszerre több Kubernetes-fürtre is alkalmazhatja. Több forrásadattárból is üzembe helyezhet alkalmazásokat egy fürtön.
További információ: Alkalmazások üzembe helyezése a GitOps és a Flux v2 használatával.
Topológia, hálózat és útválasztás
Az Azure Arc-ügynökök működéséhez a következő protokollok/portok/kimenő URL-címek szükségesek:
Végpont (DNS) | Leírás |
---|---|
https://management.azure.com:443 |
Az ügynöknek csatlakoznia kell az Azure-hoz, és regisztrálnia kell a fürtöt. |
https://[region].dp.kubernetesconfiguration.azure.com:443 |
Az ügynök adatsíkvégpontja az állapot leküldéséhez és a konfigurációs információk lekéréséhez, ahol a [régió] az AKS-példányt üzemeltető Azure-régiót jelöli. |
https://docker.io:443 |
Tárolórendszerképek lekéréséhez szükséges. |
https://github.com:443 , git://github.com:9418 |
A GitOps-adattárak például a GitHubon találhatók. A konfigurációs ügynöknek csatlakoznia kell a megadott gitvégponthoz. |
https://login.microsoftonline.com:443 |
Az Azure Resource Manager-tokenek beolvasásához és frissítéséhez szükséges. |
https://azurearcfork8s.azurecr.io:443 |
Az Azure Arc-ügynökök tárolólemezképeinek lekéréséhez szükséges. |
Az Azure Arc-szolgáltatások URL-címeinek teljes listájáért tekintse meg az Azure Arc hálózati követelményeit.
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.
Megbízhatóság
A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfelek felé vállalt kötelezettségeknek. További információ: A megbízhatósági pillér áttekintése.
- A legtöbb esetben a telepítési szkript létrehozásakor kiválasztott helynek a helyszíni erőforrásokhoz földrajzilag legközelebbi Azure-régiónak kell lennie. A rendszer a többi adatot az Azure-beli földrajzi helyen tárolja, amely a megadott régiót tartalmazza, ami hatással lehet a régió kiválasztására, ha rendelkezik adattárolási követelményekkel. Ha egy üzemkimaradás hatással van arra az Azure-régióra, amelyhez a gép csatlakozik, a kimaradás nem érinti a csatlakoztatott gépet, de előfordulhat, hogy az Azure-t használó felügyeleti műveletek nem fejeződnek be. Regionális kimaradás esetén a rugalmasság érdekében a legjobb megoldás, ha több földrajzilag redundáns szolgáltatást biztosító helyen csatlakoztatja az egyes helyeken lévő gépeket egy másik Azure-régióhoz. Az elérhető régiókkal kapcsolatban tekintse meg az Azure Arc-kompatibilis Kubernetes támogatott régióit .
- Győződjön meg arról, hogy az Architektúra szakaszban hivatkozott szolgáltatások támogatottak abban a régióban, ahol az Azure Arc telepítve van.
Biztonság
A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.
- Az Azure RBAC használatával kezelheti az Azure Arc-kompatibilis Kuberneteshez való hozzáférést az Azure-ban és a Microsoft Entra-identitásokat használó helyszíni környezetekben. További információ: Az Azure RBAC használata a Kubernetes-engedélyezéshez.
- A Microsoft azt javasolja, hogy olyan szolgáltatásnevet használjon, amely korlátozott jogosultságokkal rendelkezik a Kubernetes-fürtök Azure Arcba való előkészítéséhez. Ez a gyakorlat olyan CI-/CD-folyamatokban hasznos, mint az Azure Pipelines és a GitHub Actions. További információ: Azure Arc-kompatibilis bevezetési szolgáltatásnév létrehozása.
- A szolgáltatásnév-kezelés egyszerűsítése érdekében felügyelt identitásokat használhat az AKS-ben. A fürtöket azonban a felügyelt identitással kell létrehozni, és a meglévő fürtök (beleértve az Azure-t és a helyszíni fürtöket) nem migrálhatók felügyelt identitásokra. További információ: Felügyelt identitások használata az Azure Kubernetes Service-ben.
Költségoptimalizálás
A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: A költségoptimalizálási pillér áttekintése.
Az általános költségekre vonatkozó szempontokat a Microsoft Azure Well-Architected Framework költségoptimalizálási alapelvei című szakasza ismerteti.
Működés eredményessége
Az üzemeltetési kiválóság azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben tartják azt. További információ: A működési kiválósági pillér áttekintése.
- Az Azure Arc-kompatibilis Kubernetes-fürtök konfigurálása előtt tekintse át az Azure Resource Manager-előfizetés korlátait és az erőforráscsoport korlátait a fürtök számának megtervezéséhez.
- A Helm, a nyílt forráskódú csomagolóeszköz használatával telepítheti és kezelheti a Kubernetes-alkalmazás életciklusát. A Linux-csomagkezelőkhöz, például az APT-hez és a Yumhoz hasonlóan a Helm használatával kezelheti a Kubernetes-diagramokat, amelyek előre konfigurált Kubernetes-erőforrások csomagjai.
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.
Fő szerző:
- Pieter de Bruin | Vezető programmenedzser
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.
Következő lépések
- Az Azure Arc dokumentációja
- Az Azure Arc-kompatibilis Kubernetes dokumentációja
- Az Azure Kubernetes Service dokumentációja
- Az Azure Policy dokumentációja
- Az Azure Monitor dokumentációja
- Azure Arc-kompatibilis Kubernetes-fürt csatlakoztatása
Kapcsolódó erőforrások
Kapcsolódó hibrid útmutató:
Kapcsolódó architektúrák: