Düzenle

Aracılığıyla paylaş


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

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

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 gösterir.

Mimari

Mimari diyagramı, Kubernetes için Azure Arc topolojisini gösterir.

Bu mimarinin bir Visio dosyasını indirin.

İş Akışı

Mimari aşağıdaki yönlerden oluşur:

  • 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. 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çi veya üçüncü taraf bulut ortamlarında barındırılan Cloud Native Computing Foundation (CNCF) sertifikalı Kubernetes kümelerini ekleyin.
  • Azure İlkesi. Arc özellikli Kubernetes kümeleri için ilkeleri dağıtın ve yönetin.
  • Azure İzleyici. 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 hale getiren bir köprüdür.
  • Azure Kubernetes Service (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 yönetmek için Azure araçlarını ve Azure Kubernetes Service'te (AKS) barındırılan kümeleri kullanabilirsiniz.

Olası kullanım örnekleri

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

  • Envanter, gruplandırma ve etiketleme için AKS'de barındırılan şirket içi Kubernetes kümelerini ve kümelerini yönetme.
  • Hibrit ortamlarda Kubernetes kümelerini izlemek için Azure İzleyici'yi kullanma.
  • Karma ortamlarda Kubernetes kümelerine yönelik ilkeleri dağıtmak ve uygulamak için Azure İlkesi kullanma.
  • GitOps dağıtmak ve zorlamak için Azure İlkesi kullanma.

Öneriler

Aşağıdaki bölümlerde çoğu senaryo için geçerli olan öneriler sunulmaktadır. Microsoft, bunları geçersiz kılan bir gereksiniminiz olmadığı sürece bunları izlemenizi önerir.

Küme kaydı

Tüm etkin CNCF Kubernetes kümelerini kaydedebilirsiniz. Arc özellikli Kubernetes aracılarını dağıtmak için kümeye erişmek için bir kubeconfig dosyasına ve kümede bir küme yöneticisi rolüne ihtiyacınız vardır. Küme kayıt görevlerini gerçekleştirmek için Azure komut satırı arabirimini (CLI) kullanırsınız. 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 ekleme işlemi için Helm 3 gereklidir. Azure Arc özellikli Kubernetes komut satırı arabirimi 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ılan kümede çalışan birkaç aracıdan (işleç olarak da adlandırılır) 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 operatör operatörü.
  • deployment.apps/metrics-agent. Bu aracıların en iyi performansı sergilediğinden emin olmak için diğer Arc aracılarından ölçümler toplar.
  • deployment.apps/cluster-metadata-operator. Küme meta verilerini, küme sürümünü, düğüm sayısını ve Azure Arc aracı sürümünü toplar.
  • deployment.apps/resource-sync-agent. Daha ö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 (MSI) 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.
  • deployment.apps/extension-manager. Uzantı Helm grafiklerinin yaşam döngüsünü yükler ve yönetir.
  • deployment.apps/kube-azure-ad-proxy. Küme Bağlantısı kullanılarak kümeye gönderilen isteklerin kimlik doğrulaması için kullanılır.
  • deployment.apps/clusterconnect-agent. Küme bağlanma özelliğinin kümenin apiserver'sına erişim sağlamasına olanak tanıyan ters ara sunucu aracısı. 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ı sunucusu. Yalnızca azure-rbac özelliği kümede etkinleştirildiğinde dağıtılan isteğe bağlı bir bileşendir.

Daha fazla bilgi için bkz . Azure Arc özellikli Kubernetes kümesini bağlama.

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

Kapsayıcılarınızı izlemek kritik öneme sahiptir. Azure İzleyici Kapsayıcı içgörüleri, AKS ve AKS altyapı kümeleri için zengin bir izleme deneyimi sağlar. Ayrıca Azure'ın dışında barındırılan Azure Arc özellikli Kubernetes kümelerini izlemek için Azure İzleyici Kapsayıcısı içgörülerini yapılandırabilirsiniz. Bunu yaptığınızda Azure, şirket içi ve üçüncü taraf bulut ortamlarında Kubernetes kümelerinizin kapsamlı bir şekilde izlenmesi sağlanır.

Azure İzleyici Kapsayıcısı içgörüleri, Ölçümler uygulama programlama arabirimi (API) aracılığıyla Kubernetes'te bulunan denetleyicilerden, düğümlerden ve kapsayıcılardan bellek ve işlemci ölçümlerini toplayarak size performans görünürlüğü sağlayabilir. Kapsayıcı günlükleri de toplanır. Kubernetes kümelerinden izlemeyi etkinleştirdikten sonra ölçümler ve günlükler Log Analytics aracısının kapsayıcılı bir sürümü tarafından sizin için otomatik olarak toplanır. Ö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. Azure İzleyici Kapsayıcı içgörüleri hakkında daha fazla bilgi için bkz . Azure İzleyici Kapsayıcı içgörülerine genel bakış.

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.

Arc özellikli Kubernetes kümelerinde izlemeyi etkinleştirmek için bkz . Azure Arc özellikli Kubernetes kümesini izlemeyi etkinleştirme

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

GitOps özellikli her Microsoft.Kubernetes/connectedclusters kaynağının veya Microsoft.ContainerService/managedClusters kaynağının üzerine belirli Microsoft.KubernetesConfiguration/fluxConfigurations uygulanmasını zorunlu kılmak 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 kullanmak için Azure Arc özellikli Kubernetes'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 fluxConfiguration parametrelerini de ayarlayın. Atama oluşturulduğunda, İlke altyapısı kapsam içinde bulunan tüm connectedCluster veya managedCluster kaynaklarını belirler ve sonra her birine fluxConfiguration uygular.

Her küme için birden çok kaynak deposu (örneğin, merkezi BT/küme operatörü için bir depo ve uygulama ekipleri için diğer depolar) kullanıyorsanız, bunu birden çok ilke ataması kullanarak etkinleştirin ve her ilke atamasını farklı bir kaynak depo kullanacak şekilde yapılandırın.

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

GitOps kullanarak uygulama dağıtma

GitOps; Git veya Helm deposu, Buckets veya Azure Blob Depolama gibi bir kaynak depoda Kubernetes yapılandırmasının (dağıtımlar, ad alanları vb.) istenen durumunu bildirme uygulamasıdır. Bunu 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ı, kümenize microsoft.flux uzantısı dağıtılarak etkinleştirilir. fluxConfiguration kaynak özellikleri, Kubernetes kaynaklarının kaynak depodan kümenize nereye ve nasıl akması gerektiğini gösterir. fluxConfiguration verileri, veri gizliliğini sağlamak için azure cosmos DB veritabanında bekleyenler için şifrelenmiş olarak depolanır.

Kümenizde çalışan flux-config aracısı, Azure Arc özellikli Kubernetes kaynağındaki yeni veya güncelleştirilmiş fluxConfiguration uzantısı kaynaklarını izlemekten, uygulamaları kaynak deposundan dağıtmaktan ve fluxConfiguration'a yapılan güncelleştirmeleri yaymaktan sorumludur. Çok kiracılı hale getirmek için aynı Azure Arc özellikli Kubernetes kümesindeki ad alanı kapsamını kullanarak birden fazla fluxConfiguration kaynağı bile 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 ortak rol tabanlı erişim denetimi (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 bunu 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.

Topoloji, ağ ve yönlendirme

Azure Arc aracılarının çalışması için aşağıdaki protokoller/bağlantı noktaları/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 Azure Resource Manager belirteçlerini getirmek ve güncelleştirmek için gereklidir.
https://azurearcfork8s.azurecr.io: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, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin 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şılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik sütununa genel bakış.

  • Çoğu durumda, 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 bölge seçiminizi etkileyebilecek bir gerçektir. Bir kesinti, makinenizin bağlı olduğu Azure bölgesini etkilerse, kesinti bağlı makineyi etkilemez, ancak Azure kullanan yönetim işlemleri tamamlanmayabilir. Bölgesel bir kesinti olduğunda dayanıklılık için, coğrafi olarak yedekli bir hizmet sağlayan birden çok konumunuz varsa, her konumdaki makineleri farklı bir Azure bölgesine bağlamak en iyisidir. Kullanılabilir bölgeler için Azure Arc özellikli Kubernetes için desteklenen bölgeler bölümüne bakın.
  • Mimari bölümünde başvuruda bulunan 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ılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

  • 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 CI/CD 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ümelerin yönetilen kimlik kullanılarak oluşturulması gerekir ve mevcut kümeler (Azure ve şirket içi kümeler dahil) yönetilen kimliklere geçirilemiyor. Daha fazla bilgi için bkz . Azure Kubernetes Service'te yönetilen kimlikleri kullanma.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Genel maliyet konuları, Microsoft Azure İyi Tasarlanmış Çerçeve'nin Maliyet iyileştirme ilkeleri bölümünde açıklanmıştır.

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ükemmellik sütununa genel bakış.

  • 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ı 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önetirsiniz.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

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

Sonraki adımlar

İlgili karma kılavuz:

İlgili mimariler: