feat: Add Kubernetes manifest (#75)

This commit is contained in:
Kroese 2024-05-16 02:44:47 +02:00 committed by GitHub
parent a95615f40b
commit 66374039a3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 67 additions and 0 deletions

61
kubernetes.yml Normal file
View file

@ -0,0 +1,61 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: qemu-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 16Gi
---
apiVersion: v1
kind: Pod
metadata:
name: qemu
labels:
name: qemu
spec:
terminationGracePeriodSeconds: 120 # the Kubernetes default is 30 seconds and it may be not enough
containers:
- name: qemu
image: qemux/qemu-arm
ports:
- containerPort: 8006
protocol: TCP
resources:
limits:
devices.kubevirt.io/kvm: 1
securityContext:
privileged: true
env:
- name: BOOT
value: "https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/aarch64/alpine-virt-3.19.1-aarch64.iso"
- name: RAM_SIZE
value: 1G
- name: CPU_CORES
value: "1"
- name: DISK_SIZE
value: "16G"
volumeMounts:
- mountPath: /storage
name: storage
volumes:
- name: storage
persistentVolumeClaim:
claimName: qemu-pvc
---
apiVersion: v1
kind: Service
metadata:
name: qemu
spec:
type: NodePort
selector:
name: qemu
ports:
- name: tcp-8006
protocol: TCP
port: 8006
targetPort: 8006
nodePort: 48006

View file

@ -49,6 +49,12 @@ Via Docker CLI:
docker run -it --rm --name qemu -e "BOOT=http://example.com/image.iso" -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN qemux/qemu-arm docker run -it --rm --name qemu -e "BOOT=http://example.com/image.iso" -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN qemux/qemu-arm
``` ```
Via Kubernetes:
```shell
kubectl apply -f kubernetes.yml
```
## FAQ ## FAQ
* ### How do I use it? * ### How do I use it?