Skip to content

Docs: Kubernetes Deployment #85

@secana

Description

@secana

Hi, I've installed rustdesk on Kubernetes based on the Docker Compose example.

Maybe you are interested in adding the deployment as an example on the docs page.

rustdesk.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: rustdesk
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rustdesk
  template:
    metadata:
      labels:
        app: rustdesk
    spec:
      containers:
        - args:
            - hbbr
          image: rustdesk/rustdesk-server:latest-arm64v8
          name: hbbr
          ports:
            - containerPort: 21117
            - containerPort: 21119
          resources:
            limits:
              memory: "128Mi"
              cpu: "200m"
            requests:
              memory: "64Mi"
              cpu: "100m"
          volumeMounts:
            - mountPath: /root
              name: hbbr-claim0
        - args:
            - hbbs
            - -r
            - localhost:21117
          image: rustdesk/rustdesk-server:latest-arm64v8
          name: hbbs
          ports:
            - containerPort: 21115
            - containerPort: 21116
            - containerPort: 21116
              protocol: UDP
            - containerPort: 21118
          resources: 
            limits:
              memory: "128Mi"
              cpu: "200m"
            requests:
              memory: "64Mi"
              cpu: "100m"
          volumeMounts:
            - mountPath: /root
              name: hbbs-claim0
      volumes:
        - name: hbbr-claim0
          persistentVolumeClaim:
            claimName: hbbr-claim0
        - name: hbbs-claim0
          persistentVolumeClaim:
            claimName: hbbs-claim0
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: hbbr-claim0
spec:
  storageClassName: default
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi
status: {}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: hbbs-claim0
spec:
  storageClassName: default
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi
status: {}
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: rustdesk
  name: rustdesk-tcp
spec:
  ports:
    - name: "21117"
      port: 21117
      targetPort: 21117
    - name: "21119"
      port: 21119
      targetPort: 21119
    - name: "21115"
      port: 21115
      targetPort: 21115
    - name: "21116"
      port: 21116
      targetPort: 21116
    - name: "21118"
      port: 21118
      targetPort: 21118
  externalTrafficPolicy: Local
  selector:
    app: rustdesk
  type: LoadBalancer
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: rustdesk
  name: rustdesk-udp
spec:
  ports:
    - name: 21116-udp
      port: 21116
      protocol: UDP
      targetPort: 21116
  externalTrafficPolicy: Local
  selector:
    app: rustdesk
  type: LoadBalancer

Deploy the whole application with kubectl apply -f rustdesk.yaml

I had no time to create a helm chart to automate the deployment above, but maybe I'm doing that later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions