2026-04-10 18:51:09 +10:00
|
|
|
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": {
|
2026-04-14 11:30:03 +10:00
|
|
|
"harvesterhci.io/imageId": "default/image-xbmbj",
|
2026-04-10 18:51:09 +10:00
|
|
|
"harvesterhci.io/delete-after-vm-termination": "true"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"spec": {
|
|
|
|
|
"accessModes": ["ReadWriteMany"],
|
|
|
|
|
"resources": {"requests": {"storage": "1Gi"}},
|
|
|
|
|
"volumeMode": "Block",
|
2026-04-14 11:30:03 +10:00
|
|
|
"storageClassName": "longhorn-image-xbmbj"
|
2026-04-10 18:51:09 +10:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"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",
|
2026-04-14 11:30:03 +10:00
|
|
|
"annotations": {"harvesterhci.io/imageId": "default/image-xbmbj"}
|
2026-04-10 18:51:09 +10:00
|
|
|
},
|
|
|
|
|
"spec": {
|
|
|
|
|
"accessModes": ["ReadWriteMany"],
|
|
|
|
|
"resources": {"requests": {"storage": "1Gi"}},
|
|
|
|
|
"volumeMode": "Block",
|
2026-04-14 11:30:03 +10:00
|
|
|
"storageClassName": "longhorn-image-xbmbj"
|
2026-04-10 18:51:09 +10:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"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",
|
2026-04-14 11:30:03 +10:00
|
|
|
"annotations": {"harvesterhci.io/imageId": "default/image-xbmbj"}
|
2026-04-10 18:51:09 +10:00
|
|
|
},
|
|
|
|
|
"spec": {
|
|
|
|
|
"accessModes": ["ReadWriteMany"],
|
|
|
|
|
"resources": {"requests": {"storage": "1Gi"}},
|
|
|
|
|
"volumeMode": "Block",
|
2026-04-14 11:30:03 +10:00
|
|
|
"storageClassName": "longhorn-image-xbmbj"
|
2026-04-10 18:51:09 +10:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"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}
|