Denne artikkelen ble skrevet Wenning, Canonical Field Engineer.
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
Før du kan bruke disse kommandoene, må du logge på MAAS-regionserveren:
$ maas login <profile-name> <host-url> <apikey>
Se https://maas.io/docs/ for mer informasjon.
Når du er ferdig, logger du av MAAS CLI-miljøet ved å kjøre
$ maas logout maas
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.
En ny råkode opprettes med kommandoen MAAS cli
$ maas <profile> tag new name="<tag-name>" [comment="<comment>"]
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.
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>"
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
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/" }, ]
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.
Alternativer:
Kommandolinjegrensesnitt MAAS 1.6 dokumentasjon:
Juju-dokumentasjon (begrensninger)