feat: Add Kubernetes manifest (#116)

This commit is contained in:
Kroese 2024-05-16 02:24:20 +02:00 committed by GitHub
parent 4418458cf2
commit b9fa92a3d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 79 additions and 0 deletions

73
kubernetes.yml Normal file
View file

@ -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-arm
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

View file

@ -53,6 +53,12 @@ Via Docker CLI:
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
```
Via Kubernetes:
```shell
kubectl apply -f kubernetes.yml
```
## FAQ
* ### How do I use it?