Bu makale, Kanonik Saha Mühendisi Mark Wenning'de yazılmıştır.
MAAS, düğümlerin fiziksel özelliklerine dayalı bir etiket sistemi uygular. Etiketlerle ilgili MAAS belgeleri, çoğunlukla –kısıtlamalar için açıklama seçeneğiyle mevcut donanım etiketlerini kullanma açısından bunu tartışır.
MAAS ve Juju kümelerini dağıtmayı ve yönetmeyi kolaylaştırmak için yeni etiketler manuel olarak da oluşturulabilir.
Örneğin, Juju'yu bir MAAS kümesinde önyüklemek ve önyükleme düğümünü belirli bir makinede olmaya zorlamak istiyorsanız, önce düğümü etiketleyebilir, ardından etiketi bir kısıtlama olarak kullanarak önyükleyebilirsiniz.
$ juju bootstrap --constraints "tags=my-juju-bootstrap-node" –debug
Bunun gibi bir etiket kısıtlaması ayarladıktan sonra, aşağıdaki juju komutlarının siz iptal edene kadar kısıtlamayı kullanmaya çalışacağını unutmayın:
$ juju set-constraints "tags="
Etiketlerin bir diğer kullanımı da birkaç düğümü aynı etiketle işaretlemek ve ardından yalnızca bu düğümlere dağıtmaktır:
$ juju deploy mysql –constraints "tags=my-juju-Dell-nodes" --debug
Bu komutları kullanabilmeniz için önce MAAS bölge sunucusunda oturum açmanız gerekir:
$ maas login <profile-name> <host-url> <apikey>
Ayrıntılar için https://maas.io/docs/ bakın.
İşiniz bittiğinde, MAAS cli ortamının oturumunu kapatmak için şunu çalıştırın:
$ maas logout maas
Etiketlerle ilgili MAAS belgelerinde açıklandığı gibi, etiketler, düğümle ilişkili "lshw" bilgilerine (XML olarak biçimlendirilmiş) dayalı olarak XPath İfadeleri kullanılarak oluşturulabilir ve atanabilir. Bu bilgilere, her düğüm web sayfasının alt kısmında yer alan "Ham keşif verileri" altındaki "Keşfedilen ayrıntıları göster" bağlantısına tıklayarak erişebilirsiniz. Düğümlerimden biri için "lshw" bilgilerinin bir kısmı aşağıdaki gibidir:
... <lshw:node id="t410" claimed="true" class="system" handle="DMI:0100"> <lshw:description>System</lshw:description> <lshw:product>PowerEdge T410 ()</lshw:product> <lshw:vendor>Dell Inc.</lshw:vendor> <lshw:serial>RHXT410</lshw:serial> <lshw:width units="bits">64</lshw:width> <lshw:configuration> <lshw:setting id="boot" value="normal"/> <lshw:setting id="chassis" value="server"/> <lshw:setting id="uuid" value="44454C4C-4800-1058-8054-D2C04F343130"/> </lshw:configuration> <lshw:capabilities> ...
Sistemdeki düğümlere daha fazla açıklayıcı etiket eklemek için şu komutu çalıştırabilirsiniz:
$ maas maas tags new name="Dell_Machine" definition='//node[@class="system"]/vendor = "Dell Inc."' $ maas maas tags new name="Intel_Machine" definition='//node[@class="system"]/vendor = "Intel Corp."' $ maas maas tags new name="Virtual_Machine" definition='//node[@class="system"]/vendor = "QEMU"' $ maas maas tags new name="Laptop" definition='//node[@class="system"]/description = "Laptop"' $ maas maas tags new name="Rack_Mount" definition='//node[@class="system"]/description = "Rack Mount Chassis"' $ maas maas tags new name="Mini_Tower" definition='//node[@class="system"]/description = "Mini Tower Computer"' $ maas maas tags new name="System" definition='//node[@class="system"]/description = "System"' $ maas maas tags new name="Desktop" definition='//node[@class="system"]/description = "Desktop Computer"' $ maas maas tags new name="Blade" definition='//node[@class="system"]/description = "Multi-system"' $ maas maas tags new name="Intel_CPU" definition='//node[@class="processor"]/vendor = "Intel Corp."' $ maas maas tags new name="AMD_CPU" definition='//node[@class="processor"]/vendor = "Advanced Micro Devices [AMD]"' $ maas maas tags new name="64bit" definition='//node[@class="system"]/width="64"' $ maas maas tags new name="32bit" definition='//node[@class="system"]/width="32"'
Bunlar, uyumlu düğümleri Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, Sistem, Masaüstü Bilgisayar, Dizüstü Bilgisayar, Rack_Mount, Çoklu sistem, 64 bit ve/veya 32 bit etiketleriyle etiketler ve daha sonra eklenen düğümlere de uygulanır.
MAAS cli komutuyla yeni bir ham etiket oluşturulur
$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
Burada açıklama seçeneğini kullanmadığımızı unutmayın. Öyle:
$ maas maas tag new name="my-juju-node" comment="my new juju node"
Bu etiket, sistemdeki bir veya daha fazla düğüme manuel olarak atanabilir.
Bir düğüme veya düğümlere etiket atamak için şu komutu çalıştırın:
$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
Bir düğümün sistem kimliğini nasıl buluyorsunuz? Bunun bir yolu, düğüm bilgilerini listelemek ve yapıdan çıkarmaktır. maas cli komutu
$ maas <profile> nodes list
düğümlerle ilgili tüm bilgileri içeren JSON biçimli bir nesneyi (yapı listesi) dışarı atacaktır. Örneğin:
$ maas maas nodes list [ { "status": 4, "macaddress_set": [ { "resource_uri": "/MAAS/api/1.0/nodes/node-2349c038-d792-11e3-8df4-0c54a5f0ce34/macs/bc%3A30%3A5b%3Ae3%3A21%3A15/", "mac_address": "bc:30:5b:e3:21:15" } ], "hostname": "T110ii.maas", "zone": { "resource_uri": "/MAAS/api/1.0/zones/default/", "name": "default", "description": "" }, "routers": [], "netboot": true, "cpu_count": 8, "storage": 239825, "owner": null, "system_id": "node-2349c038-d792-11e3-8df4-0c54a5f0ce34", "architecture": "amd64/generic", "memory": 8192, "power_type": "ipmi", "tag_names": [ "use-fastpath-installer", "my-juju-boostrap-node" ], "ip_addresses": [ "192.168.0.53" ], "resource_uri": "/MAAS/api/1.0/nodes/node-2349c038-d792-11e3-8df4-0c54a5f0ce34/" }, ]
Listedeki ilk düğüm "T110ii.maas" "hostname" özniteliğine sahiptir. Bu düğümün system-id özniteliğiyle de ilgileniyoruz: system_id": node-2349c038-d792-11e3-8df4-0c54a5f0ce34
Artık yeni etiketi bu düğüme atayabiliriz:
$ maas maas tag update-nodes my-juju-bootstap-node add=node-2349c038-d792-11e3-8df4-0c54a5f0ce34
Şekil 1'deki "tag-names" özniteliği, yeni düğüm de dahil olmak üzere bu düğüme atanan tüm etiketleri listeler.
Options:
Komut Satırı Arayüzü MAAS 1.6 Belgeleri:
Juju Belgeleri (Kısıtlamalar)