selkies-project / selkies-vdi

WebRTC & Xpra desktops on Selkies
https://selkies.io
Apache License 2.0
66 stars 17 forks source link
gke gpu-acceleration kubernetes selkies vdi webrtc xpra

VDI Addon for Selkies

Discord

Description

Selkies addon for deploying VDI and app streaming workloads.

Dependencies

Features

Quick start

  1. Set the project, replace YOUR_PROJECT with your project ID:
export PROJECT_ID=YOUR_PROJECT
gcloud config set project ${PROJECT_ID?}
  1. Set the target region:
REGION=us-west1

NOTE: change this to the region of your cluster.

Pre-requisites

This tutorial requires that you have already deployed the Kubernetes App Launcher Operator in your GKE cluster.

If you have not already deployed the operator, follow this Cloud Shell tutorial to do so:

Open in Cloud Shell

Platform verification

  1. Verify that the gpu-cos node pool has been created:
gcloud container node-pools list --cluster broker-${REGION?} --region ${REGION?} --filter name~gpu-cos

If no node-pool is listed, return to the App Launcher tutorial and re-run the infrastructure section with the gpu node pool enabled.

Deploy infrastructure and manifests

  1. Verify that submodules are up to date:
git submodule update --init --recursive
  1. Build build-images and install infrastructure:
gcloud builds submit --substitutions=_REGION=${REGION}

Deploy sample app

  1. Deploy the XFCE Desktop example with Cloud Build:
(cd examples/xfce-desktop && \
    gcloud builds submit --substitutions=_REGION=${REGION})
  1. Open the App Launcher and launch the XFCE Desktop app.

NOTE: the first launch may take several minutes to run as the images are pulled for the first time.

NOTE: If the node pool has zero nodes, then it will take an additional 10 minutes to add a new node and pull the images.