This is a Helm chart package to manage Chrome Remote Desktop deployment on your Kubernetes cluster.
Chrome Remote Desktop Helm Chart
Basic Introduction
This is a Helm chart package to manage Chrome Remote Desktop deployment on your Kubernetes cluster.
Prerequisites
- Persistent storage (optional)
- Install a persistent storage plugin such as Longhorn (installed by the production cluster configuration automation, and optionally included in the local developer setup)
Installation
Using NGC CLI and NGC Web UI
Please see the NGC Helm Charts documentation for general guidance.
Using Helm Dashboard
This Helm chart can be installed on your Kubernetes cluster using the Helm Dashboard UI once the Helm Dashboard Helm Chart is installed.
Using Helm
-
Login to the NGC registry
helm registry login nvcr.io -
Add repo on your local system
helm repo add <your-repo-name> https://helm.ngc.nvidia.com/nvidia/holoscan-for-media/ '--username=$oauthtoken' --password=<API-KEY>where:
<your-repo-name>is a short name likeholoscan-for-mediato be used on your local system to indicate the chart repository on NGC specified by the URL<API-KEY>is your NGC API Key
-
Update the repo or fetch particular chart
helm repo updateor
helm pull <your-repo-name>/chrome-remote-desktopwhere:
<your-repo-name>is the short name you used in thehelm repo addcommand above
-
Now you can see all the charts available
helm search repo -
You are ready to install Chrome Remote Desktop using its Helm chart
Creating a persistent volume claim is optional, but ensures remote access still works after the pod is restarted.
Create a YAML file,
<pv-claim>.yaml, like this:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: <pv-claim> namespace: default spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Miwhere:
<pv-claim>is a unique name on your local system, likealice-chrome-remote-desktop-pv-claim- the requested storage can be increased as needed; the value is given in bytes, using suffixes like k, M, G (or the power-of-two equivalents like Ki, Mi, Gi), so
2Miis a little more than2M, or 2 Megabytes, enough for a few cat pictures
Create the PVC with the following command
kubectl create -f <pv-claim>.yamlInstall using below command
helm install --set env.CODE=<one-time-code>,persistentVolumeClaim=<pv-claim> <release-name> <your-repo-name>/chrome-remote-desktopwhere:
<one-time-code>is created as described below<pv-claim>is the short name you used in creating the persistent volume claim above<release-name>is a short name, likealice-chrome-remote-desktop, which should be unique on your local system, to indicate this particular installation of this application<your-repo-name>is the short name you used in thehelm repo addcommand above
In order to get a one-time code, go to https://remotedesktop.google.com/headless and follow the steps to set up another computer. A one-time code is shown by the web page as part of a full command line like:
DISPLAY= /opt/google/chrome-remote-desktop/start-host --code="4/0AQlEd8xOqZqReqM1FnZRwdZKB3QrQudI7aPVNkX6ZBDqHH1JUMP5f8T-e-gzH9p1o1oTzw" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=$(hostname) -
After installation you can check the status
kubectl get all -o wide -
Once the pod is running you can use the Chrome Remote Desktop
Access it through https://remotedesktop.google.com/access.
-
Other commands to manage the installed application
helm status <release-name> helm get all <release-name> helm uninstall <release-name>where:
<release-name>is the short name you used in thehelm installcommand above
High Speed Network Configuration
Single Network Attachment (Default)
For a single high-speed network attachment, use the dictionary format:
highSpeedNetwork:
name: "media-a-rx-net"
Multiple Network Attachments
For multiple high-speed network attachments, use the list format:
highSpeedNetwork:
- name: "media-a-rx-net"
- name: "media-b-rx-net-static"
ip: "198.51.100.4/24"
For networks with static IP address management, the ip property is required as well as the network name.