Einfach und schnell mehrere VMs unter OpenShift erstellen

Wer mit OpenShift und KubeVirt arbeitet, kennt das Problem: Mehrere identische Virtual Machines (VMs) manuell zu erstellen kostet Zeit – besonders in Test- oder Lab-Umgebungen.

Mit einem kleinen Bash-Script lässt sich das elegant automatisieren.

#!/bin/bash

for VMID in {1..10}; do
echo „Erstelle Ressourcen für VMID=${VMID}“

# Rootdisk DataVolume
oc create -f – <<EOF
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: rhel9-small-custom${VMID}-rootdisk
spec:
storage:
resources:
requests:
storage: 30Gi
storageClassName: ibm-flash-storage
source:
blank: {}
EOF

# Datadisks DataVolumes
for i in {1..2}; do
oc create -f – <<EOF
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: rhel9-small-custom${VMID}-datadisk${i}
spec:
storage:
resources:
requests:
storage: 5Gi
storageClassName: ibm-flash-storage
source:
blank: {}
EOF
done

# VirtualMachine
oc create -f – <<EOF
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
name: rhel9-small-custom${VMID}
spec:
running: false
template:
spec:
domain:
cpu:
cores: 2
resources:
requests:
memory: 4Gi
devices:
disks:
– name: rootdisk
disk:
bus: virtio
$(for i in {1..2}; do
echo “ – name: disk${i}“
echo “ disk:“
echo “ bus: virtio“
done)
volumes:
– name: rootdisk
dataVolume:
name: rhel9-small-custom${VMID}-rootdisk
$(for i in {1..2}; do
echo “ – name: disk${i}“
echo “ dataVolume:“
echo “ name: rhel9-small-custom${VMID}-datadisk${i}“
done)
EOF

done

Das Script erstellt automatisch eine definierte Anzahl von Virtual Machines (VMs):

  • VMIDs von 1 bis 10 (anpassbar)
  • Pro VM:
    • 1 × Rootdisk (30 Gigabyte)
    • 2 × Datadisks (je 5 Gi)
    • 2 vCPUs
    • 4 Gi RAM
  • StorageClass: ibm-flash-storage
  • VMs werden initial nicht gestartet (running: false)

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

* Die DSGVO-Checkbox ist ein Pflichtfeld

*

Zustimmung zur Datenspeicherung lt. DSGVO