Cómo escribir un script de OpenStack Heat Orchestration

Para aquellos que tienen curiosidad acerca de la orquestación, deben estar buscando algunos scripts listos para lanzar stack. Le recomiendo que primero comprenda los términos básicos que se requieren para escribir plantillas de calor. Acá hay uno:

heat_template_version: 2015-04-30

descripción: plantilla simple para implementar una sola instancia de proceso

recursos:

mi_instancia:

tipo: SO :: Nova :: Servidor

propiedades:

imagen: centos_min_template

sabor: m1.pequeño

redes:

– red: a1def557-7ad9-402e-a0cd-be6506cf0f5b

copiar y pegar esto definitivamente no. image es el nombre de la imagen que creé para iniciar máquinas virtuales. sabor debe saber, la red es la identificación de la red, compruebe cuál es el suyo. el script anterior iniciará 1 VM.


—- debajo de HOT lanzará 1 vm, 1 volumen y adjuntará ese volumen a vm——

heat_template_version: 2015-04-30

descripción:>

Una plantilla que muestra cómo crear una instancia de Nova, un volumen de Cinder y adjuntar

el volumen a la instancia. La plantilla usa solo Heat OpenStack nativo

tipos de recursos

parámetros:

tipo_instancia:

tipo: cadena

descripción: Tipo de la instancia que se creará.

predeterminado: m1.small

restricciones:

– valores_permitidos: [m1.small, m1.medium, m1.large]

descripción:

El valor debe ser uno de ‘m1.small’, ‘m1.medium’ o ‘m1.large’.

image_id:

tipo: cadena

descripción: ID de la imagen que se usará para la instancia que se creará.

valor predeterminado: centos_min_template

disponibilidad_zona:

tipo: cadena

descripción: la zona de disponibilidad para iniciar la instancia.

predeterminado: nova

recursos:

avoltest:

tipo: SO :: Nova :: Servidor

propiedades:

Availability_zone: {get_param: Availability_zone}

imagen: centos_min_template

sabor: {get_param: instance_type}

redes:

– red: a1def557-7ad9-402e-a0cd-be6506cf0f5b

volumen_adjunto:

tipo: OS :: Cinder :: VolumeAttachment

propiedades:

volume_id: 7a0f2d93-8af7-4104-b0aa-1a396251e9a0

instancia_uuid: {get_resource: avoltest}

salidas:

instancia_ip:

descripción: dirección IP pública de la instancia de Nova recién creada.

valor: {get_attr: [avoltest, first_address]}

Esta es realmente una pregunta que se responde mejor con ‘leer los documentos’. Siga la guía: Guía de plantillas de orquestación de calor (HOT)

Una plantilla HEAT está formateada como YAML, por lo que el espacio es importante (y un dolor de cabeza) pero estamos atrapados en él. Una plantilla de calor básica tiene la versión (que es casi universal, no ha habido muchas), una descripción (que creará para explicar lo que hace su plantilla) y una lista de los recursos que desplegará la plantilla. La versión más simple, que viene de la guía que se muestra a continuación, simplemente implementará un único servidor. Las plantillas más complicadas incluirán parámetros (que le permiten generalizar su plantilla para solicitar la entrada del usuario) y salidas (que proporcionarán comentarios sobre lo que la plantilla ha hecho o no).

heat_template_version: 2015-04-30

descripción: plantilla simple para implementar una sola instancia de proceso

recursos:
mi_instancia:
tipo: SO :: Nova :: Servidor
propiedades:
nombre_clave: mi_clave
imagen: cirros
sabor: m1.pequeño