跳转至主要内容
  • 快速、轻松地下订单
  • 查看订单并跟踪您的发货状态
  • 创建并访问您的产品列表

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

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

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

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

Мітки для більш тонкого контролю кластерів 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.

原因

-

解决方案

-

受影响的产品

Ubuntu Server LTS
文章属性
文章编号: 000129999
文章类型: Solution
上次修改时间: 23 7月 2024
版本:  4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。