Kubernetes-fürtök hibrid kezelése és üzembe helyezése az Azure Arc használatával

Azure Arc
Azure Kubernetes Service (AKS)
Azure Monitor
Azure Policy
Azure Role-based access control

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

Az architektúradiagram egy Azure Arc for Kubernetes-topológiát mutat be.

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. A fürtregisztrációs feladatok elvégzéséhez az Azure Parancssori felület (Azure CLI) használatával végezheti el a 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 Fürt Csatlakozás 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ó: Csatlakozás Azure Arc-kompatibilis Kubernetes-fürt.

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 Térképek, 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ő:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések

Kapcsolódó hibrid útmutató:

Kapcsolódó architektúrák: