Bootstrap HA k3s server on 3 Harvester VM nodes
This commit is contained in:
256
manifests/harvester-vms.yaml
Normal file
256
manifests/harvester-vms.yaml
Normal file
@@ -0,0 +1,256 @@
|
||||
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}
|
||||
Reference in New Issue
Block a user