Der Orchestrierungsdienst verwendet Vorlagen zur Beschreibung von Stacks. Um die Ausdrucksweise von Vorlagen zu verstehen, lesen Sie den the Template Guide in der Heat Entwickler-Dokumentation.
Erstellen Sie die Datei ``demo-template.yml``mit folgendem Inhalt:
heat_template_version: 2015-10-15
description: Launch a basic instance with CirrOS image using the
``m1.tiny`` flavor, ``mykey`` key, and one network.
parameters:
NetID:
type: string
description: Network ID to use for the instance.
resources:
server:
type: OS::Nova::Server
properties:
image: cirros
flavor: m1.tiny
key_name: mykey
networks:
- network: { get_param: NetID }
outputs:
instance_name:
description: Name of the instance.
value: { get_attr: [ server, name ] }
instance_ip:
description: IP address of the instance.
value: { get_attr: [ server, first_address ] }
Erstellen Sie einen Stack anhand der Vorlage demo-template.yml.
Sourcen Sie die demo-Anmeldeinformationen, um die folgenden Schritte mit nicht-administrativen Rechten auszuführen:
$ . demo-openrc
Ermitteln Sie verfügbare Netzwerke.
$ openstack network list
+--------------------------------------+-------------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+-------------+--------------------------------------+
| 4716ddfe-6e60-40e7-b2a8-42e57bf3c31c | selfservice | 2112d5eb-f9d6-45fd-906e-7cabd38b7c7c |
| b5b6993c-ddf9-40e7-91d0-86806a42edb8 | provider | 310911f6-acf0-4a47-824e-3032916582ff |
+--------------------------------------+-------------+--------------------------------------+
Bemerkung
Diese Ausgabe kann in Ihrer Umgebung abweichen.
Belegen Sie die Umgebungsvariable NET_ID mit der Netzwerk-ID. Als Beispiel wird das Anbieter-Netzwerk verwendet:
$ export NET_ID=$(openstack network list | awk '/ provider / { print $2 }')
Erstellen Sie einen Stack mit einer CirrOS-Instanz im Anbieter-Netzwerk:
$ openstack stack create -t demo-template.yml --parameter "NetID=$NET_ID" stack
+--------------------------------------+------------+--------------------+---------------------+--------------+
| ID | Stack Name | Stack Status | Creation Time | Updated Time |
+--------------------------------------+------------+--------------------+---------------------+--------------+
| dbf46d1b-0b97-4d45-a0b3-9662a1eb6cf3 | stack | CREATE_IN_PROGRESS | 2015-10-13T15:27:20 | None |
+--------------------------------------+------------+--------------------+---------------------+--------------+
Überprüfen Sie die erfolgreiche Erstellung des Stacks nach kurzer Wartezeit:
$ openstack stack list
+--------------------------------------+------------+-----------------+---------------------+--------------+
| ID | Stack Name | Stack Status | Creation Time | Updated Time |
+--------------------------------------+------------+-----------------+---------------------+--------------+
| dbf46d1b-0b97-4d45-a0b3-9662a1eb6cf3 | stack | CREATE_COMPLETE | 2015-10-13T15:27:20 | None |
+--------------------------------------+------------+-----------------+---------------------+--------------+
Lassen Sie den Namen und die IP-Adresse der Instanz anzeigen und vergleichen sie mit der Ausgabe des OpenStack-Clients:
$ openstack stack output show --all stack
[
{
"output_value": "stack-server-3nzfyfofu6d4",
"description": "Name of the instance.",
"output_key": "instance_name"
},
{
"output_value": "10.4.31.106",
"description": "IP address of the instance.",
"output_key": "instance_ip"
}
]
$ openstack server list
+--------------------------------------+---------------------------+--------+---------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+---------------------------+--------+---------------------------------+
| 0fc2af0c-ae79-4d22-8f36-9e860c257da5 | stack-server-3nzfyfofu6d4 | ACTIVE | public=10.4.31.106 |
+--------------------------------------+---------------------------+--------+---------------------------------+
Löschen Sie den Stack.
$ openstack stack delete --yes stack
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.