Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure CycleCloud, küme yapılandırmalarını tanımlamak için şablonları kullanır. CycleCloud varsayılan olarak birçok şablon içerir. Desteklenen şablonların tam listesi için bkz. GitHub. Yeni şablonlar oluşturabilir veya mevcut şablonları özelleştirebilirsiniz. Örneğin, Spot VM'lerden yararlanmak için mevcut bir şablonu özelleştirebilir veya kendi ağınızı genişletmek için bir VPC ekleyebilirsiniz.
Yapılandırma gösterimi
Azure CycleCloud küme şablonları, düğüme veya düğüm dizisine bir veya daha fazla [[yapılandırma]]] bölümü eklemenize olanak tanır. Bu bölümlerde CycleCloud'un başlattığı düğümler için yazılım yapılandırma seçenekleri belirtilir. Yapılandırmak istediğiniz öznitelikleri belirtmek için noktalı gösterimi kullanın:
[[node scheduler]]
[[[configuration]]]
cycle_server.admin.name = poweruser
cycle_server.admin.pass = super_secret
cycle_server.http_port = 8080
cycle_server.https_port = 8443
Ayrıca, yazımı azaltmak ve bir yapılandırma bölümü belirtmek için prefix gösterimini de kullanabilirsiniz.
Aynı yapılandırma şu şekilde de yazılabilir:
[[node scheduler]]
[[[configuration cycle_server]]]
admin.name = poweruser
admin.pass = super_secret
http_port = 8080
https_port = 8443
Gerekirse bir düğüm veya düğüm dizisi birden çok yapılandırma bölümü de içerebilir:
[[node scheduler]]
[[[configuration]]]
run_list = role[sge_scheduler_node]
[[[configuration cycle_server.admin]]]
name = poweruser
pass = super_secret
Küme şablonu parametreleri
Küme şablonları, kümenin belirli bölümlerinin değerlerini değiştirmek için kullandığınız parametreleri içerebilir. Şablonun kendisini değiştirmeniz gerekmez. Bu özellik özellikle geliştirme ve üretim ortamlarını dağıtma gibi küçük farklara sahip çok sayıda benzer küme oluşturmak istediğinizde kullanışlıdır. Küme şablonu içinde parametre belirtmek için bir değişkene '$' ön eki ekleyin. Bazı parametreler içeren temel bir şablon örneği (işlevsel olmayan) şöyle görünebilir:
# template.txt
[cluster gridengine]
[[node scheduler]]
MachineType = $machine_type
[[[configuration]]]
gridengine.slots = $slots
Bu şablon iki parametre tanımlar: $machine_type ve $slots. Bu şablonla, geliştirme ve üretim ortamlarında bu parametrelerin değerlerini içeren metin dosyaları oluşturabilirsiniz. Parametre dosyası için JSON biçimini veya Java özellikleri dosya biçimini kullanabilirsiniz:
# dev-params.json
{
"machine_type": "H16r",
"slots": 2
}
# prod-params.properties
machine_type = Standard_D4v3
slots = 8
Bu örnek, geliştirme parametrelerini içeren bir JSON dosyası ve üretim için değerleri içeren bir .properties dosyası oluşturur.
Uyarı
Parametreler dosyanızın dosya uzantısı önemlidir! JSON kullanıyorsanız dosyanıza foo.jsonadını verin. Java özelliklerini kullanıyorsanız dosya adınızı ile .propertiessonlandırabilirsiniz. Yanlış adlandırılmış parametre dosyaları düzgün içeri aktarılmıyor.
Artık eksik parçaları doldurmak için parametre dosyasını kullanarak şablonu içeri aktarabilirsiniz:
cyclecloud import_cluster gridengine-dev -f template.txt -p dev-params.json -c gridengine
cyclecloud import_cluster gridengine-prod -f template.txt -p prod-params.properties -c gridengine
Küme şablonunun içindeki parametrelerin bir kısmını veya tümünü de tanımlayabilirsiniz:
# template.txt
[cluster gridengine]
[[node scheduler]]
MachineType = $machine_type
[[[configuration]]]
gridengine.slots = $slots
[parameters]
[[parameter machine_type]]
DefaultValue = Standard_D4v3
[[parameter slots]]
DefaultValue = 2
Şablon, her parametre için varsayılan değerleri tanımlar (geliştirme değerlerini varsayılan olarak kullandık).
Artık şablonu parametre dosyası olmadan içeri aktarabilirsiniz ve geliştirme değerleri otomatik olarak kullanılır. Üretim kümesi oluşturma zamanı geldiğinde, şablon dosyasının içindeki belirtilen değerleri değiştirmek için prod-params.properties dosyasını kullanın.
Uyarı
Parametre adları herhangi bir harf, sayı ve alt çizgi içerebilir.
Şablondaki parametre başvuruları iki biçimden birini alabilir:
$param: adlı paramtek bir parametrenin değerini kullanır.
${expr}: Dinamik değerleri hesaplamanızı sağlayan tüm parametreler bağlamında değerlendirir expr . Örneğin:
Attribute = ${(a > b ? a : b) * 100}
Bu ifade iki parametreden a daha büyük olanını alır ve b100 ile çarpar.
İfade ClassAd dil belirtimine göre yorumlanır ve değerlendirilir.
Tek başına bir parametre başvurusu varsa, boolean, tamsayı ve listeler gibi iç içe yerleştirilmiş yapılar gibi dize olmayan türleri destekleyen parametrenin değeri kullanılır.
Ancak, başvuru başka bir metne eklenmişse, değeri dönüştürülür ve bir dizeye eklenir.
Örneğin, param456 olarak tanımlandığını ve iki yerde referans gösterildiğini varsayalım.
- Öznitelik1 = $param
- Öznitelik2 = 123$param
Attribute1 değeri 456 sayısıdır, ancak Attribute2 değeri "123456" dizesidir.
${param} ile aynı $paramşekilde çalışır, böylece daha karmaşık durumlarda parametre başvurularını eklemek için kullanabilirsiniz:
- Öznitelik3 = 123$param789
- Öznitelik4 = 123${param}789
Attribute3 adlı param789 parametreyi arar, ancak Attribute4param almak için "123456789" değerini kullanır.
Makine türleri
Azure CycleCloud, özniteliği aracılığıyla MachineType birden çok makine türünü destekler. Çözüm, kapasiteyi listelediğiniz sırayla almaya çalışır.
Küme başlangıç belirtimleri
Azure CycleCloud web uygulaması, yeni bir küme oluşturduğunuzda küme başlatma projesi belirtimlerini seçmenize olanak tanır. Küme şablonunda proje belirtimlerini ayarlayın:
[parameter ClusterInitSpecs]
Label = Cluster-Init
Description = Cluster init specs to apply to nodes
ParameterType = Cloud.ClusterInitSpecs
[cluster demo]
[[node defaults]]
AdditionalClusterInitSpecs = $ClusterInitSpecs
[[[cluster-init myproject:myspec:1.0.0]]]
Küme şablonunuz için bu parametreyi ekledikten sonra, küme oluştururken doğru proje belirtimlerini seçmek için dosya seçiciyi kullanabilirsiniz.
Spot sanal makineleri
İş yüklerinizin maliyetini azaltmak için Interruptible değerini true olarak ayarlayın. Bu ayar, örneğinizi spot sanal makine olarak ayarlar ve kullanılabilir olduğunda fazla kapasiteden yararlanmasını sağlar. Bu örneklerin her zaman kullanılabilir olmadığını ve herhangi bir zamanda önlenebilir olduğunu, bu nedenle iş yükünüz için uygun olmayabileceğini unutmayın.
Varsayılan olarak, Interruptible'yi true olarak ayarladığınızda, instance, en yüksek fiyatı -1 olarak ayarlanmış spot sanal makineleri kullanır. Bu ayar, örneğin fiyat bazında çıkarılmadığı anlamına gelir. Örneğin fiyatı, kullanılabilir kapasite ve kota olduğu sürece spot sanal makinelerin geçerli fiyatı veya standart bir örneğin fiyatıdır (hangisi daha düşükse). Özel bir maksimum fiyat ayarlamak için istenen düğüm veya düğüm dizisinde özniteliğini kullanın MaxPrice .
[cluster demo]
[[nodearray execute]]
Interruptible = true
MaxPrice = 0.2
Arama tabloları
Bir parametrenin diğerine başvurması ve arama tablosuyla belirli bir değer hesaplaması mümkündür. Örneğin, görüntü için kullanılacak bir parametreniz olduğunu ve bu durumda iki seçeneğiniz olduğunu varsayalım:
[[parameter MachineImage]]
Label = Image
DefaultValue = image-1000
Description = Ubuntu 22.04
Config.Plugin = pico.control.AutoCompleteDropdown
[[[list Config.Entries]]]
Name = image-1000
Label = Ubuntu 20.04
[[[list Config.Entries]]]
Name = image-2000
Label = Ubuntu 22.04
Ayrıca, seçilen görüntünün işletim sistemi sürümünü alabilir ve e değerini değer arama tablosu olan bir parametre yaparak diğer yapılandırmalar için kullanabilirsiniz:
[[parameter AmiLookup]]
ParameterType = hidden
[[[record DefaultValue]]]
image-1000 = Ubuntu 20.04
image-2000 = Ubuntu 22.04
Bu parametre gizli olduğundan kullanıcı arabiriminde görünmez.
Seçilen görüntü için kullanılan işletim sistemi sürümünü küme tanımında başka herhangi bir yerde alabilirsiniz:
[[node node]]
[[[configuration]]]
version = ${AmiLookup[MachineImage]}
GUI tümleştirmesi
Küme şablonu içinde parametre tanımlamak, Azure CycleCloud GUI'sinin avantajlarından yararlanmanızı sağlar. Örneğin, parametreleri tanımlarken GUI oluşturmaya yardımcı olması için aşağıdaki öznitelikleri kullanın:
# template.txt
[cluster gridengine]
[[node scheduler]]
MachineType = $machine_type
[[[configuration]]]
gridengine.slots = $slots
[parameters]
[[parameter machine_type]]
DefaultValue = Standard_D4v3
Label = Machine Type
Description = MachineType to use for the Grid Engine scheduler node
ParameterType = Cloud.MachineType
[[parameter slots]]
DefaultValue = 2
Description = The number of slots for Grid Engine to report for the node
GUI, GUI'de görünen Label ve Description özniteliklerinin yanı sıra isteğe bağlı ParameterType özniteliğini içerir.
ParameterType özniteliği, özel kullanıcı arabirimi öğelerinin görüntülenmesine izin verir. Yukarıdaki örnekte, Cloud.MachineType değeri, mevcut tüm makine türlerini içeren bir açılır menü görüntüler. Diğer ParameterType değerleri şunlardır:
| Parametre Türü | Açıklama |
|---|---|
| Cloud.MachineType | Kullanılabilir tüm makine türlerini içeren bir açılan menü görüntüler. |
| Cloud Kimlik Bilgileri | Kullanılabilir tüm kimlik bilgilerini içeren bir açılan menü görüntüler. |
| Bulut Bölge | Tüm kullanılabilir bölgeleri içeren bir açılır menü görüntüler. |
Şablonlardaki özel kullanıcı görüntüleri
Azure CycleCloud, şablonlarda özel görüntüleri destekler. Görüntü kimliğini (kaynak kimliği) doğrudan ile ImageIdbelirtebilir veya görüntüyü görüntü kayıt defterine ekleyebilirsiniz. Görüntüyü kayıt defterine eklediğinizde, düğümünüzde görüntüye Image veya ImageName ile başvurabilirsiniz. Görüntü, küme oluşturma sayfasındaki görüntü açılır menüsünde görünür.
Görüntü kayıt defterindeki görüntüler, mantıksal görüntünün içeriğini tanımlayan bir Package kayıt ve uygun bulut sağlayıcısında gerçek görüntü kimliğini belirten bir veya daha fazla kayıt Artifact içerir. Örneğin, üzerinde R yüklü özel bir görüntü şu Paket kaydından oluşabilir:
AdType = "Package"
Name = "r_execute"
Version = "2.1.1"
PackageType = "image"
Label = "R"
Bu kaydı eklediğinizde, küme şablonuna Image = R veya ImageName = r_execute ekleyerek görüntüyü belirtebilirsiniz.
Bu görüntü Doğu ABD'de kimlik numarasına sahip tek bir sanal makine olarak mevcutsa, aşağıdaki kaydı/çıkartmayı depolamanız gerekir:
AdType = "Artifact"
Package = "r_execute"
Version = "2.1.1"
Name = "az/useast"
Provider = "az"
ImageId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/images/MyCustomImage"
Nesne üzerinde belirtmelisiniz Provider.
Belirli bir görüntü paketi için istediğiniz kadar yapıt ekleyebilirsiniz, ancak bu görüntüyü kullanmak için gereken tüm yapıtları istediğiniz tüm konumlara (bulut sağlayıcısı hesabı, bölgeler, projeler vb.) dahil etmeniz gerekir. Yapıtın adı önemli değildir, ancak belirli bir paket ve sürüm için tüm yapıtlar için benzersiz olması gerekir. Genellikle sağlayıcının ve bölge gibi sağlayıcıya özgü ayrıntıların bir bileşimini kullanmanızı öneririz. CycleCloud, sağlayıcıyla ve sağlayıcıya özgü ayrıntılarla eşleşecek doğru yapıtı otomatik olarak seçer, ancak Ad ayrıştırmak yerine Sağlayıcı özniteliğini (ve Bölge vb.) kullanır.
Aynı ada sahip birden fazla görüntü paketi eklerseniz, her paketin farklı bir sürüm numarası olmalıdır. Bir örneği başlattığınızda CycleCloud otomatik olarak en yüksek sürüm numarasına sahip görüntüyü seçer. Sürüm numarasını noktalı dize olarak ele alır ve her bölümü sayı olarak karşılaştırır. Bu davranışı geçersiz kılmak için ImageVersion düğümde ya sabit bir sürüm numarası (örneğin, 1.2) ya da joker karakterli bir sürüm numarası (örneğin, 1.x) olarak belirtin.