Kubernetes kümeleri için Azure Arc hibrit yönetim ve dağıtım

Azure Arc
Azure Kubernetes Service (AKS)
Azure İzleyici
Azure İlkesi
Azure Rol tabanlı erişim denetimi

Bu başvuru mimarisi, Azure Arc'ın Kubernetes küme yönetimini ve yapılandırmasını müşteri veri merkezleri, uç konumları ve birden çok bulut ortamı arasında nasıl genişlettiği açıklanmaktadır.

Mimari

Kubernetes için Azure Arc topolojisini gösteren diyagram.

Bu mimariye ait Visio dosyasını indirin.

İş Akışı

Aşağıdaki iş akışı önceki diyagrama karşılık gelir:

  • Azure Arc özellikli Kubernetes: Azure Arc özellikli Kubernetes'i kullanarak Azure'ın içinde veya dışında Kubernetes kümelerini ekleyin ve yapılandırın. Bir Kubernetes kümesi Azure Arc'a eklendiğinde bir Azure Resource Manager kimliği ve yönetilen kimlik atanır.

  • Azure Kubernetes Service (AKS): Kubernetes küme yönetiminin karmaşıklığını ve işletimsel yükünü azaltmak için Azure'da Kubernetes kümelerini barındırın.

  • Şirket içi Kubernetes kümesi: Şirket içinde veya Microsoft dışı bulut ortamlarında barındırılan Cloud Native Computing Foundation (CNCF) sertifikalı Kubernetes kümelerini ekleyin.

  • Azure İlkesi: Azure Arc özellikli Kubernetes kümeleri için ilkeleri dağıtın ve yönetin.

  • Azure İzleyici: Azure Arc özellikli Kubernetes kümelerini gözlemleyin ve izleyin.

Bileşenler

  • Azure Arc , azure platformunu genişleterek veri merkezlerinde, uçta ve çoklu bulut ortamlarında çalışabilen uygulamalar ve hizmetler oluşturmayı sağlayan bir hizmettir. Bu mimaride Azure Arc, nerede barındırıldıklarından bağımsız olarak Kubernetes kümelerinin merkezi yönetimine ve idaresine olanak tanıyan temel bir platform görevi görür. Hibrit ve çoklu bulut senaryoları için birleşik bir denetim düzlemi sağlar.

  • AKS , Azure'da Kubernetes kümelerini dağıtmaya ve ölçeklendirmeye yönelik yönetilen bir hizmettir. Bu mimaride AKS, Azure içinde tam olarak yönetilen Kubernetes kümeleri sağlar. Kümeler şirket içi ve diğer bulut kümeleriyle birlikte aynı Azure Arc denetim düzlemi üzerinden yönetilebilir ve bu da işlem karmaşıklığını azaltır.

  • Azure İlkesi , tutarlı kaynak idaresi ile büyük ölçekte gerçek zamanlı bulut uyumluluğu sağlayan bir hizmettir. Bu mimaride Azure İlkesi, Arc özellikli tüm Kubernetes kümelerinde merkezi bir ilke yönetimi ve uygulama sağlar. Kümelerin Azure'da, şirket içinde veya diğer bulutlarda çalıştığında tutarlı idare, güvenlik ve uyumluluk ilkelerinin sağlanmasına yardımcı olur.

  • Azure İzleyici , uygulamalar, altyapı ve ağlar için uçtan uca gözlemlenebilirlik sağlayan kapsamlı bir izleme çözümüdür. Bu mimaride Azure İzleyici, karma ortamdaki tüm Kubernetes kümelerinde birleşik izleme ve gözlemlenebilirlik sunar. Merkezi analiz ve uyarı için hem Azure tarafından barındırılan hem de Azure Arc özellikli kümelerden ölçümler, günlükler ve performans verileri toplar.

Senaryo ayrıntıları

Azure Arc'ı kullanarak Microsoft Azure dışında barındırılan Kubernetes kümelerini kaydedebilirsiniz. Daha sonra bu kümeleri ve AKS tarafından barındırılan kümeleri yönetmek için Azure araçlarını kullanabilirsiniz.

Olası kullanım örnekleri

Bu mimarinin tipik kullanımları şunlardır:

  • Şirket içi Kubernetes kümeleri ve AKS tarafından barındırılan kümeler için envanteri, gruplandırma ve etiketlemeyi yönetme.

  • Hibrit ortamlarda Kubernetes kümelerini izlemek için Azure İzleyici'yi kullanma.

  • Hibrit ortamlarda Kubernetes kümelerine yönelik ilkeleri dağıtmaya ve uygulamaya yardımcı olmak için Azure İlkesi'ni kullanma.

  • GitOps'u dağıtmaya ve uygulamaya yardımcı olmak için Azure İlkesi'ni kullanma.

  • Azure Machine Learning iş akışlarını eğiterek ve dağıtarak şirket içi grafik işleme birimi (GPU) yatırımınızı en üst düzeye çıkarma.

  • Kubernetes iş yüklerini izlemek ve görselleştirmek için Prometheus ve Managed Grafana için Azure İzleyici yönetilen hizmetini kullanma.

Öneriler

Aşağıdaki önerileri çoğu senaryoya uygulayabilirsiniz. Bu önerileri geçersiz kılan belirli bir gereksiniminiz olmadığı sürece izlemeniz önerilir.

Küme kaydı

Tüm etkin CNCF Kubernetes kümelerini kaydedebilirsiniz. Azure Arc özellikli Kubernetes aracılarını dağıtmak için kümeye erişmek için bir kubeconfig dosyaya ve kümede küme yöneticisi rolüne ihtiyacınız vardır. Küme kayıt görevlerini gerçekleştirmek için Azure CLI'yi kullanın. az login ve az connectedk8s connect komutları için kullandığınız kullanıcı veya hizmet sorumlusu, Microsoft.Kubernetes/connectedClusters kaynak türünde Okuma ve Yazma izinleri gerektirir. Kubernetes Kümesi - Azure Arc Ekleme rolü bu izinlere sahiptir ve kullanıcı sorumlusunda veya hizmet sorumlusunda rol atamaları için kullanılabilir. connectedk8s uzantısını kullanan kümeyi eklemek için Helm 3 gereklidir. Azure Arc özellikli Kubernetes CLI uzantılarını yüklemek için Azure CLI sürüm 2.3 veya üzeri gereklidir.

Kubernetes için Azure Arc aracıları

Azure Arc özellikli Kubernetes, azure-arc ad alanına dağıtılmış kümede çalışan birkaç aracı (veya işleç) içerir:

  • , deployment.apps/config-agent kümeye uygulanan kaynak denetimi yapılandırma kaynakları için bağlı kümeyi izler ve uyumluluk durumunu güncelleştirir.

  • deployment.apps/controller-manager, Azure Arc bileşenleri arasındaki etkileşimleri düzenleyen bir operatör operatörüdür.

  • , deployment.apps/metrics-agent bu aracıların en iyi performansı göstermesini sağlamak için diğer Azure Arc aracılarından ölçümleri toplar.

  • küme deployment.apps/cluster-metadata-operator sürümü, düğüm sayısı ve Azure Arc aracı sürümü dahil olmak üzere küme meta verilerini toplar.

  • deployment.apps/resource-sync-agent, daha önce bahsedilen küme meta verilerini Azure’a eşzamanlar.

  • , deployment.apps/clusteridentityoperator Azure ile iletişim kurmak için diğer aracılar tarafından kullanılan Yönetilen Hizmet Kimliği sertifikasını korur.

  • , deployment.apps/flux-logs-agent kaynak denetimi yapılandırmasının bir parçası olarak dağıtılan flux işleçlerinden günlükleri toplar.

  • Uzantı deployment.apps/extension-manager Helm grafiklerinin yaşam döngüsünü yükler ve yönetir.

  • , deployment.apps/kube-aad-proxy AKS kümesi bağlanma özelliği aracılığıyla kümeye gönderilen istekler için kimlik doğrulamasını işler.

  • , deployment.apps/clusterconnect-agent küme bağlanma özelliğinin kümenin API sunucusuna erişim sağlamasına olanak tanıyan bir ters ara sunucu aracısıdır. Bu, yalnızca kümede küme bağlantısı özelliği etkinleştirildiğinde dağıtılan isteğe bağlı bir bileşendir.

  • deployment.apps/guard, Microsoft Entra rol tabanlı erişim denetimi (RBAC) için kullanılan bir kimlik doğrulama ve yetkilendirme web kancası sunucusudur. Yalnızca Azure rol tabanlı erişim denetimi (Azure RBAC) kümede etkinleştirildiğinde dağıtılan isteğe bağlı bir bileşendir.

  • , deployment.apps/extension-events-collector uzantı yaşam döngüsü yönetimiyle ilgili günlükleri toplar. Bu günlükleri Oluştur, Yükselt ve Sil gibi her işleme karşılık gelen olaylar halinde toplar.  

  • deployment.apps/logcollector, platformun operasyonel sağlığını sağlamaya yardımcı olmak için platform telemetrisini toplar.

Daha fazla bilgi için bkz. Mevcut bir Kubernetes kümesini Azure Arc'a bağlama.

Azure İzleyici kapsayıcı içgörülerini kullanarak kümeleri izleme

Kapsayıcılarınızı izlemek çok önemlidir. Azure İzleyici kapsayıcı içgörüleri, AKS ve AKS Engine kümeleri için güçlü izleme özellikleri sunar. Azure'ın dışında barındırılan Azure Arc özellikli Kubernetes kümelerini izlemek için Azure İzleyici kapsayıcı içgörülerini de yapılandırabilirsiniz. Bu yapılandırma Azure, şirket içi ve Microsoft dışı bulut ortamlarında Kubernetes kümelerinizin kapsamlı bir şekilde izlenmesini sağlar.

Azure İzleyici kapsayıcı içgörüleri, denetleyicilerden, düğümlerden ve kapsayıcılardan bellek ve işlemci ölçümlerini toplayarak performans görünürlüğü sağlar. Bu ölçümler, Ölçümler API'sini kullanarak Kubernetes'te kullanılabilir. Kapsayıcı günlükleri de toplanır. Kubernetes kümelerinden izlemeyi etkinleştirdikten sonra, Azure İzleyici aracısının kapsayıcı sürümü ölçümleri ve günlükleri otomatik olarak toplar. Ölçümler ölçüm deposuna, günlük verileri ise Log Analytics çalışma alanınızla ilişkili günlük deposuna yazılır. Daha fazla bilgi için bkz. Kubernetes izleme için Azure İzleyici özellikleri.

PowerShell betiği veya Bash betiği kullanarak Kubernetes'in bir veya daha fazla dağıtımı için Azure İzleyici kapsayıcı içgörülerini etkinleştirebilirsiniz.

Daha fazla bilgi için bkz . Kubernetes kümeleri için izlemeyi etkinleştirme.

GitOps tabanlı uygulama dağıtımını etkinleştirmek için Azure İlkesi kullanma

Her bir GitOps özellikli Microsoft.Kubernetes/connectedclusters kaynağına veya Microsoft.ContainerService/managedClusters kaynağına belirli Microsoft.KubernetesConfiguration/fluxConfigurations öğelerinin uygulandığından emin olmak için Azure İlkesi kullanın. Örneğin, bir veya daha fazla kümeye temel yapılandırma uygulayabilir veya belirli uygulamaları birden çok kümeye dağıtabilirsiniz. Azure İlkesi'ni kullanmak için Azure Arc özellikli Kubernetes için Azure İlkesi yerleşik tanımlarından bir tanım seçin ve ardından bir ilke ataması oluşturun. İlke atamasını oluşturduğunuzda kapsamı bir Azure kaynak grubu veya aboneliği olarak ayarlayın. Oluşturulan fluxConfiguration için parametreleri de ayarlayın. Atama oluşturulduğunda Azure İlkesi altyapısı, kapsam dahilindeki tüm connectedCluster veya managedCluster kaynaklarını belirler ve ardından fluxConfiguration öğesini her kaynağa uygular.

Merkezi BT veya küme operatörü için bir depo ve uygulama ekipleri için diğer depolar gibi her küme için birden çok kaynak deposu kullanıyorsanız, birden çok ilke ataması kullanarak bu özelliği etkinleştirin ve her ilke atamasını farklı bir kaynak deposu kullanacak şekilde yapılandırın.

Daha fazla bilgi için bkz. Flux v2 yapılandırmalarını ve Azure İlkesi'ni kullanarak uygulamaları tutarlı bir şekilde büyük ölçekte dağıtma.

GitOps kullanarak uygulama dağıtma

GitOps, kaynak depoda dağıtımlar ve ad alanları gibi Kubernetes yapılandırmalarının istenen durumunu tanımlama uygulamasıdır. Bu depo, bir Git veya Helm deposu, Bucket deposu ya da Azure Blob Depolama olabilir. Bu sürecin ardından, bu yapılandırmalar bir operatör kullanılarak yoklama ve çekmeye dayalı olarak kümeye dağıtılır.

Kümeniz ile bir veya daha fazla kaynak depo arasındaki bağlantı, kümenize microsoft.flux uzantısı dağıtılarak etkinleştirilir. Kaynak özellikleri, fluxConfiguration Kubernetes kaynaklarının kaynak depodan kümenize nereye ve nasıl akması gerektiğini gösterir. fluxConfiguration veri, veri gizliliğinin korunmasına yardımcı olmak için Azure Cosmos DB veritabanında beklemede şifrelenmiş olarak depolanır.

flux-config Kümenizde çalışan aracı, Azure Arc özellikli Kubernetes kaynağındaki yeni veya güncelleştirilmiş fluxConfiguration uzantı kaynaklarını izler, uygulamaları kaynak depodan dağıtır ve üzerinde fluxConfigurationyapılan tüm güncelleştirmeleri dağıtır. Çok kiracılığı sağlamak için aynı Azure Arc özellikli Kubernetes kümesinde namespace kapsamını kullanarak birden çok fluxConfiguration kaynak oluşturabilirsiniz.

Kaynak depo, Ad Alanları, ConfigMap'ler, Dağıtımlar ve DaemonSet'ler de dahil olmak üzere geçerli kubernetes kaynaklarını içerebilir. Ayrıca, uygulamaları dağıtmak için Helm grafikleri de içerebilir. Yaygın kaynak deposu senaryoları, kuruluşunuz için yaygın RBAC rollerini ve bağlamalarını, izleme aracılarını, günlük aracılarını ve küme genelindeki hizmetleri içerebilen bir temel yapılandırma tanımlamayı içerir.

Ayrıca, heterojen ortamlarda dağıtılan daha büyük bir küme koleksiyonunu da yönetebilirsiniz. Örneğin, kuruluşunuz için temel yapılandırmayı tanımlayan bir deponuz olabilir ve ardından bu yapılandırmayı aynı anda birden çok Kubernetes kümesine uygulayabilirsiniz. Uygulamaları birden çok kaynak deposundan bir kümeye de dağıtabilirsiniz.

Daha fazla bilgi için bkz. Flux v2 ile GitOps kullanarak uygulama dağıtma.

Machine Learning'i çalıştırma

Machine Learning'de, makine öğrenmesi işlemleriniz için işlem hedefi olarak bir AKS (veya Azure Arc özellikli Kubernetes) kümesi seçebilirsiniz. Bu özellik, makine öğrenmesi modellerini kendi, şirket içinde barındırılan (veya çoklu bulut) altyapınızda eğitebilmenizi veya dağıtmanızı sağlar. Bu yaklaşım, GPU'lardaki şirket içi yatırımlarınızı Machine Learning'in bulutta sağladığı yönetim kolaylığıyla birleştirmenizi sağlar.

Yönetilen Prometheus ve Grafana ile Kubernetes iş yüklerini izleme

Azure İzleyici, bu popüler Kubernetes izleme araçlarından yararlanabilmeniz için hem Prometheus hem de Grafana dağıtımları için yönetilen bir hizmet sağlar. Bu yönetilen hizmet, dağıtımları kendiniz yönetmenize ve güncelleştirmenize gerek kalmadan bu araçları kullanmanıza olanak tanır. Prometheus ölçümlerini analiz etmek için PromQL ile ölçüm gezginini kullanın.

Topoloji, ağ ve yönlendirme

Azure Arc aracılarının çalışması için aşağıdaki protokoller, bağlantı noktaları ve giden URL'ler gerekir.

Uç nokta (DNS) Açıklama
https://management.azure.com:443 Aracının Azure'a bağlanması ve kümeyi kaydetmesi için gereklidir.
https://[region].dp.kubernetesconfiguration.azure.com:443 Aracının durum bilgisi göndermesi ve yapılandırma bilgilerini getirmesi için veri düzlemi uç noktası; burada [region] AKS örneğini barındıran Azure bölgesini temsil eder.
https://docker.io:443 Konteyner görüntülerini çekmek için gereklidir.
https://github.com:443, git://github.com:9418 Örnek GitOps depoları GitHub'da barındırılır. Yapılandırma aracısı, belirttiğiniz git uç noktasına bağlantı gerektirir.
https://login.microsoftonline.com:443, https://<region>.login.microsoft.com, login.windows.net Azure Resource Manager belirteçlerini getirmek ve güncelleştirmek için gereklidir.
https://mcr.microsoft.com:443 https://*.data.mcr.microsoft.com:443 Azure Arc aracıları için kapsayıcı görüntülerini indirmek için gereklidir.

Azure Arc hizmetleri genelindeki URL'lerin tam listesi için bkz . Azure Arc ağ gereksinimleri.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, iş yükünün kalitesini artırmak için kullanabileceğiniz bir dizi yol gösteren ilke olan Azure Well-Architected Framework'ün yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesine yardımcı olur. Daha fazla bilgi için bkz. Güvenilirlikiçin tasarım gözden geçirme denetim listesi .

  • Çoğu senaryoda, yükleme betiğini oluştururken seçtiğiniz konum, coğrafi olarak şirket içi kaynaklarınıza en yakın Azure bölgesi olmalıdır. Verilerin geri kalanı, belirttiğiniz bölgeyi içeren Azure coğrafyası içinde depolanır. Veri yerleşimi gereksinimleriniz varsa bu ayrıntı bölge seçiminizi etkileyebilir. Bir kesinti, makinenizin bağlı olduğu Azure bölgesini etkilerse, kesinti bağlı makineyi etkilemez, ancak Azure kullanan yönetim işlemleri tamamlanmayabilir. Coğrafi olarak yedekli bir hizmet sağlayan birden çok konumunuz varsa, her konumdaki makineleri farklı bir Azure bölgesine bağlayın. Bu uygulama, bölgesel bir kesinti oluşursa dayanıklılığı artırır. Daha fazla bilgi için bkz. Azure Arc özellikli Kubernetes için desteklenen bölgeler.

  • Çözümünüzdeki hizmetlerin Azure Arc'ın dağıtıldığı bölgede desteklendiğinden emin olmalısınız.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanımına karşı güvence sağlar. Daha fazla bilgi için Güvenlik için tasarım gözden geçirme denetim listesi bölümüne bakın.

  • Azure RBAC'yi kullanarak Azure'da ve Microsoft Entra kimliklerini kullanan şirket içi ortamlarda Azure Arc özellikli Kubernetes'e erişimi yönetebilirsiniz. Daha fazla bilgi için bkz. Kubernetes Yetkilendirmesi için Azure RBAC kullanma.

  • Microsoft, Kubernetes kümelerini Azure Arc'a eklemek için sınırlı ayrıcalıklara sahip bir hizmet sorumlusu kullanmanızı önerir. Bu uygulama, Azure Pipelines ve GitHub Actions gibi sürekli tümleştirme ve sürekli teslim işlem hatlarında kullanışlıdır. Daha fazla bilgi için bkz. Azure Arc özellikli katılım hizmet sorumlusu oluşturma.

  • Hizmet sorumlusu yönetimini basitleştirmek için AKS'de yönetilen kimlikleri kullanabilirsiniz. Ancak, kümeler yönetilen kimlik kullanılarak oluşturulmalıdır. Azure ve şirket içi kümeleri içeren mevcut kümeler yönetilen kimliklere geçirilemiyor. Daha fazla bilgi için AKS'de yönetilen bir kimlik kullanma'ya bakın.

Maliyet İyileştirme

Maliyet İyileştirme, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarına odaklanır. Daha fazla bilgi için bkz. Maliyet İyileştirmeiçin tasarım gözden geçirme denetim listesi.

Maliyetle ilgili genel konular için bkz. Maliyet İyileştirme tasarım ilkeleri.

Operasyonel Mükemmellik

Operasyonel Mükemmellik, bir uygulamayı dağıtan ve üretimde çalışır durumda tutan operasyon süreçlerini kapsar. Daha fazla bilgi için Operasyonel Mükemmellik için tasarım gözden geçirme denetim listesi bölümüne bakın.

  • Azure Arc özellikli Kubernetes kümelerinizi yapılandırmadan önce, küme sayısını planlamak için Azure Resource Manager abonelik sınırlarını ve kaynak grubu sınırlarını gözden geçirin.

  • Kubernetes uygulama yaşam döngülerini yüklemek ve yönetmek için açık kaynak paketleme aracı olan Helm'i kullanın. APT ve Yum gibi Linux paket yöneticilerine benzer şekilde Helm'i kullanarak önceden yapılandırılmış Kubernetes kaynaklarının paketleri olan Kubernetes grafiklerini yönetin.

Katkıda Bulunanlar

Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.

Asıl yazar:

Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

İlgili hibrit kılavuz:

İlgili mimariler: