Unverified Commit 3126b384 authored by Slavik's avatar Slavik Committed by GitHub
Browse files

feat: Add Kubernetes manifest (#735)

parent 41e0157e
Loading
Loading
Loading
Loading

kubernetes.yml

0 → 100644
+58 −0
Original line number Diff line number Diff line
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
      resources:
        limits:
          devices.kubevirt.io/kvm: 1
      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
  volumes:
    - name: storage
      persistentVolumeClaim:
        claimName: dsm-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: dsm
spec:
  type: NodePort
  selector:
    name: dsm
  ports:
    - name: tcp-5000
      port: 5000
      targetPort: 5000
      nodePort: 31150
+6 −0
Original line number Diff line number Diff line
@@ -47,6 +47,12 @@ Via Docker CLI:
docker run -it --rm --name dsm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 vdsm/virtual-dsm
```

Via Kubernetes:

```shell
kubectl apply -f kubernetes.yml
```

## FAQ

* ### How do I use it?