Pre-requisites
- RStudio Workbench Server
- NFS server
- RStudio Workbench License with Launcher enabled
- Kubernetes Cluster
Assumptions
Workbench
We assume that you have an instance of RStudio Workbench running & configured as per the below guide:
https://docs.rstudio.com/rsw/integration/launcher-kubernetes/
Firewall
From there, it is important to have your RStudio Workbench instance able to access your NFS share via the appropriate inbound firewall rules on the NFS share's firewall. Furthermore, it is important to have your Kubernetes cluster able to access your NFS share via its relevant inbound firewall rules also.
AWS Access (optional - only if using EFS)
Ensure that you have command-line access to the AWS console to access your AWS resources. You can use the AWS CLI tool through your terminal to verify this. You can run the command below to confirm if you are correctly connected to your AWS account:
aws sts get-caller-identity
You must also specify the name & region of your EKS cluster:
aws eks --region xx-xxxx-x update-kubeconfig --name xxxxxxxx
For example:
aws eks --region us-east-1 update-kubeconfig --name Rstudio-EKS
It also helps to set your namespace to the default namespace that you will be using:
kubectl config set-context --current --namespace=NAMESPACE
For example:
kubectl config set-context --current --namespace=rstudio
Troubleshooting
We also assume that you have been through our documentation on troubleshooting Kubernetes as below and are able to launch a test pod:
https://support.rstudio.com/hc/en-us/articles/4416621416343
Performing actions within the launched pod
If you're able to launch a pod, then your RStudio Workbench server is able to communicate with your Kubernetes cluster via the Kubernetes API - This is a good sign.
From within the pod, we can run some connectivity tests to see the type of access the pod has with your environment & resolve any NFS issues.
Firstly, we can check the network connectivity from within your pod. You will be made a root user within your pod. From there, we can update the pod & install Nmap:
Ubuntu/Debian
apt-get update
apt-get install nmap
Red Hat/CentOS
yum update
yum install nmap
Now that we have nmap installed, we can run some connectivity tests to our NFS share:
nmap <nfs dns name or ip here> -p 2049
For example:
nmap 192.168.1.5 -p 2049
nmap dns.rstudio.com -p 2049
This is a simple check which will attempt to access our NFS server on the NFS port (2049) to see if it's open. I'd recommend checking the DNS name first as best practice, but if this fails, try the IP address of your NFS server in case there may be a DNS issue. If successful, the output should look something like this:
root@rstudiotestpod:/# nmap 192.168.1.5 -p 2049
Starting Nmap 7.80 ( https://nmap.org ) at 2021-12-22 04:05 UTC
Nmap scan report for dns.rstudio (192.168.1.5)
Host is up (0.0089s latency).
PORT STATE SERVICE
2049/tcp filtered nfs
Nmap done: 1 IP address (1 host up) scanned in 0.37 seconds
Now that we've confirmed connectivity to our NFS share, we should be able to launch a session from the RStudio Workbench GUI.
Support Ticket
If you still have issues after completing the above, you can always lodge a support ticket, where our group of friendly, and incredibly knowledgeable staff can assist with any issues that you may be having. You can submit a ticket here:
https://support.rstudio.com/hc/en-us/requests/new
Comments