Off-host execution installation and configuration
Posit Connect supports an off-host execution model in which environments are built and content is executed in containers using Kubernetes. Container-based infrastructure improves process isolation and simplifies maintenance of R and Python environments and system dependencies.
In local execution mode, the Connect application service and all published content execute on the same host. When using off-host execution with Kubernetes, published content runs in a container that is isolated from the Posit Connect service. For more detail on the available execution models, see the Architecture Overview.
Posit requires use of the Connect Helm chart to install and execute Connect in off-host execution mode. These steps produce a Connect deployment on Kubernetes where content runs in pods across the cluster.
Download and/or use of Posit Connect is governed under the terms of the Posit End User License Agreement. By downloading you agree to the terms posted there.
If you are migrating an existing Connect installation to Kubernetes, see Migration to Kubernetes.
Deploying Connect in off-host execution mode requires:
- Working knowledge of Kubernetes and Helm
- Kubernetes cluster preparation
- Configuring your Helm chart values
- Kubernetes deployment
- Post-deployment configuration
Prerequisites
Pull the Helm charts used in this guide
Terminal
# Posit Connect
helm repo add rstudio https://helm.rstudio.com
# Pull the latest versions of the Helm charts
helm repo updateNetwork connectivity verification
Verify that the Kubernetes cluster has connectivity to shared storage:
Terminal
kubectl run --rm -it storage-check --image=busybox --restart=Never -- \ sh -c "nc -vz <nfs-server-host> 2049"Replace
<nfs-server-host>with your NFS or storage endpoint. Adjust the port if your storage uses something other than NFS (port 2049).Verify that you can access the PostgreSQL server from within the cluster:
Terminal
kubectl run --rm -it pg-check --image=busybox --restart=Never -- \ sh -c "nc -vz <postgres-host> 5432"Replace
<postgres-host>with your PostgreSQL hostname.
Feature requirements
- A Posit Connect license permitting off-host execution
- Kubernetes
- A working Kubernetes cluster
- API access to the Kubernetes cluster
- kubectl: The Kubernetes command-line tool
- Helm v3: The Kubernetes package manager
- PostgreSQL
- StorageClass backed by POSIX-compliant
PersistentVolumestorage that supports symlinks andReadWriteManyaccess.