Provides GPU accelerated WebRTC streaming and Xpra VDI support to Selkies.
- App Launcher: v1.0.0+
- Full desktop streaming with WebRTC (requires GPU).
- Hybrid streaming with Xpra (no GPU required).
- App streaming with WebRTC.
- GPU sharing, multiple users per node sharing the same GPU.
- Persistent home directories with VolumeClaimTemplates and dynamic resizing.
- Manual bitrate selection, configurable in real-time.
- Manual frame rate selection.
- Resolution up to 2560x1600.
- Audio support.
- Mouse lock support.
- Fullscreen support.
- Clipboard support.
- Gamepad support.
- Stream recording to GCS.
- Idle detection and automatic shutdown.
- Set the project, replace
YOUR_PROJECT
with your project ID:
export PROJECT_ID=YOUR_PROJECT
gcloud config set project ${PROJECT_ID?}
- Set the target region:
REGION=us-west1
NOTE: change this to the region of your cluster.
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:
- 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.
- Verify that submodules are up to date:
git submodule update --recursive
- Build build-images and install infrastructure:
gcloud builds submit --substitutions=_REGION=${REGION}
- Deploy the XFCE Desktop example with Cloud Build:
(cd examples/xfce-desktop && \
gcloud builds submit --substitutions=_REGION=${REGION})
- 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.