Browse Source

feat: Add Kubernetes manifest (#304)

frank 1 year ago
parent
commit
63a4402964
1 changed files with 73 additions and 0 deletions
  1. 73 0
      kubernetes.yml

+ 73 - 0
kubernetes.yml

@@ -0,0 +1,73 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: windows-pvc
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 64Gi
+---
+apiVersion: v1
+kind: Pod
+metadata:
+  name: windows
+  labels:
+    name: windows
+spec:
+  terminationGracePeriodSeconds: 120 # the Kubernetes default is 30 seconds and it may be not enough
+  containers:
+    - name: windows
+      image: dockurr/windows
+      ports:
+        - containerPort: 8006
+          protocol: TCP
+        - containerPort: 3389
+          protocol: TCP
+          - containerPort: 3389
+          protocol: UDP
+      resources:
+        limits:
+          devices.kubevirt.io/kvm: 1
+      securityContext:
+        privileged: true
+      env:
+        - name: RAM_SIZE
+          value: 4G
+        - name: CPU_CORES
+          value: "2"
+        - name: DISK_SIZE
+          value: "64G"
+      volumeMounts:
+        - mountPath: /storage
+          name: storage
+  volumes:
+    - name: storage
+      persistentVolumeClaim:
+        claimName: windows-pvc
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: windows
+spec:
+  type: NodePort
+  selector:
+    name: windows
+  ports:
+    - name: tcp-8006
+      protocol: TCP
+      port: 8006
+      targetPort: 8006
+      nodePort: 48006
+    - name: tcp-3389
+      protocol: TCP
+      port: 3389
+      targetPort: 3389
+      nodePort: 43389
+      - name: udp-3389
+      protocol: UDP
+      port: 3389
+      targetPort: 3389
+      nodePort: 43388