apiVersion: v1 kind: PersistentVolumeClaim metadata: name: dsm-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 16Gi --- apiVersion: v1 kind: Pod metadata: name: dsm labels: name: dsm spec: terminationGracePeriodSeconds: 120 # the Kubernetes default is 30 seconds and it may be not enough containers: - name: dsm image: vdsm/virtual-dsm ports: - containerPort: 5000 protocol: TCP securityContext: privileged: true env: - name: RAM_SIZE value: 1G - name: CPU_CORES value: "1" - name: DISK_SIZE value: "16G" # Kubernetes uses Gi, but DSM uses GB volumeMounts: - mountPath: /storage name: storage - mountPath: /dev/kvm name: dev-kvm volumes: - name: storage persistentVolumeClaim: claimName: dsm-pvc - name: dev-kvm hostPath: path: /dev/kvm --- apiVersion: v1 kind: Service metadata: name: dsm spec: type: NodePort selector: name: dsm ports: - name: tcp-5000 port: 5000 targetPort: 5000