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 language environments and system dependencies.
In local execution mode, the Connect application service and all published content execute on the same host. In off-host execution with Kubernetes, published content runs in a container that is isolated from the 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 run 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.
Prerequisites
Before you install, review the Requirements and select the Off-host execution deployment type.
Installation phases
Off-host installation has five phases. Complete them in order:
- Plan the deployment (this page): pull the Helm charts, then verify network connectivity and shared storage.
- Prepare the cluster: create the namespace, the secrets, and the storage class.
- Configure your Helm chart values: set the values for your deployment.
- Deploy Connect: install Connect with Helm, then validate the deployment.
- Post-deployment: configure external access and prepare for production.
Phase 1: Plan the deployment
Complete these steps before you deploy Connect.
Step 1: Pull the Helm charts
Terminal
# Posit Connect
helm repo add rstudio https://helm.rstudio.com
# Pull the latest versions of the Helm charts
helm repo updateStep 2: Verify network connectivity
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.
Next steps
Continue to Phase 2: Kubernetes cluster preparation.