CycleCloud Kümeleri

CycleCloud'da küme terimi, tek bir sistem olarak birlikte çalışan bir grup bağlı bilgisayarı (düğüm) tanımlamak için kullanılır. Kümeler iç içe olabilir; Örneğin, Kılavuz Altyapısı zamanlayıcı baş düğümünden ve işlem düğümlerinden oluşan bir işlem kümesi, hem işlem hem de depolama kümeleri tek bir üst HPC kümesi veya sistemi altında birleştirilmiş çeşitli meta veriler ve depolama sunucularından oluşan bir BeeGFS kümesi bağlayabilir.

Genel Bakış Diyagramı

Düğümler ve Düğüm Dizileri

Kümeler temelde her biri HPC sisteminde belirli bir rol gerçekleştiren düğümlerden oluşur. Node ve VM terimleri zaman zaman birbirinin yerine kullanılır ancak CycleCloud'da birbirinden ayrıdır. Bir kümeyi oluşturan düğümler, Azure'da hazırlama ve yapılandırma işlemini tamamlamış olan sanal makinelerdir. Başka bir deyişle VM'ler Azure altyapı hizmeti katmanlarından sağlanır ve bunların son durumları, yazılım yükleme ve yapılandırma adımlarından sonra bir HPC kümesinin düğümleridir .

Mimari Diyagramı

CycleCloud'da iki ayrı düğüm enkarnasyonu vardır. İlki tek başına düğüm, ikincisi de aynı şekilde yapılandırılmış düğümlerden oluşan bir koleksiyon olan nodearray olarak (Düğüm ve nodearray ayrımı, DevOps Pets vs Cattle benzetmelerini temel alır). Geniş çapta ama kesin olarak değil, tek başına düğümler Azure'da tek vm'lerden oluşturulurken nodearrays sanal makine ölçek kümeleriyle (VMSS) eşlenir.

Ancak nodearray'ler ile VM ölçek kümeleri arasında önemli farklılıklar vardır. Birincil fark, tek bir nodearray'nin birden çok VM ölçek kümesinden oluşabilmesidir. Bu, tek bir nodearray'nin farklı boyutlardaki VM'lerden, hatta farklı VM ailelerinden oluşturulmasını sağlar ve tek kısıtlama, bir nodearray'deki tüm düğümlerin kümede aynı rolü gerçekleştirmesidir; örneğin, tek bir zamanlayıcı kuyruğuna kaynak sağlar.

Küme Şablonları

Topoloji veya düğümlerin bir CycleCloud kümesinde nasıl düzenlendiği, bir kümenin düğümleri arasındaki ilişkileri düzenleyen metin şablonlarında ve iç içe kümeler söz konusu olduğunda kümelerin üst-alt ilişkisinde tanımlanır. Şablonlar ayrıca her düğümün oynadığı rolü tanımlamanın araçlarını da sağlar.

Küme şablonları INI biçiminde tanımlanır. Köşeli ayraçlar []kullanılarak çizgili bölümler, kümeleri, düğümleri ve nodearray'leri tanımlamak için kullanılır. INI dosyalarının temel öğesi, her bölümün yapılandırma ayrıntılarını sağlayan anahtar-değer çifti onaylarıdır. Bu yapılandırma ayrıntıları, sanal makineyi önyüklemek için kullanılan sanal makine görüntüsünden VM'nin sağlanacak alt ağa kadar kümenin her düğümünü oluşturmak için kullanılan bağlamsal bilgileri sağlar. CycleCloud küme şablonları hakkında daha fazla bilgi edinin

Düğüm Hazırlama ve Yapılandırma

CycleCloud, küme şablonunda tanımlanan temel VM görüntülerinden VM'ler sağlar ve önyükleme işlemi sırasında CycleCloud aracısı (Jetpack) tarafından yönetilen bir dizi adımla VM'leri başlatır ve vm'deki işletim sistemini çalışan bir HPC düğümüne dönüştürmek üzere yapılandırılır. Bu adımlar, betiklerden zamanlama yazılımını yükleyip yapılandırmaya ve dosya sistemini bağlamak için son kilometre yapılandırmasına kadar uzanıyor.

Düğüm Hazırlama Diyagramı

Her düğümün yapılandırma bölümünde tanımlanan cluster-init belirtimleridir . Bu belirtimler, kümedeki belirli bir role hazırlamak için kullanılan her önyükleme VM'sine sağlanan belirtimlerdir. CycleCloud, her düğümü hazırlamak ve yapılandırmak için altyapı otomasyon platformu olarak Chef'i kullanır. Özünde, her cluster-init belirtimi , önyüklenen VM'de yürütülmesi gereken daha fazla Chef Rolü ve/veya Yemek Kitabı Tarifleri'ne eşler.

CycleCloud, Chef'i merkezi bir Chef sunucusuna dayanmayan tek başına modda kullanır. Bunun yerine, her VM'yi hazırlamak için gereken Chef Cookbook'larının tamamı VM önyükleme aşamasında kullanıcıya ait bir Azure Depolama Hesabından indirilir. Bu Cookbook kümesi, küme oluşturma aşamasında CycleCloud uygulama sunucusundan Depolama Hesabına önbelleğe alınır.

Bu Cookbook'lar indirildikten sonra Chef, düğümün cluster-init belirtimlerinde tanımlanan Yemek Tarifleri listesini işler ve vm'yi çalışan bir HPC düğümüne dönüştüren bir hazırlık ve yapılandırma aşaması tetikler.

Belirtimler Projeler adlı mantıksal koleksiyonlar olarak yazılır. Örneğin, Slurm gibi bir toplu iş zamanlayıcısı projesi en az iki belirtimden oluşur: biri zamanlayıcı baş düğümleri için, diğeri de işlem düğümleri için. CycleCloud Projeleri hakkında daha fazla bilgi edinin

Node Orchestration

Bir kümede kullanılan zamanlayıcıya ve hizmetlere bağlı olarak, CycleCloud bazen farklı düğümlerin koordinasyonu yoluyla bir kümedeki düğümlerin hazırlık aşamasını düzenlemesi gerekir. Örneğin, bazı zamanlayıcılar her işlem düğümünün kendilerini zamanlayıcı daemon'larına kaydetmesini gerektirir. Bu da işlem düğümlerinin baş düğümün adresinin farkında olmasını gerektirmesinin yanında baş düğümün tam olarak hazır olduğunu anlayıp değilse beklemesini de gerektirir.

Service Discovery'nin bu öğesi, Dosya Sistemi sunucu-istemci ilişkileri için de kullanılır ve CycleCloud'daki bir özelliktir.

Daha Fazla Bilgi