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