I am planning to install R servers on on-prem Kubernetes Cluster (NOT on AWS, Azure, or Google cloud, etc.).
I wonder if you have such experience and share some thoughts ?
What on-prem Kubernetes solutions you select? For example:
OpenShift
Charmed Kubernetes (I think it’s from Ubuntu)
HPE Ezmeral
Vanilla K8S (complete open-source)
Minikube
Microk8s,
Any others K8s solution you choose?
Also, how do you like the R server on your K8s cluster and its performance ?
Thanks for reaching out, can you tell me a little bit more about what products you're looking to implement? Also, have you seen our public Helm charts? They should be able to give you a jump start on the setup/installation of Rstudio products, if they'll fit in your environment.
Thanks for the reply and the information, really appreciated.
My question is more like a generic question regarding launching R server and/or RStudio server via Kubernetes, for example, which Kubernetes distribution(s) are supported by R, etc., and should we keep all the Kubernetes clusters the same type distribution (in case we have more than one Kubernetes clusters), etc.
Woops - missed the discussion here - but I did want to chime in to say that generally speaking RStudio's professional products are agnostic to the Kubernetes distribution that you choose to go with. That said, minikube, microk8s, and variants like that (i.e. k3d, k3s, etc.) are generally designed for development work and would not be recommended for a production deployment.
We are definitely happy to keep these conversations ongoing, though! We do our best to document what features we need within a Kubernetes cluster (for instance, our containers running as root can cause problems within OpenShift, but the OpenShift administrator can usually scope an appropriate exception for the services).
Again, Kubernetes is a generic API interface, so most any "spec" Kubernetes cluster should work just fine. We do testing on a handful of different distributions, but that is by no means exclusive or comprehensive. I think if I had to guess, our customers most often use EKS (AWS), AKS (Azure), and Openshift, so those are the most well-tested. (Although I have certainly heard of others)
I suspect this question had a typo? RStudio Workbench can be deployed to Kubernetes and have its sessions deployed as individual pods in Kubernetes as well. This is the default configuration of our helm chart, for instance.
I think documentation on our helm chart has some of our better and up to date examples
If you are looking for general architectural overview:
I would provide one caution as well. Generally speaking, most successful stories we have seen with Kubernetes go something like this:
Choose a Kubernetes distribution on its merits and business fit
Build the capability for managing, configuring, and deploying to Kubernetes "in-house"
Deploy RStudio products into Kubernetes
Consultation with RStudio support
I don't suspect you want to be in a place where you are choosing a Kubernetes distro based on a vendor's recommendation, and then learning that distro just for the vendor's sake For instance, Openshift has a lot of rough edges related to security because it "turns so many things off by default." Customers who use Openshift generally have a harder lift and a lot more to learn than someone using EKS, but they make that choice for other reasons (i.e. security, business restrictions, etc.).