docs: Kubernetes deployment

This commit is contained in:
Kroese 2025-03-06 23:59:11 +01:00 committed by GitHub
parent 2d56154644
commit f9fa807870
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -10,60 +10,81 @@ spec:
requests: requests:
storage: 16Gi storage: 16Gi
--- ---
apiVersion: v1 apiVersion: apps/v1
kind: Pod kind: Deployment
metadata: metadata:
name: qemu name: qemu
labels: labels:
name: qemu name: qemu
spec: spec:
containers: replicas: 1
- name: qemu selector:
image: qemux/qemu-arm matchLabels:
env: app: qemu
- name: BOOT template:
value: "https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/aarch64/alpine-virt-3.19.1-aarch64.iso" metadata:
- name: RAM_SIZE labels:
value: "1G" app: qemu
- name: CPU_CORES spec:
value: "1" containers:
- name: DISK_SIZE - name: qemu
value: "16G" image: qemux/qemu-arm
ports: env:
- containerPort: 8006 - name: BOOT
securityContext: value: "https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/aarch64/alpine-virt-3.19.1-aarch64.iso"
capabilities: - name: RAM_SIZE
add: value: "1G"
- NET_ADMIN - name: CPU_CORES
privileged: true value: "1"
volumeMounts: - name: DISK_SIZE
- mountPath: /storage value: "16G"
name: storage ports:
- mountPath: /dev/kvm - containerPort: 8006
name: dev-kvm name: http
- mountPath: /dev/net/tun protocol: TCP
name: dev-tun - containerPort: 5900
terminationGracePeriodSeconds: 120 name: vnc
volumes: protocol: TCP
- name: storage securityContext:
persistentVolumeClaim: capabilities:
claimName: qemu-pvc add:
- hostPath: - NET_ADMIN
path: /dev/kvm privileged: true
name: dev-kvm volumeMounts:
- hostPath: - mountPath: /storage
path: /dev/net/tun name: storage
type: CharDevice - mountPath: /dev/kvm
name: dev-tun name: dev-kvm
- mountPath: /dev/net/tun
name: dev-tun
terminationGracePeriodSeconds: 120
volumes:
- name: storage
persistentVolumeClaim:
claimName: qemu-pvc
- hostPath:
path: /dev/kvm
name: dev-kvm
- hostPath:
path: /dev/net/tun
type: CharDevice
name: dev-tun
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: qemu name: qemu
spec: spec:
internalTrafficPolicy: Cluster
ports: ports:
- name: tcp-8006 - name: http
port: 8006 port: 8006
protocol: TCP
targetPort: 8006
- name: vnc
port: 5900
protocol: TCP
targetPort: 5900
selector: selector:
name: qemu app: qemu
type: NodePort type: ClusterIP