|
|
--- |
|
|
apiVersion: v1 |
|
|
kind: PersistentVolumeClaim |
|
|
metadata: |
|
|
name: qemu-pvc |
|
|
spec: |
|
|
accessModes: |
|
|
- ReadWriteOnce |
|
|
resources: |
|
|
requests: |
|
|
storage: 64Gi |
|
|
--- |
|
|
apiVersion: apps/v1 |
|
|
kind: Deployment |
|
|
metadata: |
|
|
name: qemu |
|
|
labels: |
|
|
name: qemu |
|
|
spec: |
|
|
replicas: 1 |
|
|
selector: |
|
|
matchLabels: |
|
|
app: qemu |
|
|
template: |
|
|
metadata: |
|
|
labels: |
|
|
app: qemu |
|
|
spec: |
|
|
containers: |
|
|
- name: qemu |
|
|
image: qemux/qemu |
|
|
env: |
|
|
- name: BOOT |
|
|
value: "mint" |
|
|
- name: DISK_SIZE |
|
|
value: "64G" |
|
|
ports: |
|
|
- containerPort: 8006 |
|
|
name: http |
|
|
protocol: TCP |
|
|
- containerPort: 5900 |
|
|
name: vnc |
|
|
protocol: TCP |
|
|
securityContext: |
|
|
capabilities: |
|
|
add: |
|
|
- NET_ADMIN |
|
|
privileged: true |
|
|
volumeMounts: |
|
|
- mountPath: /storage |
|
|
name: storage |
|
|
- mountPath: /dev/kvm |
|
|
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 |
|
|
kind: Service |
|
|
metadata: |
|
|
name: qemu |
|
|
spec: |
|
|
internalTrafficPolicy: Cluster |
|
|
ports: |
|
|
- name: http |
|
|
port: 8006 |
|
|
protocol: TCP |
|
|
targetPort: 8006 |
|
|
- name: vnc |
|
|
port: 5900 |
|
|
protocol: TCP |
|
|
targetPort: 5900 |
|
|
selector: |
|
|
app: qemu |
|
|
type: ClusterIP |
|
|
|