Kubernetes kümeleri için Azure Arc hibrit yönetim ve dağıtım
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
Bu mimarinin bir 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ı mümkün kılar.
AKS , Kubernetes kümelerini dağıtmaya ve ölçeklendirmeye yönelik yönetilen bir hizmettir.
Azure İlkesi tutarlı kaynak idaresi ile uygun ölçekte gerçek zamanlı bulut uyumluluğu elde etmek mümkündür.
Azure İzleyici uygulamalarınız, altyapınız ve ağınız için uçtan uca gözlemlenebilirlik sağlar.
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. ve az connectedk8s connect
komutları için az login
kullandığınız kullanıcı veya hizmet sorumlusu, kaynak türü üzerinde Microsoft.Kubernetes/connectedClusters
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. Helm 3, uzantıyı kullanan connectedk8s
kümeyi eklemek için 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, ad alanına dağıtılan kümede çalışan birkaç aracıdan (veya işleçdenazure-arc
) oluşur:
,
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.daha
deployment.apps/resource-sync-agent
önce bahsedilen küme meta verilerini Azure ile eşitler.,
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. Bu, yalnızca kümede Azure RBAC 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., platformun
deployment.apps/logcollector
işletimsel durumunu 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 altyapı kümeleri için güçlü izleme özellikleri sağlar. 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 Log Analytics aracısının kapsayıcılı bir 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
GitOps özellikli Microsoft.Kubernetes/connectedclusters
her kaynağın veya Microsoft.ContainerService/managedClusters
kaynağın Microsoft.KubernetesConfiguration/fluxConfigurations
belirli bir şekilde uygulandığından emin olmak için Azure İlkesi'ni 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. Ayrıca, oluşturulan için parametreleri fluxConfiguration
ayarlayın. Atama oluşturulduğunda, Azure İlkesi altyapısı kapsamdaki tüm connectedCluster
veya managedCluster
kaynakları tanımlar ve ardından her kaynağa uygular fluxConfiguration
.
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, Demetler veya Azure Blob Depolama olabilir. Bu işlemi, bir işleç kullanarak kümeye bu yapılandırmaların yoklama ve çekme tabanlı dağıtımı izler.
Kümeniz ile bir veya daha fazla kaynak depo arasındaki bağlantı, uzantı kümenize dağıtılarak microsoft.flux
etkinleştirilir. Kaynak özellikleri, fluxConfiguration
Kubernetes kaynaklarının kaynak depodan kümenize nereye ve nasıl akması gerektiğini gösterir. Veriler fluxConfiguration
, veri gizliliğini sağlamaya yardımcı olmak için bir Azure Cosmos DB veritabanında bekleyenler halinde ş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 fluxConfiguration
yapılan tüm güncelleştirmeleri dağıtır. Birden çok kiracı elde etmek için aynı Azure Arc özellikli Kubernetes kümesindeki kapsamı kullanarak namespace
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 |
Kapsayıcı 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 çekmek 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 bkz. Güvenlikiçin tasarım gözden geçirme denetim listesi
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 ekleme 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 bkz. operasyonel mükemmellikiçin tasarım gözden geçirme denetim listesi
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:
- Pieter de Bruin | Üst Düzey Program Yöneticisi
Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- Azure Arc belgeleri
- Azure Arc özellikli Kubernetes belgeleri
- AKS belgeleri
- Azure İlkesi belgeleri
- Azure İzleyici belgeleri
- Mevcut bir Kubernetes kümesini Azure Arc'a bağlama
İlgili kaynaklar
İlgili karma kılavuz:
İlgili mimariler:
- Azure Yerel üzerinde AKS için
Temel mimarisi - Azure Arc kullanarak şirket içi ve çok bulutlu ortamlarda SQL Server örneklerinin yönetimini iyileştirme