feat: Add Kubernetes manifest (#75)
This commit is contained in:
parent
a95615f40b
commit
66374039a3
2 changed files with 67 additions and 0 deletions
61
kubernetes.yml
Normal file
61
kubernetes.yml
Normal 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
|
|
@ -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?
|
||||||
|
|
Loading…
Reference in a new issue