Off-host execution installation and configuration

Advanced

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.

Note

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:

  1. Plan the deployment (this page): pull the Helm charts, then verify network connectivity and shared storage.
  2. Prepare the cluster: create the namespace, the secrets, and the storage class.
  3. Configure your Helm chart values: set the values for your deployment.
  4. Deploy Connect: install Connect with Helm, then validate the deployment.
  5. 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 update

Step 2: Verify network connectivity

  1. 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).

  2. 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.

Step 3: Verify shared storage capacity

Verify at least 100 GB of shared storage before you begin the installation. See Requirements for details.

Next steps

Continue to Phase 2: Kubernetes cluster preparation.