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

Używanie tagów z MAAS i Juju w systemie Ubuntu Server 14.04 LTS

摘要: MAAS wdraża system znaczników w oparciu o fizyczne właściwości węzłów. Dokumentacja MAAS dotycząca znaczników omawia tę kwestię

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

症状

Autorem tego artykułu jest Mark Wenning, inżynier terenowy firmy Canonical.

Tagi do dokładniejszej kontroli klastrów MAAS i Juju

MAAS wdraża system znaczników w oparciu o fizyczne właściwości węzłów. Dokumentacja MAAS dotycząca znaczników omawia tę kwestię, głównie z punktu widzenia używania istniejących znaczników sprzętowych z opcją opisu dla –constraints. 

Nowe tagi można również tworzyć ręcznie, aby ułatwić wdrażanie klastrów MAAS i Juju oraz zarządzanie nimi.    

Na przykład, jeśli chcesz uruchomić Juju w klastrze MAAS i wymusić, aby węzeł bootstrap znajdował się na określonej maszynie, możesz najpierw oznaczyć węzeł, a następnie uruchomić bootstrap używając tagu jako ograniczenia.

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

Zauważ, że po ustawieniu takiego ograniczenia znacznika, następujące polecenia juju będą próbowały użyć tego ograniczenia, dopóki go nie anulujesz:

$ juju set-constraints "tags="

Innym zastosowaniem tagów jest oznaczenie kilku węzłów tym samym tagiem, a następnie wdrożenie tylko w tych węzłach:

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

Zaloguj się do interfejsu wiersza poleceń MAAS

Aby można było korzystać z tych poleceń, należy zalogować się do serwera regionu MAAS:

$ maas login <profile-name> <host-url> <apikey>
  • <nazwa-profilu> moze byc dowolna, normalnie jest to "maas"
  • <host-url> to adres URL kontrolera regionalnego MAAS oraz interfejs API i wersja (tj.https://192.168.0.2/MAAS/api/1.0).
  • <apikey> to interfejs API MAAS lub klucz OAUTH utworzony podczas kompilacji kontrolera regionalnego MAAS.

Szczegółowe informacje można znaleźć w https://maas.io/docs/Kliknięcie tego hiperłącza powoduje wyświetlenie strony spoza witryny Dell Technologies. .

Po zakończeniu, aby wylogować się ze środowiska wiersza poleceń MAAS, uruchom polecenie

$ maas logout maas

Tworzenie tagów za pomocą opcji "description"

Jak omówiono w dokumentacji MAAS dotyczącej znaczników, znaczniki mogą być tworzone i przypisywane przy użyciu wyrażeń XPath na podstawie informacji "lshw" (sformatowanych jako XML) skojarzonych z węzłem.   Informacje te można uzyskać w dolnej części strony internetowej każdego węzła, klikając łącze "Show discovered details" w sekcji "Raw discovery data".   Część informacji "lshw" dla jednego z moich węzłów jest następująca:

...

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

Aby dodać więcej znaczników opisowych do węzłów w systemie, można wykonać:

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

Będą one oznaczać zgodne węzły znacznikami Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, System, Desktop, Laptop, Rack_Mount, Multi-system, 64-bit i/lub 32bit i będą również stosowane do wszystkich węzłów, które zostaną dodane później.

Ręczne tworzenie znaczników

Nowy znacznik raw jest tworzony za pomocą komendy CLI MAAS

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <profile> to nazwa profilu, która została skonfigurowana za pomocą polecenia login, zwykle "maas"
  • <nazwa-tagu> jest nazwą tagu
  • <Komentarz> jest opcjonalny, ale dobry pomysł.

Pamiętaj, że nie używamy tutaj opcji opisu.   Więc:

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

Ten znacznik można ręcznie przypisać do jednego lub większej liczby węzłów w systemie.

Przypisywanie znaczników

Aby przypisać tag do węzła lub węzłów, uruchom polecenie:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <profile> to nazwa profilu skonfigurowana podczas logowania
  • <raw-tag-name> jest nazwą poprzednio utworzonego tagu
  • <System-ID> jest identyfikatorem systemowym węzła.

<Identyfikator> systemu?  Co to jest?

Jak znaleźć identyfikator systemowy węzła?   Jednym ze sposobów jest wyświetlenie informacji o węźle i wybranie ich ze struktury.  Polecenie interfejsu wiersza polecenia maaS

$ maas <profile> nodes list
  • <profile> to nazwa profilu skonfigurowana podczas logowania

zrzuci obiekt w formacie JSON (listę struktur) zawierający wszystkie informacje o węzłach.  Na przykład:

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

Dekodowanie danych wyjściowych

Pierwszy węzeł na liście ma atrybut "hostname" "T110ii.maas". Interesuje nas również atrybut system-id dla tego węzła: "system_id": "Node-2349C038-D792-11E3-8DF4-0C54A5F0CE34"

Możemy teraz przypisać nowy tag do tego węzła:

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

Atrybut "tag-names" na rysunku 1 zawiera listę wszystkich tagów przypisanych do tego węzła, w tym nowego.

Skrypty ułatwiające dodawanie tagów

Opcje:

  • --login : zaloguj się przed przypisaniem tagów do węzłów. Ta opcja wymaga również
    • –OAuth : klucz API / OAuth używany do logowania się powyżej i ewentualnie, w zależności od konfiguracji,
    • –host_url : adres URL hosta używany do logowania powyżej
    • –profil: nazwa profilu używana do logowania się powyżej
  • --remove_tags : usuń tagi, które zostały wcześniej przypisane przez ten skrypt.
  • --add_tags: dodaj tag do każdego węzła na podstawie jego nazwy

Odniesienia

Interfejs wiersza poleceń Dokumentacja MAAS 1.6:

https://maas.io/docs/maas-cliKliknięcie tego hiperłącza powoduje wyświetlenie strony spoza witryny Dell Technologies.

Dokumentacja Juju (Ograniczenia) 

https://juju.ubuntu.com/docs/charms-constraints.htmlKliknięcie tego hiperłącza powoduje wyświetlenie strony spoza witryny Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlKliknięcie tego hiperłącza powoduje wyświetlenie strony spoza witryny Dell Technologies.

原因

-

解决方案

-

受影响的产品

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