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

Bruke merker med MAAS og Juju i Ubuntu-server 14.04 LTS

摘要: MAAS implementerer et system med tagger basert på de fysiske egenskapene til nodene. MAAS-dokumentasjonen om tagger drøfter dette

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

症状

Denne artikkelen ble skrevet Wenning, Canonical Field Engineer.

Koder for bedre kontroll over MAAS- og Juju-klynger

MAAS implementerer et system med tagger basert på de fysiske egenskapene til nodene. MAAS-dokumentasjonen om tagger diskuterer dette, hovedsakelig med tanke på å bruke eksisterende maskinvarekoder med beskrivelsesalternativet for –constraints. 

Nye koder kan også opprettes manuelt for å gjøre det enklere å distribuere og administrere MAAS- og Juju-klynger.    

Hvis du for eksempel vil starte Juju på en MAAS-klynge og tvinge oppstartsstrap-noden til å være på en bestemt maskin, kan du kode noden først og deretter starte opp med koden som en begrensning.

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

Vær oppmerksom på at når du har angitt en taggbegrensning som denne, vil følgende juju-kommandoer forsøke å bruke begrensningen til du avbryter den:

$ juju set-constraints "tags="

En annen bruk av tagger er å merke flere noder med samme tag og deretter distribuere til bare disse nodene:

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

Logg på MAAS-kommandolinjegrensesnittet

Før du kan bruke disse kommandoene, må du logge på MAAS-regionserveren:

$ maas login <profile-name> <host-url> <apikey>
  • <Profilnavn> kan være hva du vil, normalt er dette "Maas"
  • <host-url> er URL-adressen til den regionale MAAS-kontrolleren, pluss API og versjon (dvs.https://192.168.0.2/MAAS/api/1.0).
  • <apikey> er MAAS-api- eller oauth-nøkkelen som ble opprettet da den regionale MAAS-kontrolleren ble bygget.

Se https://maas.io/docs/Denne hyperkoblingen tar deg til et nettsted utenfor Dell Technologies. for mer informasjon.

Når du er ferdig, logger du av MAAS CLI-miljøet ved å kjøre

$ maas logout maas

Opprette tagger ved hjelp av alternativet "beskrivelse"

Som beskrevet i MAAS-dokumentasjonen om koder, kan koder opprettes og tilordnes ved hjelp av XPath-uttrykk, basert på "lshw"-informasjonen (formatert som XML) som er knyttet til noden.   Du får tilgang til denne informasjonen nederst på hver nodenettside ved å klikke på koblingen "Vis oppdagede detaljer" under "Rå oppdagelsesdata".   En del av "lshw"-informasjonen for en av nodene mine følger:

...

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

Hvis du vil legge til flere beskrivende koder for noder i systemet, kan du utføre følgende:

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

Disse vil merke kompatible noder med kodene Dell_Machine, Intel_Machine, Virtual_Machine, Rack_Mount, System, stasjonær, bærbar PC, Rack_Mount, Multisystem, 64bit og / eller 32bit, og brukes også på noder som legges til senere.

Opprette koder manuelt

En ny råkode opprettes med kommandoen MAAS cli

$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
  • <Profile> er profilnavnet som ble satt opp med påloggingskommandoen, vanligvis "Maas"
  • <Tag-name> er navnet på taggen
  • <> Kommentar er valgfritt, men en god idé.

Vær oppmerksom på at vi ikke bruker beskrivelsesalternativet her.   Så:

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

Denne taggen kan tilordnes manuelt til én eller flere noder i systemet.

Tilordne tagger

Hvis du vil tilordne en tagg til en node eller noder, kjører du kommandoen:

$ maas <profile> tag update-nodes <raw-tag-name> add="<system-id>"
  • <Profil> er profilnavnet som settes opp under pålogging
  • <Raw-tag-name> er navnet på den tidligere opprettede taggen
  • <System-ID> er system-ID-en til noden.

<System-ID>?  Hva er det?

Hvordan finner du system-ID-en til en node?   En måte er å liste opp nodeinformasjonen og plukke den ut av strukturen.  Maas cli-kommandoen

$ maas <profile> nodes list
  • <Profil> er profilnavnet som settes opp under pålogging

vil dumpe ut et JSON-formatert objekt (liste over strukturer) som inneholder all informasjon om nodene.  Eksempel:

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

Dekoding av utdataene

Den første noden i listen har et "hostname"-attributt på "T110ii.maas". Vi er også interessert i system-id-attributtet for denne noden: "system_id": "node-2349c038-d792-11e3-8df4-0c54a5f0ce34"

Vi kan nå tilordne den nye taggen til denne noden:

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

"tag-names"-attributtet i figur 1 viser alle taggene som er tilordnet denne noden, inkludert den nye.

Skript som hjelper deg med å legge til koder

Alternativer:

  • --login: logg inn før du tilordner kodene til nodene. Dette alternativet krever også
    • –oauth : API / OAuth-nøkkelen som brukes til å logge inn over og muligens, avhengig av oppsettet ditt,
    • –host_url: verts-URL brukt til å logge inn ovenfor
    • –profil: profilnavn brukt til å logge inn ovenfor
  • --remove_tags : Fjern kodene som ble tildelt tidligere av dette skriptet.
  • --add_tags: Legg til en tag til hver node basert på navnet

Referanser

Kommandolinjegrensesnitt MAAS 1.6 dokumentasjon:

https://maas.io/docs/maas-cliDenne hyperkoblingen tar deg til et nettsted utenfor Dell Technologies.

Juju-dokumentasjon (begrensninger) 

https://juju.ubuntu.com/docs/charms-constraints.htmlDenne hyperkoblingen tar deg til et nettsted utenfor Dell Technologies.

https://juju.ubuntu.com/docs/reference-constraints.htmlDenne hyperkoblingen tar deg til et nettsted utenfor Dell Technologies.

原因

-

解决方案

-

受影响的产品

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