Yazılım yüklemelerini özelleştirme
Azure CycleCloud şablonları, temel alınan altyapının uygulama ayrıntılarını soyutlayarak HPC kümelerinin ayarlanmasını kolaylaştırır ve iş yükü yönetimine odaklanmanıza olanak sağlar. Ancak bu iş yükünün genellikle ek özelleştirme adımları gerektiren yazılımla ilgili çeşitli bağımlılıkları vardır. Neyse ki Azure CycleCloud, doğrudan küme düğümlerine uygulanan sağlama ve yapılandırma yönetimi görevleri desteği aracılığıyla bu adımları uygulamaya yönelik bir çerçeve de sağlar.
Hedefleriniz arasında özel görüntüleri dağıtma ve şirket içi HPC ortamınızda kullandığınız şirket içi geliştirilmiş yapılandırma betiklerini kullanma gereksinimi yer alır. Bu hedefleri gerçekleştirmek için Azure CycleCloud özelliklerini nasıl kullanabileceğinizi belirlemek istiyorsunuz.
Azure CycleCloud ile yapılandırma yönetimi nasıl uygulanır?
Azure CycleCloud, küme düğümlerindeki işletim sistemini ve yazılımları kendi gereksinimlerinize veya tercihlerinize göre özelleştirmek için rastgele bir şekilde birleştirebileceğiniz üç ana yöntem sunar:
- Özel görüntüler
- Proje
- Cloud-init
Azure CycleCloud ile özel görüntüler nasıl kullanılır?
Azure CycleCloud, en yaygın Linux dağıtımlarını çalıştıran küme düğümlerini ve zamanlayıcıya bağlı olarak Windows Server'ı destekler. Yerleşik şablonlar, önerilen varsayılanlarla önceden ayarlanmıştır, ancak Azure Market görüntülerini veya özel görüntülere göre düğümleri sağlamak için kendi seçimlerinizi yapma konusunda özgürsünüz. İşletim sisteminin dağıtım sonrası kurulumu ve HPC iş yüklerinizin ek bağımlılıklarıyla ilişkili gecikmeyi en aza indirmek istiyorsanız, ikinci seçenek tercih edilebilir. İş, güvenlik veya uyumluluk gereksinimlerini karşılamak için de gerekli olabilir.
Özel görüntüler, önceden yüklenmiş yazılım ve ilk işletim sistemi yapılandırması üzerinde tam denetim sahibi olmanıza olanak tanır. Bunların birincil dezavantajı, özellikle geliştirme senaryolarında farklı uygulama bileşimlerini ve sürümlerini barındırmak için birden çok görüntüyü korumanın ek yüküdür.
Yazılım yüklemesi için Azure CycleCloud projelerini kullanma
Azure CycleCloud projesi, şablonlar aracılığıyla küme düğümlerinin yapılandırmalarını tanımlarken başvurduğunuz bir dosya koleksiyonudur. Projeler aşağıdaki dizin yapısına sahiptir:
\project
|- project.ini
|- blobs
|- templates
|- specs
| |
| default
| |- cluster-init
| |- scripts
| |- files
| |- tests
| | - chef
| |- site-cookbooks
| |- data_bag
| |- roles
project.ini dosyası adı, etiketi, sürümü ve türü dahil olmak üzere projenin meta verilerini içerir. Desteklenen türler zamanlayıcı ve uygulamadır. birincisi baş düğümlere ve işlem düğümlerine zamanlayıcı daemon'larını yüklemek ve başlatmak için kullanılırken, ikincisi küme iş yüklerini tanımlar.
Bloblar dizini, serbestçe yeniden dağıtılabilir açık kaynak projenin ikili dosyaları gibi proje blobları ve lisanslama kısıtlamaları nedeniyle proje yeniden dağıtımının dışında tutulması gereken kullanıcı blobları içerir.
Templates dizini şablonlar içerirken, belirtimler dizini hedef küme düğümlerine uygulanacak yapılandırmaları tanımlayan belirtimleri barındırıyor.
Not
Örneğin, bir Slurm projesi en az iki belirtim içerir: biri zamanlayıcı baş düğümleri için, diğeri işlem düğümleri için.
Specs dizininde cluster-init ve custom Chef adlı iki alt dizin vardır. Cluster-init, hedef düğümde otomatik olarak çalışan betikler içerir. Hedef düğüme kopyalanan ham veri dosyaları ve bir küme test modunda başlatıldığında çalıştırılacak testler. Özel Chef alt dizini yemek kitabı, veri paketi ve rol tanımı dosyaları gibi Chef'e özgü dosyaları içerir. "Nodları yapılandırmak için 'Chef' yemek kitaplarını ve tariflerini kullanabilirsiniz." Cluster-init, Chef rollerine ve yemek kitaplarına yönelik haritalar sunar.
Not
Azure CycleCloud, her düğümü hazırlamak ve yapılandırmak için yapılandırma yönetimi aracı olarak Chef'i kullanır. CycleCloud, Chef'i merkezi bir Chef sunucusuna bağımlı olmayan tek başına bir modda kullanır. Bunun yerine, yönetilen küme düğümleri için tüm aşçılık kitapları işletim sistemi açılış aşaması sırasında depodan indirilir. Bu noktada Chef, düğümün cluster-init belirtimlerinde tanımlanan tariflerin listesini işler ve temel alınan VM'yi çalışan bir HPC düğümüne etkili bir şekilde dönüştürür.
Bir projeyi temel alan bir küme sağlamak için projenin içeriğini Azure CycleCloud dolabına yüklemeniz gerekir. Ardından, hedef düğüm her başlatıldığında, gerekli proje dosyalarını otomatik olarak dolaptan indirir ve gerekli özellikleri işler.
Azure CycleCloud ile cloud-init nasıl kullanılır?
Azure CycleCloud, projeyle ilgili özellikler uygulanmadan önce önyükleme aşamasında küme düğümlerini yapılandırmanın bir yolu olarak cloud-init'i destekler. Bu, ağ ayarlarını yapılandırma veya işletim sistemi paketi güncelleştirmelerini uygulama gibi altyapı veya yazılımla ilgili bağımlılıkları ele almak için kullanışlı bir yöntem sağlar.
Bir şablon kullanarak cloud-init yapılandırmasını tanımlayabilirsiniz ancak bunu doğrudan Azure CycleCloud grafik arabiriminden de gerçekleştirebilirsiniz. Küme oluştururken veya düzenlerken, ilgili ayarları Cloud-Init etiketli sekmede bulursunuz ve burada her düğüm türü için betikleri girebilirsiniz.
Not
Cloud-init, proje belirtimlerinden önce çalıştığından, Azure CycleCloud'un bir düğüme uyguladığı zamanlayıcı ve yapılandırma, cloud-init ile yapılan değişikliklerin üzerine yazabilir. Zamanlayıcı yüklendikten sonra komutlarınızın çalıştığından emin olmanız gerekiyorsa bunun yerine Azure CycleCloud proje belirtimlerini kullanmanız gerekir.