Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Використання тегів з MAAS і Juju в Ubuntu Server 14.04 LTS

Summary: MAAS реалізує систему тегів, засновану на фізичних властивостях вузлів. У документації MAAS щодо тегів це обговорюється

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Цю статтю написав Марк Веннінг, канонічний польовий інженер.

Мітки для більш тонкого контролю кластерів MAAS і Juju

MAAS реалізує систему тегів, засновану на фізичних властивостях вузлів. Документація MAAS щодо тегів обговорює це, в основному з точки зору використання існуючих апаратних тегів з опцією опису для –обмежень. 

Нові теги також можна створювати вручну, щоб спростити розгортання та керування кластерами MAAS та Juju.    

Наприклад, якщо ви хочете завантажити Juju на кластері MAAS і змусити вузол початкового завантаження бути на певній машині, ви можете спочатку позначити вузол, а потім почати завантаження, використовуючи тег як обмеження.

$ juju bootstrap --constraints "tags=my-juju-bootstrap-node" –debug

Зверніть увагу, що як тільки ви встановите обмеження тегу, як це, слідування командам дзюджу буде намагатися використовувати обмеження, поки ви його не скасуєте:

$ juju set-constraints "tags="

Інше використання тегів полягає в тому, щоб позначити кілька вузлів однаковим тегом, а потім розгорнути їх лише на цих вузлах:

$ juju deploy mysql –constraints "tags=my-juju-Dell-nodes" --debug

Увійдіть в інтерфейс командного рядка MAAS

Перш ніж ви зможете використовувати ці команди, ви повинні увійти на сервер регіону MAAS:

$ maas login <profile-name> <host-url> <apikey>
  • <profile-name> може бути будь-яким, зазвичай це "maas"
  • <host-url> — це URL-адреса регіонального контролера MAAS, а також API та версія (тобтоhttps://192.168.0.2/MAAS/api/1.0).
  • <apikey> – це MAAS api або oauth key, створений під час створення регіонального контролера MAAS.

Зверніться до https://maas.io/docs/За цим гіперпосиланням ви переходите на веб-сайт за межами Dell Technologies. для отримання детальної інформації.

Коли закінчите, щоб вийти з середовища MAAS cli, запустіть команду

$ maas logout maas

Створення тегів за допомогою опції "description"

Як обговорювалося в документації MAAS щодо тегів, теги можна створювати та призначати за допомогою виразів XPath на основі інформації "lshw" (відформатованої як XML), пов'язаної з вузлом.   Ви можете отримати доступ до цієї інформації внизу веб-сторінки кожного вузла, натиснувши на посилання «Показати виявлені деталі» під пунктом «Необроблені дані виявлення».   Частина інформації "lshw" для одного з моїх вузлів наведена нижче:

...

<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>
...

Щоб додати більше описових тегів до вузлів у системі, ви можете виконати:

$ 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"'

Вони позначатимуть сумісні вузли тегами Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, система, настільний комп'ютер, ноутбук, Rack_Mount, мультисистемні, 64-розрядні та/або 32-розрядні, а також застосовуються до будь-яких вузлів, які будуть додані пізніше.

Створення тегів вручну

Новий необроблений тег створюється за допомогою команди cli MAAS

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <profile> — це ім'я профілю, яке було встановлено за допомогою команди login, зазвичай "maas"
  • <tag-name> — це ім'я тегу
  • <> Коментар необов'язковий, але гарна ідея.

Зверніть увагу, що тут ми не використовуємо опцію опису.   Так:

$ maas maas tag new name="my-juju-node" comment="my new juju node"

Цей тег можна вручну призначити одному або декільком вузлам у системі.

Призначення тегів

Щоб призначити тег вузлу або вузлам, виконайте команду:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <profile> – це ім'я профілю, яке встановлюється під час входу в систему
  • <raw-tag-name> — це ім'я раніше створеного тега
  • <system-id> – це системний ідентифікатор вузла.

<>Ідентифікатор системи?  Що це таке?

Як знайти системний id вузла?   Одним із способів є список інформації про вузол і вибір її зі структури.  Команда maas cli

$ maas <profile> nodes list
  • <profile> – це ім'я профілю, яке встановлюється під час входу в систему

видасть об'єкт у форматі JSON (список структур), що містить всю інформацію про вузли.  Наприклад:

$ 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/"
},
]

Розшифровка виводу

Перший вузол у списку має атрибут "hostname" "T110ii.maas". Нас також цікавить атрибут system-id для цього вузла: "system_id": "Вузол-2349C038-D792-11E3-8DF4-0C54A5F0CE34"

Тепер ми можемо призначити новий тег цьому вузлу:

$ maas maas tag update-nodes my-juju-bootstap-node add=node-2349c038-d792-11e3-8df4-0c54a5f0ce34

Атрибут "назва-тегів" на рисунку 1 перелічує всі теги, присвоєні цьому вузлу, включаючи новий.

Скрипти, які допоможуть вам додавати теги

Параметри:

  • --login : увійдіть до системи перед присвоєнням тегів вузлам. Цей параметр також вимагає
    • –OAUTH : Ключ API / OAUTH, який використовується для входу вище, і, можливо, залежно від ваших налаштувань,
    • –host_url : URL-адреса хоста, яка використовується для входу в систему вище
    • –profile : ім'я профілю, яке використовується для входу в систему вище
  • --remove_tags : видалити теги, які були призначені раніше цим скриптом.
  • --add_tags: додайте тег до кожного вузла на основі його назви

Посилання

Документація інтерфейсу командного рядка MAAS 1.6:

https://maas.io/docs/maas-cliЗа цим гіперпосиланням ви переходите на веб-сайт за межами Dell Technologies.

Документація Juju (обмеження) 

https://juju.ubuntu.com/docs/charms-constraints.htmlЗа цим гіперпосиланням ви переходите на веб-сайт за межами Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlЗа цим гіперпосиланням ви переходите на веб-сайт за межами Dell Technologies.

Cause

-

Resolution

-

Article Properties


Affected Product

Ubuntu Server LTS

Last Published Date

23 Jul 2024

Version

4

Article Type

Solution