Cookies helfen uns bei der Bereitstellung des IMT HilfeWikis. Bei der Nutzung vom IMT HilfeWiki werden die in der Datenschutzerklärung beschriebenen Cookies gespeichert.Weitere Informationen

Cloudcomputing Kochbuch Orchestrierung

IMT HilfeWiki - das Wiki
Wechseln zu:Navigation, Suche
Anleitung
Allgemeine Informationen
Informationen
Betriebssystem Alle
Service Cloudcomputing
Interessant für Angestellte, Studierende und Gäste
HilfeWiki des IMT der Uni Paderborn
no displaytitle found: Cloudcomputing Kochbuch Orchestrierung

In diesem Artikel erfahren Sie, wie Sie mithilfe der HEAT-Komponente von OpenStack einen eigenen IaC (Infrastructure as Code) Stack erstellen, testen und starten.

Rezepte

Anlegen einer Vorlage

Die Konfiguration des Stacks erfolgt nicht wie in den anderen Artikel dieses Bereiches beschrieben über die Weboberfläche oder den Kommandozeilen-Client, sondern wird mithilfe von Templates erstellt. Die Templates werden als HOT (Heat Orchestration Templates) bezeichnet und werden in YAML verfasst. Es werden grundsätzlich vier Dinge definiert:

Typ Beschreibung
heat_template_version Die Version des erstellten Templates
parameters Variablen, die im laufe des Scripts wieder aufgerufen werden können
resources Ressourcen, die durch das Template erstellt werden sollen (z.B. Virtuelle Maschinen, Netzwerke)
outputs Ausgaben, die nach der Erstellung einsehbar seien sollen (z.B. Floating-IPs)

Die verfügbaren Heat Template Versionen können Sie in der Weboberfläche unter Orchestrierung/Vorlagenversionen einsehen. Hier ist zu empfehlen, dass Sie die neuste Version verwenden, da hier üblicherweise die beste Kompatibilität gewährleistet ist. Unter Ressourcentypen finden Sie dort auch eine Auflistung der verfügbaren Ressourcen, welche Sie in Ihrem Template definieren können. Wenn Sie auf den Namen einer Ressource klicken, gelangen Sie zu der Hilfeseite der jeweiligen Ressource, hier werden Ihnen die verfügbare Parameter kurz erklärt.

Als ersten Beispiel finden Sie hier ein einfaches Template, in dem zunächst eine Instanz mit Netzwerkport und Floating IP erstellt wird.

heat_template_version: 2018-08-31
description: A simple HOT

parameters:
  flavor:
    type: string
    description: Flavor used by the server
    default: upb-medium
  image:
    type: string
    description: Image used for server
    default: c315dc8d-8a9a-499d-a03e-9988d246bb77
  user_key:
    type: string
    description: SSH key to connect to the server
  network:
    type: string
    description: The network for the server
    default: uni
  subnet:
    type: string
    description: The subnet for the server
    default: uni-subnet-0
  floating_ip_id:
    type: string
    description: ID of the Floating IP to use

resources:
  webserver:
    type: OS::Nova::Server
    properties:
      flavor: { get_param: flavor }
      image: { get_param: image }
      key_name: { get_param: user_key }
      networks:
        - port: { get_resource: webserver_port }

  webserver_port:
    type: OS::Neutron::Port
    properties:
      network: { get_param: network }
      fixed_ips:
        - subnet: { get_param: subnet }
      security_groups: [{ get_resource: webserver_security_group }]

  webserver_floating_ip:
    type: OS::Neutron::FloatingIPAssociation
    properties:
      floatingip_id: { get_param: floating_ip_id }
      port_id: { get_resource: webserver_port }

  webserver_security_group:
    type: OS::Neutron::SecurityGroup
    properties:
      description: Add security group rules for server
      name: security-group
      rules:
        - remote_ip_prefix: 0.0.0.0/0
          protocol: tcp
          port_range_min: 22
          port_range_max: 22
        - remote_ip_prefix: 0.0.0.0/0
          protocol: icmp

outputs:
  server_private_ip:
    description: IP address of the server in private network
    value: { get_attr: [ webserver, first_address ] }

Hier wird im oberen Teil zunächst die Template Version festgelegt und eine kurze Beschreibung zum Template gegeben. Danach folgt der Punkt parameters. Die Parameter können beim Deployment des Stacks mit angegeben und bieten so die Möglichkeit z.B. den Flavor einer VM oder ein eigenes Schlüsselpaar einzugeben. Die Struktur der Parameter ist dabei immer die selbe:

Name_des_Parameters:
    type: Typ des Parameter (string, number, boolean)
    description: Beschreibung des Parameters
    default: Standardwert, falls keine Eingabe gemacht wird


Eine Vorlage testen

Einen Stack erstellen und starten

Einen Stack updaten

Einen Stack löschen

Vorlagen Generator Config per clout-config.yaml übergeben https://cloudinit.readthedocs.io/en/latest/topics/examples.html#


Bei Fragen oder Problemen wenden Sie sich bitte telefonisch oder per E-Mail an uns:

Tel. IT: +49 (5251) 60-5544 Tel. Medien: +49 (5251) 60-2821 E-Mail: imt@uni-paderborn.de

Der Servicepoint ist aktuell im Notebook-Café zu finden

Das IMT:Notebook-Café (Raum I0.401) bietet derzeit eingeschränkten Support und hat Montags bis Donnerstags von 08:30 - 16:00 Uhr und Freitags 08:30 - 15:00 Uhr geöffnet. Bitte beachten Sie die derzeit geltenden Hygienebestimmungen.

Das IMT:Servicecenter Medien auf H1 hat aktuell Montags bis Donnerstags von 8:00 - 16:00 Uhr und Freitags von 8:00 - 14:00 Uhr geöffnet.