mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-09-09 19:32:05 +02:00
feat: kubevirt - add cdi & ovs
This commit is contained in:
@@ -1 +1,22 @@
|
||||
from .test import *
|
||||
from pulumi import ResourceOptions
|
||||
from pulumi_kubernetes.yaml import ConfigGroup
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from ..kubevirt import NewKubeVirt
|
||||
|
||||
|
||||
class NewVirtualMachines:
|
||||
CURRENT_DIR = Path(__file__).parent
|
||||
CURRENT_DIR_STR = CURRENT_DIR.as_posix()
|
||||
|
||||
def __init__(self, provider, kubevirt: NewKubeVirt):
|
||||
self.provider = provider
|
||||
|
||||
self.kubevirt = ConfigGroup(
|
||||
"virtual-machines",
|
||||
files=[self.CURRENT_DIR_STR + "/yaml/*.yaml"],
|
||||
opts=ResourceOptions(
|
||||
provider=self.provider, depends_on=kubevirt.resouces()
|
||||
),
|
||||
)
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
from pulumi_kubernetes.yaml import ConfigGroup
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
currentDir = Path(__file__).parent
|
||||
|
||||
kubevirt = ConfigGroup(
|
||||
"virtual-machines",
|
||||
files=[currentDir.as_posix() + "/yaml/*.yaml"],
|
||||
)
|
||||
@@ -1,34 +1,59 @@
|
||||
apiVersion: kubevirt.io/v1
|
||||
kind: VirtualMachineInstance
|
||||
apiVersion: "k8s.cni.cncf.io/v1"
|
||||
kind: NetworkAttachmentDefinition
|
||||
metadata:
|
||||
name: testvmi-nocloud
|
||||
name: ovs-net
|
||||
annotations:
|
||||
k8s.v1.cni.cncf.io/resourceName: ovs-cni.network.kubevirt.io/ovsbr1
|
||||
spec:
|
||||
terminationGracePeriodSeconds: 30
|
||||
domain:
|
||||
resources:
|
||||
requests:
|
||||
memory: 1024M
|
||||
devices:
|
||||
disks:
|
||||
config: '{
|
||||
"cniVersion": "0.4.0",
|
||||
"type": "ovs",
|
||||
"bridge": "ovsbr1",
|
||||
}'
|
||||
---
|
||||
apiVersion: kubevirt.io/v1
|
||||
kind: VirtualMachine
|
||||
metadata:
|
||||
name: testvm-nocloud
|
||||
spec:
|
||||
runStrategy: Always
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
kubevirt.io/vm: testvm-nocloud
|
||||
spec:
|
||||
terminationGracePeriodSeconds: 30
|
||||
domain:
|
||||
resources:
|
||||
requests:
|
||||
memory: 1024M
|
||||
devices:
|
||||
disks:
|
||||
- name: containerdisk
|
||||
disk:
|
||||
bus: virtio
|
||||
- name: emptydisk
|
||||
disk:
|
||||
bus: virtio
|
||||
- disk:
|
||||
bus: virtio
|
||||
name: cloudinitdisk
|
||||
networks:
|
||||
- name: ovs-net
|
||||
multus: # Multus network as default
|
||||
default: true
|
||||
networkName: ovsbr1
|
||||
volumes:
|
||||
- name: containerdisk
|
||||
disk:
|
||||
bus: virtio
|
||||
containerDisk:
|
||||
image: kubevirt/fedora-cloud-container-disk-demo:latest
|
||||
- name: emptydisk
|
||||
disk:
|
||||
bus: virtio
|
||||
- disk:
|
||||
bus: virtio
|
||||
name: cloudinitdisk
|
||||
volumes:
|
||||
- name: containerdisk
|
||||
containerDisk:
|
||||
image: kubevirt/fedora-cloud-container-disk-demo:latest
|
||||
- name: emptydisk
|
||||
emptyDisk:
|
||||
capacity: "2Gi"
|
||||
- name: cloudinitdisk
|
||||
cloudInitNoCloud:
|
||||
userData: |-
|
||||
#cloud-config
|
||||
password: fedora
|
||||
chpasswd: { expire: False }
|
||||
emptyDisk:
|
||||
capacity: "2Gi"
|
||||
- name: cloudinitdisk
|
||||
cloudInitNoCloud:
|
||||
userData: |-
|
||||
#cloud-config
|
||||
password: fedora
|
||||
chpasswd: { expire: False }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user