apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: kairos-node-1 namespace: default annotations: harvesterhci.io/volumeClaimTemplates: |- [ { "metadata": { "name": "kairos-node-1-disk-0", "annotations": { "harvesterhci.io/imageId": "default/image-s9dln", "harvesterhci.io/delete-after-vm-termination": "true" } }, "spec": { "accessModes": ["ReadWriteMany"], "resources": {"requests": {"storage": "1Gi"}}, "volumeMode": "Block", "storageClassName": "longhorn-image-s9dln" } }, { "metadata": { "name": "kairos-node-1-disk-1", "annotations": { "harvesterhci.io/delete-after-vm-termination": "true" } }, "spec": { "accessModes": ["ReadWriteMany"], "resources": {"requests": {"storage": "50Gi"}}, "volumeMode": "Block", "storageClassName": "harvester-longhorn" } } ] harvesterhci.io/vmRunStrategy: RerunOnFailure labels: harvesterhci.io/vmName: kairos-node-1 spec: runStrategy: RerunOnFailure template: metadata: labels: harvesterhci.io/vmName: kairos-node-1 spec: domain: cpu: {cores: 2} resources: limits: memory: 4Gi requests: memory: 4Gi machine: {type: q35} features: acpi: {enabled: true} devices: inputs: - bus: usb name: tablet type: tablet interfaces: - model: virtio name: default bridge: {} disks: - name: disk-0 cdrom: {bus: sata} bootOrder: 2 - name: disk-1 disk: {bus: virtio} bootOrder: 1 - name: cloudinitdisk disk: {bus: virtio} networks: - name: default multus: networkName: default/vmn-lan volumes: - name: disk-0 persistentVolumeClaim: claimName: kairos-node-1-disk-0 - name: disk-1 persistentVolumeClaim: claimName: kairos-node-1-disk-1 - name: cloudinitdisk cloudInitNoCloud: secretRef: {name: kairos-cloud-config} --- apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: kairos-node-2 namespace: default annotations: harvesterhci.io/volumeClaimTemplates: |- [ { "metadata": { "name": "kairos-node-2-disk-0", "annotations": {"harvesterhci.io/imageId": "default/image-s9dln"} }, "spec": { "accessModes": ["ReadWriteMany"], "resources": {"requests": {"storage": "1Gi"}}, "volumeMode": "Block", "storageClassName": "longhorn-image-s9dln" } }, { "metadata": {"name": "kairos-node-2-disk-1"}, "spec": { "accessModes": ["ReadWriteMany"], "resources": {"requests": {"storage": "50Gi"}}, "volumeMode": "Block", "storageClassName": "harvester-longhorn" } } ] harvesterhci.io/vmRunStrategy: RerunOnFailure labels: harvesterhci.io/vmName: kairos-node-2 spec: runStrategy: RerunOnFailure template: metadata: labels: harvesterhci.io/vmName: kairos-node-2 spec: domain: cpu: {cores: 2} resources: limits: memory: 4Gi requests: memory: 4Gi machine: {type: q35} features: acpi: {enabled: true} devices: inputs: - bus: usb name: tablet type: tablet interfaces: - model: virtio name: default bridge: {} disks: - name: disk-0 cdrom: {bus: sata} bootOrder: 2 - name: disk-1 disk: {bus: virtio} bootOrder: 1 - name: cloudinitdisk disk: {bus: virtio} networks: - name: default multus: networkName: default/vmn-lan volumes: - name: disk-0 persistentVolumeClaim: claimName: kairos-node-2-disk-0 - name: disk-1 persistentVolumeClaim: claimName: kairos-node-2-disk-1 - name: cloudinitdisk cloudInitNoCloud: secretRef: {name: kairos-cloud-config} --- apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: kairos-node-3 namespace: default annotations: harvesterhci.io/volumeClaimTemplates: |- [ { "metadata": { "name": "kairos-node-3-disk-0", "annotations": {"harvesterhci.io/imageId": "default/image-s9dln"} }, "spec": { "accessModes": ["ReadWriteMany"], "resources": {"requests": {"storage": "1Gi"}}, "volumeMode": "Block", "storageClassName": "longhorn-image-s9dln" } }, { "metadata": {"name": "kairos-node-3-disk-1"}, "spec": { "accessModes": ["ReadWriteMany"], "resources": {"requests": {"storage": "50Gi"}}, "volumeMode": "Block", "storageClassName": "harvester-longhorn" } } ] harvesterhci.io/vmRunStrategy: RerunOnFailure labels: harvesterhci.io/vmName: kairos-node-3 spec: runStrategy: RerunOnFailure template: metadata: labels: harvesterhci.io/vmName: kairos-node-3 spec: domain: cpu: {cores: 2} resources: limits: memory: 4Gi requests: memory: 4Gi machine: {type: q35} features: acpi: {enabled: true} devices: inputs: - bus: usb name: tablet type: tablet interfaces: - model: virtio name: default bridge: {} disks: - name: disk-0 cdrom: {bus: sata} bootOrder: 2 - name: disk-1 disk: {bus: virtio} bootOrder: 1 - name: cloudinitdisk disk: {bus: virtio} networks: - name: default multus: networkName: default/vmn-lan volumes: - name: disk-0 persistentVolumeClaim: claimName: kairos-node-3-disk-0 - name: disk-1 persistentVolumeClaim: claimName: kairos-node-3-disk-1 - name: cloudinitdisk cloudInitNoCloud: secretRef: {name: kairos-cloud-config}