Azure CycleCloud'un temellerini açıklama

Tamamlandı

Birçok kuruluş, hiper ölçek özelliklerinden yararlanmak için şirket içi HPC iş yüklerini Azure'a geçirmek istiyor. Ayrıca bu tür bir geçişle ilişkili öğrenme eğrisini en aza indirmek ve belirli bir HPC zamanlayıcı gibi mevcut dağıtımlarla ilişkili uzmanlığı kullanmak isterler. Son olarak, şirket içi ortamlarını paralel hale getiren şekilde bulut tabanlı küme kaynaklarının performansı ve maliyeti hakkında içgörüler ararlar.

Bu gereksinimleri karşılayan özel bir çözüm uygulamak zordur. Bulut tabanlı HPC kümelerinin yapı taşları olarak hizmet veren Azure işlem, ağ ve depolama kaynakları hakkında ayrıntılı bilgi gerektirir. Ayrıca, karşılık gelen bir yönetim arabirimi olmadan, standart Azure yönetim araçlarına güvenerek böyle bir çözümün çalıştırılması önemli bir yönetim yüküne neden olur.

Azure CycleCloud bu endişeleri gidererek Azure'da HPC zamanlayıcılarını uygulamak için basit, güvenli ve ölçeklenebilir bir yol sağlar. Bu ünitede temel işlevleri hakkında bilgi edineceksiniz.

Dekont

Azure CycleCloud, belirli bir HPC zamanlayıcısının kullanılmasını gerektiren dağıtım senaryolarını hedefler. Bu, Azure'da Hizmet Olarak Zamanlayıcı sağlayan Azure Batch'i tamamlar.

Azure CycleCloud Nedir?

Azure CycleCloud, Azure'da HPC kümelerini dağıtmaya ve iş yüklerini yönetmeye yönelik bir araçtır. Aşağıdakiler dahil olmak üzere çok çeşitli HPC özellikleri sunar:

  • HPC kümelerinin şablon tabanlı dağıtımı. Azure CycleCloud, Slurm, OpenPBS, LSF, Grid Engine ve HTCondor gibi en yaygın küme zamanlayıcılarının dağıtımı için yerleşik özelleştirilebilir şablonlar sağlar. Azure CycleCloud örneğine aktarabileceğiniz diğer birçok önceden tanımlanmış şablon CycleCloud GitHub deposundan kullanılabilir.

    Dekont

    Şablonlar, düğümlerin ilgili ilişkileri de dahil olmak üzere bir CycleCloud kümesinde nasıl düzenlendiğini açıklamak için bildirim temelli söz dizimi kullanan INI biçimli dosyalardır. Şablonlar, düğüm yapılandırmasını tanımlayan projelere başvurular içerir.

  • Küme düğümlerinin el ile ve otomatik ölçeklendirmesi. Azure CycleCloud, yönetilen kümelerin iş kuyruklarının uzunluğuna ve idare ilkelerine göre el ile ve otomatik yatay ölçeklendirmeye olanak tanır. Ayrıca, özel zamanlayıcılar için otomatik ölçeklendirme bağdaştırıcıları geliştirmeye yönelik bir REST API de sunar.

  • Cloud-init betikleri aracılığıyla düğüm yapılandırması. Azure CycleCloud, diğer CycleCloud'a özgü yapılandırma görevlerden önce yönetilen küme düğümleri içinde çalışan özel betiklere dayalı yapılandırma yönetimini destekler.

  • İç ve dış küme depolamasının yönetimi. Azure CycleCloud, Azure yönetilen diskleri ve NFS sunucuları veya BeeGFS kümeleri gibi Ağa Bağlı Depolama sağlayarak, bağlayarak ve biçimlendirerek küme depolamayı yapılandırmanıza olanak tanır.

  • İzleme, günlüğe kaydetme ve uyarı alma. Azure CycleCloud yerleşik küme izlemesi sunar ve Azure İzleyici ile tümleşir. CycleCloud kümelerindeki günlük verilerini Log Analytics'e depolamak ve özel ölçüm panoları oluşturmak da mümkündür. Telemetri verileri tarafından tetiklenen özel uyarılar ve e-posta bildirimleri de oluşturabilirsiniz. Tüm Azure CycleCloud etkinlikleri günlüğe kaydedilir.

  • Kimlik doğrulaması ve yetkilendirme. Azure CycleCloud yerleşik yerel kimlik doğrulamayı destekler. Alternatif olarak, Active Directory Etki Alanı Hizmetleri (AD DS) veya diğer Basit Dizin Erişim Protokolü (LDAP) tabanlı kimlik sağlayıcılarıyla tümleştirebilirsiniz. Varsayılan olarak, yerel olarak tanımlanan kullanıcıların yönetilen küme düğümlerinde işletim sistemine erişimi vardır, ancak küme kullanıcılarını ayrı ayrı yönetmek mümkündür. Azure aboneliğindeki kaynakların yönetimi için Microsoft Entra hizmet sorumlusu veya yönetilen kimlik kullanabilirsiniz.

  • Neredeyse gerçek zamanlı maliyet raporlama ve denetimler. Azure CycleCloud, küme kullanımını izler ve buna karşılık gelen maliyeti tahmin eder. Bu özellik, küme maliyeti belirttiğiniz parasal miktarı aştığında tetiklenen bütçe uyarılarını ayarlamanıza olanak tanır. Azure CycleCloud, Microsoft Maliyet Yönetimi ile de tümleşir.

Azure CycleCloud'ı nasıl uygular ve kullanırsınız?

CycleCloud, Azure ortamınıza erişebileceğiniz herhangi bir konuma yükleyebileceğiniz Linux tabanlı bir web uygulaması olarak uygulanır. Bunu ayarlamanın en basit yolu, Azure Resource Manager (ARM) şablonu kullanarak dağıtımı otomatikleştirme seçeneğiyle ilgili Azure Market görüntüsünü kullanarak bir Azure VM dağıtmaktır. Alternatif olarak, yum veya apt paketlerini ya da Microsoft'un Container Registry'sinden sağlanan bir kapsayıcı görüntüsünü kullanabilirsiniz.

İlk yapılandırma sırasında, CycleCloud uygulamasını barındıran işletim sistemine ve daha sonra dağıtılan küme düğümlerine erişimin güvenliğini sağlamak için bir SSH anahtarı sağlama seçeneğiniz olacaktır. CycleCloud uygulamasının ARM ile etkileşim kurmasını sağlamak için, bu etkileşim için güvenlik bağlamı sağlayacak bir Microsoft Entra kimliği seçmeniz ve Azure rol tabanlı erişim denetimi (RBAC) kullanarak hedef Azure aboneliğinde yeterli izinleri atamanız gerekir. Bu kimlik bir hizmet sorumlusu biçiminde olabilir veya Azure CycleCloud uygulamasını bir Azure VM'de barındırırsa, yönetilen kimlik olabilir.

Azure CycleCloud örneği için bir Azure depolama hesabı ve buna eşlik eden bir blob kapsayıcısı da gerekir. "Dolap" olarak adlandırılan bu kapsayıcı, projelerin küme düğümlerine dağıtımı için hazırlama alanını sağlar.

Azure CycleCloud uygulaması yüklendikten sonra, kullanıcının HPC sistemlerini yönetmesine ve izlemesine olanak tanıyan bir grafik kullanıcı arabirimi ve CycleCloud'un mevcut iş akışlarına otomasyonunu ve tümleştirmesini kolaylaştıran bir komut satırı arabirimi (CLI) sağlar. Ayrıca CLI kullanarak şablonları içeri aktarabilir, küme sağlamayı otomatikleştirebilir ve daha gelişmiş yönetim görevleri gerçekleştirebilirsiniz.

The screenshot depicts the graphical interface of the Azure CycleCloud web application.

Azure CycleCloud mimarisi nedir?

Azure CycleCloud, ARM'ye kıyasla ek bir soyutlama katmanı sağlayarak kullanıcılarının Azure işlem ve depolama kaynaklarıyla doğrudan ilgilenme gereksinimini en aza indirir. Rolü, grafik arabirimi veya CLI aracılığıyla erişilebilen zamanlayıcı düzeyi yapılandırmaları kullanıcı tanımlı sanal ağlarda ve alt ağlarda Azure VM'leri ve Azure VM Ölçek Kümeleri ile etkileşim kuran ARM API çağrılarına çevirmektir. Bu çağrılar bölgesel vCPU kotalarını, küme boyutu sınırlarını ve InfiniBand ağ topolojisinin kısıtlamalarını da dikkate alır. Ayrıca yakınlık yerleştirme grupları gibi yapıları kullanarak veya küme düğümlerini aynı InfiniBand anahtarına bağlayarak küme performansını iyileştirmeyi kolaylaştırır.

Dekont

Yakınlık yerleştirme grubu, Azure VM'lerinin birbirine yakın bir şekilde yerleştirilmesini sağlar ancak InfiniBand ağını dikkate almaz. Azure CycleCloud, küme düğümlerini aynı ağ anahtarına bağlı tek bir Azure VM Ölçek Kümesinde gruplandırmak için PlacementGroupId olarak adlandırılan kendi yapısını kullanmanıza olanak tanır. Bu iki özelliği birleştirebilirsiniz, ancak bu, aynı Azure VM Ölçek Kümesi içinde sağlayabileceğiniz düğüm sayısını azaltabilir.

Azure CycleCloud, genellikle bir veya daha fazla HPC zamanlayıcı baş düğümünden ve işlem düğümünden oluşan HPC kümelerinin yaşam döngüsünü düzenler, ancak NFS sunucusu veya BeeGFS kümesi, Azure NetApp Files, Azure HPC Önbelleği ve Microsoft Entra Domain Services gibi Ağ Bağlı Depolama de içerebilir. Küme ve düğüm durumlarını önbelleğe alıp iç NoSQL veri deposu içerir. Düğüm izleme sistemi uyarıyı etkinleştirir. Yönetim işlevselliği REST API aracılığıyla kullanıma sunulur ve web ve CLI üzerinden erişilebilir.

Yönetilen kümenin otomatik olarak ölçeklenmesi, İsteğe Bağlı Hesaplayıcı ve Otomatik Ölçeklendirme Kitaplığı'na bağlıdır. Bu kursun sonraki ünitesinde özellikleri hakkında bilgi edineceksiniz.

A depiction of the high-level architecture of Azure CycleCloud.

Azure CycleCloud küme yaşam döngüsü nedir?

Kümenin yaşam döngüsü, tanımını içeren bir şablon seçmekle başlar. Yerleşik şablonlardan birini kullanma veya özel şablon oluşturup Bunu CycleCloud uygulamasına aktarma seçeneğiniz vardır. Şablon genellikle, oluşturma sırasında küme yapılandırmasını özelleştirmenizi sağlayan çeşitli parametreler içerir. Küme oluşturma işleminin özellikleri, web'i mi yoksa CLI'yi mi kullandığınıza bağlıdır.

Bir küme oluşturduktan sonra kümeyi başlatabilirsiniz. Kümenin başlatılması, küme şablonu tabanlı tanımın parçası olan her düğüm için bir dizi görev tetikler. Bu dizi, Alma durumu olarak adlandırılan bir Azure VM'nin sağlanmasını isteyen ARM çağrısından oluşur. Bunu, ilgili projede tanımlanan başlatma işleminin yürütülmesi, zamanlama yazılımını yükleyip yapılandırmak için betiklerin yürütülmesi ve dosya sistemi birimleri sağlama ve bağlama dahil olmak üzere VM yapılandırması izler. Sıra tamamlandığında düğüm Başlatıldı durumuna ulaşır. İşlenmeyen veya bilinmeyen tüm hatalar Hata durumuna neden olur.

Küme düğümleri çalıştırıldıktan sonra, işletim sistemlerine bağlı olarak SSH veya RDP aracılığıyla uzaktan erişilebilir. Küme işlerini göndermek için bu tür bağlantıları kullanabilirsiniz. Küme yapılandırmasına bağlı olarak, bu durum kümenin ölçeklendirmesini tetikleyebilir.

Gönderilen tüm işleri tamamlayan bir kümeyi sonlandırabilirsiniz. Küme sonlandırıldığında düğümleri durdurulup kaldırılır ve kalıcı olmayan birimler silinir ve küme Kapalı durumda bırakılır.