Unverified Commit b01656a0 authored by Kroese's avatar Kroese Committed by GitHub
Browse files

docs: Add TUN device (#632)

parent a53c6fa6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ services:
      BOOT: "https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/x86_64/alpine-virt-3.19.1-x86_64.iso"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
+42 −35
Original line number Diff line number Diff line
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
@@ -16,47 +17,53 @@ metadata:
  labels:
    name: qemu
spec:
  terminationGracePeriodSeconds: 120 # the Kubernetes default is 30 seconds and it may be not enough
  containers:
  - name: qemu
    image: qemux/qemu-docker
      ports:
        - containerPort: 8006
          protocol: TCP
      securityContext:
        privileged: true
    env:
    - name: BOOT
      value: "https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/x86_64/alpine-virt-3.19.1-x86_64.iso"
    - name: RAM_SIZE
          value: 1G
      value: "1G"
    - name: CPU_CORES
      value: "1"
    - name: DISK_SIZE
      value: "16G"
    ports:
    - containerPort: 8006
    securityContext:
      capabilities:
        add:
        - NET_ADMIN
      privileged: true
    volumeMounts:
    - mountPath: /storage
      name: storage
    - mountPath: /dev/kvm
      name: dev-kvm
    - mountPath: /dev/net/tun
      name: dev-tun
  terminationGracePeriodSeconds: 120
  volumes:
  - name: storage
    persistentVolumeClaim:
      claimName: qemu-pvc
    - name: dev-kvm
      hostPath:
  - hostPath:
      path: /dev/kvm
    name: dev-kvm
  - hostPath:
      path: /dev/net/tun
      type: CharDevice
    name: dev-tun
---
apiVersion: v1
kind: Service
metadata:
  name: qemu
spec:
  type: NodePort
  selector:
    name: qemu
  ports:
  - name: tcp-8006
      protocol: TCP
    port: 8006
      targetPort: 8006
  selector:
    name: qemu
  type: NodePort
+2 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ services:
      BOOT: "https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/x86_64/alpine-virt-3.19.1-x86_64.iso"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
@@ -44,7 +45,7 @@ services:
Via Docker CLI:

```bash
docker run -it --rm -e "BOOT=http://example.com/image.iso" -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN qemux/qemu-docker
docker run -it --rm -e "BOOT=http://example.com/image.iso" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN qemux/qemu-docker
```

Via Kubernetes: