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

Tags gebruiken met MAAS en Juju in Ubuntu Server 14.04 LTS

摘要: MAAS implementeert een systeem van tags op basis van de fysieke eigenschappen van de nodes. De MAAS-documentatie over tags bespreekt dit

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

症状

Dit artikel is geschreven door Mark Wenning, Canonical Field Engineer.

Tags voor fijnere controle van MAAS- en Juju-clusters

MAAS implementeert een systeem van tags op basis van de fysieke eigenschappen van de nodes. De MAAS-documentatie over tags bespreekt dit, vooral vanuit het oogpunt van het gebruik van bestaande hardwaretags met de beschrijvingsoptie voor –constraints. 

Nieuwe tags kunnen ook handmatig worden gemaakt om het gemakkelijker te maken om MAAS- en Juju-clusters te implementeren en te beheren.    

Als u bijvoorbeeld Juju wilt opstarten op een MAAS-cluster en het bootstrap-knooppunt wilt forceren om op een specifieke machine te staan, kunt u eerst het knooppunt taggen en vervolgens opstarten met de tag als beperking.

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

Houd er rekening mee dat als je eenmaal een tagbeperking op deze manier hebt ingesteld, je met de volgende juju-commando's wordt geprobeerd de beperking te gebruiken totdat je deze annuleert:

$ juju set-constraints "tags="

Een ander gebruik van tags is om meerdere knooppunten met dezelfde tag te markeren en vervolgens alleen op die knooppunten te implementeren:

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

Log in op de MAAS Command Line Interface

Voordat je gebruik kunt maken van deze commando's, moet je inloggen op de MAAS regioserver:

$ maas login <profile-name> <host-url> <apikey>
  • <Profielnaam> kan alles zijn wat je wilt, normaal gesproken is dit "Maas"
  • <host-url> is de URL van de MAAS-regiocontroller, plus de API en versie (dushttps://192.168.0.2/MAAS/api/1.0).
  • <apikey> is de MAAS-api of oauth-sleutel die is gemaakt toen de MAAS-regiocontroller werd gebouwd.

Raadpleeg https://maas.io/docs/Deze hyperlink leidt u naar een website buiten Dell Technologies. voor meer informatie.

Als u klaar bent, voert u deze opdracht uit om uit te loggen bij de MAAS cli-omgeving

$ maas logout maas

Tags maken met de optie "description"

Zoals besproken in de MAAS-documentatie over tags, kunnen tags worden gemaakt en toegewezen met behulp van XPath-expressies, op basis van de "lshw"-informatie (geformatteerd als XML) die aan het knooppunt is gekoppeld.   U kunt deze informatie onderaan elke knooppuntwebpagina openen door te klikken op de koppeling Show discovered details onder "Raw discovery data".   Een deel van de "lshw"-informatie voor een van mijn knooppunten volgt:

...

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

Als u meer beschrijvende tags wilt toevoegen aan knooppunten in het systeem, kunt u het volgende uitvoeren:

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

Hiermee worden compatibele knooppunten getagd met de tags Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, Systeem, Desktop, Laptop, Rack_Mount, Multi-system, 64-bits en/of 32-bits, en ze worden ook toegepast op knooppunten die later worden toegevoegd.

Handmatig tags maken

Er wordt een nieuwe onbewerkte tag gemaakt met het MAAS cli-commando

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <Profiel> is de profielnaam die is ingesteld met het inlogcommando, meestal "Maas"
  • <Tag-name> is de naam van de tag
  • <Commentaar> is optioneel, maar een goed idee.

Houd er rekening mee dat we hier geen gebruik maken van de beschrijvingsoptie.   Dus:

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

Deze tag kan handmatig worden toegewezen aan een of meer knooppunten in het systeem.

Tags toewijzen

Als u een tag wilt toewijzen aan een knooppunt of knooppunten, voert u de volgende opdracht uit:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <Profiel> is de profielnaam die is ingesteld tijdens het aanmelden
  • <raw-tag-name> is de naam van de eerder gemaakte tag
  • <System-ID> is de systeem-ID van het knooppunt.

<Systeem-id>?  Wat is dat?

Hoe vind je de systeem-id van een knooppunt?   Een manier is om de knooppuntinformatie op te sommen en uit de struct te halen.  Het maas cli commando

$ maas <profile> nodes list
  • <Profiel> is de profielnaam die is ingesteld tijdens het aanmelden

zal een JSON-geformatteerd object (lijst met structs) dumpen dat alle informatie over de knooppunten bevat.  Bijvoorbeeld:

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

De uitvoer decoderen

Het eerste knooppunt in de lijst heeft een "hostname" attribuut van "T110ii.maas". We zijn ook geïnteresseerd in het kenmerk system-id voor dit knooppunt: "system_id": "node-2349c038-d792-11e3-8df4-0c54a5f0ce34"

We kunnen nu de nieuwe tag toewijzen aan dit knooppunt:

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

Het kenmerk "tag-names" in afbeelding 1 geeft een overzicht van alle tags die aan dit knooppunt zijn toegewezen, inclusief het nieuwe.

Scripts om u te helpen tags toe te voegen

Opties:

  • --login : log in voordat u de tags aan de knooppunten toewijst. Deze optie vereist ook
    • –OAuth : de API / OAuth sleutel die wordt gebruikt om hierboven in te loggen en eventueel, afhankelijk van uw setup,
    • –host_url : host-URL die wordt gebruikt om hierboven in te loggen
    • –Profiel : Profielnaam gebruikt om hierboven in te loggen
  • --remove_tags : verwijder de tags die eerder door dit script zijn toegewezen.
  • --add_tags: voeg een tag toe aan elk knooppunt op basis van de naam

Verwijzingen

Command Line Interface MAAS 1.6 documentatie:

https://maas.io/docs/maas-cliDeze hyperlink leidt u naar een website buiten Dell Technologies.

Juju-documentatie (beperkingen) 

https://juju.ubuntu.com/docs/charms-constraints.htmlDeze hyperlink leidt u naar een website buiten Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlDeze hyperlink leidt u naar een website buiten Dell Technologies.

原因

-

解决方案

-

受影响的产品

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