How can I get a Kubernetes cluster up and running?
Many of our customers are using hosted/managed Kubernetes solutions in the cloud or commercial Kubernetes distributions on premises. While Launcher is not limited to specific Kubernetes distributions or vendors, many of our customers are using the following managed/commercial Kubernetes solutions:
- Amazon Elastic Container Service for Kubernetes (EKS)
- IBM / Red Hat OpenShift
- Azure Kubernetes Service (AKS)
- Google Kubernetes Engine (GKE)
Refer to the Kubernetes documentation for more information on picking the right Kubernetes solution.
Can RStudio help me provision or configure a Kubernetes cluster?
Support for Launcher is limited to the configuration and functionality of RStudio Pro products, and does not include issues related to third-party systems such as Kubernetes. For hands-on support for Launcher and Kubernetes, we can refer you to one of our full-service certified partners.
What are the requirements for using RStudio Server Pro and Launcher with Kubernetes?
- RStudio Server Pro 1.2 or higher
- NFS server that is configured with RStudio Server Pro for home directory project storage
- Kubernetes cluster
- Kubernetes API endpoint
- Kubernetes cluster CA certificate
- Access to kubectl to create namespaces, service accounts, cluster roles, and role bindings
- Access to Docker image registry (if working within an offline environment)
How do I configure RStudio Server Pro and Launcher with Kubernetes?
Refer to the support article on Configuring RStudio Server Pro with Launcher and Kubernetes and follow the steps required for a minimal configuration of RStudio Server Pro with Launcher and Kubernetes.
Will Launcher work with my Kubernetes provider?
The Kubernetes plugin for Launcher was developed against the vanilla Kubernetes API. As a result, provider-specific Kubernetes plugins are not necessary, and the plugin does not require additional vendor-specific configuration.
Can I restrict Launcher sessions and jobs to only run on certain nodes within the Kubernetes cluster?
Yes, you can restrict Launcher sessions and jobs to only run on specific Kubernetes worker nodes using placement constraints.
Placement constraints can contain values that are pre-specified by an administrator or values that are input by a user when starting a session or job.
To use placement constraints, you must attach labels to the node that match the given configured placement constraints. Refer to the Launcher documentation for more information on configuring placement constraints.
Can I create custom Docker images with R packages and libraries?
Yes, you can create multiple, custom Docker images with the packages you need. Then a specific Docker image can be selected when an R session is started. This workflow can be combined with RStudio Package Manager so you always get the exact versions of packages that you expect for reproducibility.
Refer to the support article on Using Docker images with RStudio Server Pro, Launcher, and Kubernetes for more information.
Is there a separate license for Launcher?
RStudio Server Pro version 1.2 is available without Launcher in existing server-based licensing. RStudio Server Pro version 1.2 with Launcher requires the purchase of Named User licenses. Get in touch with us at firstname.lastname@example.org to discuss how to get started with Launcher.
Will users have access to the same packages, shared storage, and data sources when using R with Kubernetes?
Yes, Launcher provides the same RStudio Server Pro experience when users run R sessions and R jobs across a cluster, including the same packages and access to shared storage for projects.
Does Launcher work for content published with RStudio Connect?
In a future release, RStudio Connect will support the deployment of content such as Shiny apps, R Markdown documents, and Plumber APIs via Launcher to external resource managers such as Kubernetes.
If the Open Source version of RStudio IDE has a Jobs pane, why do I need Launcher?
Background jobs in the RStudio IDE are R processes that run independently from the current R session, but can only run on the same machine. Whereas Launcher allows the R process to run remotely on a cluster, outside of the machine where the R job was created.