VMWARE → STACKIT · TUTORIAL

VMware-Templates in STACKIT-Images überführen

In einem RVTools-Export ist ein Template eine Zeile, deren Spalte Template den Wert True trägt. StackToIT ordnet sie einem STACKIT-Image zu, schreibt dafür kein Terraform und übergibt sie als manuellen Schritt an den Platform Architect. Diese Anleitung nutzt eine kleine Build-Umgebung mit drei Templates, einem nicht markierten Golden Image und zwei VMs und endet mit dem, was Sie vor dem Apply ändern.

Schritt 1: Die Spalte Template entscheidet

Ein für diese Seite geschriebener Demo-Export, am 4. November 2026 von StackToIT bewertet. Links: die ersten Zeilen des Blatts vInfo. Rechts: drei Zeilen aus migration/source-target.csv des Laufs, der Datei, die sagt, was aus jeder Quellzeile wurde.

BeispieleingabeRVTools_tabvInfo.csv
VM,Powerstate,Template,CPUs,Memory,NICs,Disks,Provisioned MiB,In use MiB,Primary IP Address,Datacenter,Cluster,Host,Folder,Annotation,OS according to the configuration file,OS according to the VMware Tools,VM UUID
tpl-ubuntu2204,poweredOff,True,2,4096,1,1,40960,7200,,DC-Hamburg,CL-Build,esx21,templates,Ubuntu 22.04 base image 2026-09,Ubuntu Linux (64-bit),,4207-cccc-0001
tpl-win2022,poweredOff,True,4,8192,1,2,92160,31000,,DC-Hamburg,CL-Build,esx21,templates,Windows Server 2022 base image,Microsoft Windows Server 2022 (64-bit),,4207-cccc-0002
tpl-rhel9,poweredOff,True,2,4096,1,1,30720,5400,,DC-Hamburg,CL-Build,esx21,templates,RHEL 9 base image,Red Hat Enterprise Linux 9 (64-bit),,4207-cccc-0003
build-gold01,poweredOff,False,2,4096,1,1,40960,9100,,DC-Hamburg,CL-Build,esx22,templates,Golden image kept as a normal VM - not flagged as template,Debian GNU/Linux 12 (64-bit),,4207-cccc-0004
Ausgabe von StackToITmigration/source-target.csv
source_unit,source_type,stackit_target,stackit_resources,drafted_resources,standing,kept,changed,accepted,to_do
vm.build-gold01,vmware_vm,STACKIT Compute Engine,stackit_server; stackit_volume; stackit_network_interface; stackit_image,stackit_server,TARGET,0,6,0,36
vm.tpl-ubuntu2204,vmware_vm,"This draft writes no stackit_image for this unit: VM template: convert the VMDK to qcow2/raw and upload it with stackit_image, or rebuild it from a STACKIT public image.",,,NOT_DRAFTED,0,0,0,37
  • Drei Templates, ein Doppelgänger

    tpl-ubuntu2204, tpl-win2022 und tpl-rhel9 haben Template=True und werden zur Klasse REPLATFORM mit dem Ziel STACKIT image. build-gold01 liegt im selben Ordner und ist ausgeschaltet, aber seine Spalte Template sagt False; daher wird es als Server geplant.

  • Flag statt Ordner

    StackToIT liest das Flag, nicht den Ordnernamen oder die Notiz. Gilt ein Golden Image bei Ihnen als Template, markieren Sie es vor dem Export in vCenter, oder Sie entscheiden bewusst, dass es als Server umzieht.

  • Kein Terraform für ein Template

    Die Datei sagt es klar: Der Entwurf schreibt für diese drei Einheiten kein stackit_image. Jede bleibt NOT_DRAFTED, bis eine Person handelt; deshalb führt index.html sie unter „Units left for the architect“.

Schritt 2: Bewerten und den Plan lesen

  1. Bewertung starten

    stacktoit assess ./rvtools ./vmware-migration liest die CSV-Dateien auf Ihrem Rechner und schreibt das Paket. Die Konsole dieses Laufs: 7 Einheiten, 4 im Entwurf, 3 beim Architekten.

  2. Die Template-Arbeit finden

    execution/manual/actions.md enthält einen Eintrag für die drei Templates, Arbeitspaket WP-03, verantwortlich ist der Platform Architect. Jedes Template trägt 17 offene kritische Einstellungen, darunter disk-capacity, guest-os und memory-reservation, die assurance/critical-semantics.json einzeln erklärt.

  3. Die Verbraucher finden

    Jeder Server in terraform/compute.tf liest sein Boot-Image aus einer nach der VM benannten Variablen, etwa vm_ci_runner01_image_id. Dass ci-runner01 aus tpl-ubuntu2204 geklont wurde, weiß der Lauf nicht, denn die Notiz ist Freitext.

Was der Plan verlangt und wohin die Image-ID gehört

Links: die beiden Zeilen des manuellen Schritts, die die Entscheidung benennen; {resource} ist der Platzhalter der Datei für die drei Template-Namen, die sie unter dem Schritt aufführt. Rechts: der Server von ci-runner01 und seine Image-Variable aus terraform/, Kommentarzeilen weggelassen.

Manueller Schrittexecution/manual/actions.md
- What: Decide how {resource} (vmware_vm) moves to STACKIT and set its target up by hand, or record that it needs none: the draft writes no resource for it
- Why: VM template: convert the VMDK to qcow2/raw and upload it with stackit_image, or rebuild it from a STACKIT public image.
STACKIT-Terraform von StackToITterraform/compute.tf und variables.tf
resource "stackit_server" "vm_ci_runner01" {
  project_id        = var.project_id
  name              = "ci-runner01"
  machine_type      = var.vm_ci_runner01_machine_type
  availability_zone = var.availability_zone
  boot_volume = {
    source_type = "image"
    source_id   = var.vm_ci_runner01_image_id
    size        = 40
  }
  network_interfaces = [stackit_network_interface.vm_ci_runner01_nic1.network_interface_id]
}

variable "vm_ci_runner01_image_id" {
  type        = string
  description = "STACKIT image converted from the boot disk of VM ci-runner01 (qcow2 or raw)."
}
  • Ein Image, mehrere Variablen

    Jede VM bekommt eine eigene Image-Variable, und deren Beschreibung verlangt das aus der eigenen Bootplatte dieser VM konvertierte Image. Setzen Sie stattdessen das Template-Image ein, bauen Sie den Server aus dem Template neu auf. Tun Sie das nur dort, wo die Provisionierung alles wiederherstellt, was auf der Platte liegt, wie es bei einem CI-Runner der Fall sein kann.

  • Nur die Bootplatte

    Die Variablenbeschreibung spricht von der Bootplatte. Eine zweite Platte eines Templates, etwa die 30 GiB große Hard disk 2 von tpl-win2022, steckt nicht in diesem Image; entscheiden Sie, ob ihr Inhalt durch die Provisionierung neu entsteht.

Schritt 3: Konvertieren oder neu bauen, je Template

Der Plan nennt zwei Wege. Welcher passt, hängt vom Inhalt des Templates und von der Lizenz ab.

TemplateZu erwägender WegWas entscheidet
tpl-ubuntu2204Aus dem von STACKIT angebotenen Ubuntu-22.04-Image neu bauen oder die Platte konvertierenDie Linux-Imageliste von STACKIT enthält Ubuntu 22.04. Neu bauen, wenn Ihre Provisionierung skriptgesteuert ist; konvertieren, wenn das Template Software enthält, die schwer neu zu installieren ist.
tpl-rhel9Aus dem Image Red Hat Enterprise Linux 9 neu bauen oder die Platte konvertierenDie Liste enthält RHEL 9. Bei selbst bereitgestellten Images legt STACKIT die Lizenzverantwortung auf Sie; prüfen Sie zuerst Ihre Subscription-Bedingungen.
tpl-win2022Vom Image Windows Server 2022 ausgehen oder bei STACKIT nach einem eigenen Image fragenSTACKIT führt Windows Server 2025, 2022, 2019 und 2016 (Standard), nur für das Betriebssystem lizenziert. Laut STACKIT lassen sich Windows-Lizenzen nicht migrieren, und ein eigenes Windows-Image erfordert eine Anfrage bei STACKIT.
build-gold01Als Server behandeln oder als Template markieren und als Image behandelnDebian 12 steht auf der STACKIT-Liste. Klären Sie, ob noch jemand von dieser Maschine klont, bevor Sie Aufwand in den Umzug stecken.

Der Lauf ergänzt die Windows-VMs um einen INFO-Hinweis: das Image vor der Konvertierung auf die neue virtuelle Hardware vorbereiten (Speicher- und Netzwerktreiber) und prüfen, wie Windows-Lizenzen auf STACKIT bereitgestellt werden.

Schritt 4: Konvertieren, hochladen, prüfen, teilen

Diese Schritte folgen der STACKIT-Anleitung für eigene Images. Der Konvertierungsbefehl ist allgemeine Praxis und nichts, was StackToIT ausführt.

  1. Platte exportieren und konvertieren

    Exportieren Sie die VMDK des Templates und konvertieren Sie sie nach qcow2 oder raw, zum Beispiel mit qemu-img convert. Die STACKIT-Seite zeigt die Konvertierung nach raw.

  2. Image-Datensatz anlegen

    Senden Sie einen POST an den Images-Endpunkt der IaaS-API mit Name, active auf true und diskFormat auf raw, qcow2 oder iso. Die Antwort enthält die Image-ID und eine Upload-URL.

  3. Datei hochladen

    Laden Sie die konvertierte Datei per PUT an diese URL hoch. Die URL gilt nur für dieses Image und läuft nach wenigen Stunden ab; die maximale Imagegröße beträgt 70 GB.

  4. Auf AVAILABLE warten

    Lesen Sie das Image zurück, bis sein Status AVAILABLE ist. Erst dann gehört seine ID in die Variable eines Servers.

  5. Dort teilen, wo es gebraucht wird

    Ein Image lässt sich mit anderen Projekten oder mit der übergeordneten Organisation teilen. Das funktioniert nur innerhalb einer Organisation.

Das ändern Sie vor dem Apply

  • Image-IDs

    Tragen Sie in review/target-values.tfvars die Variablen vm_*_image_id mit IDs von Images im Status AVAILABLE ein und starten Sie die Bewertung erneut mit demselben Ausgabeordner.

  • Maschinentypen

    Jeder Server verlangt einen Maschinentyp und nennt die Quellgröße, etwa 4 vCPU und 8 GiB bei app-win01. Die STACKIT-Seite zu Maschinentypen listet die Familien.

  • Netzwerkpräfix

    RVTools exportiert keine Subnetzmaske; daher ist das Präfix von PG-Build eine Variable, die die dort gesehenen Adressen 10.40.10.21 und 10.40.10.31 nennt.

  • Die Template-Entscheidung

    Halten Sie je Template fest, ob es konvertiert, neu gebaut oder verworfen wird. Der Planschritt ist erledigt, wenn das Gegenstück eingerichtet und geprüft ist oder Sie festhalten, dass keines nötig ist.

Fragen zu Templates

Legt StackToIT das STACKIT-Image an?

Nein. Für ein Template schreibt es keine Ressource und legt einen manuellen Schritt an. Konvertierung und Upload erledigt eine Person, und nichts im Paket greift auf Ihre VMware- oder STACKIT-Umgebung zu.

Warum hat ein Template im Entwurf keine Netzwerkschnittstelle?

Weil der Entwurf dafür nichts schreibt. Im Demo-Export sind die Adapter der Templates nicht verbunden und tragen keine Adresse; es gibt also keine Adresse zu erhalten.

Welche Imageformate akzeptiert STACKIT?

Die Anleitung für eigene Images nennt raw, qcow2 und iso als Plattenformate. Der Plan für eine VM-Platte verlangt qcow2 oder raw.

Kann ich ein Template-Image für viele Server behalten?

Ja, für neue Server und für Server, die Sie bewusst daraus neu aufbauen. Die Image-Variable einer migrierten VM erwartet das Image ihrer eigenen Bootplatte; zeigt sie auf das Template-Image, geht alles verloren, was sich auf der VM seit dem Klonen geändert hat. Teilen Sie das Image, wenn die Server in anderen Projekten derselben Organisation liegen.

Quellen

Ihr nächster Schritt: STACKIT.

Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.