Kubernetes Deployment

This section will guide you through the deployment steps of your off-host installation of Posit Connect.

Installing Posit Connect within Kubernetes

If you have an existing server, take your existing Connect server out-of-service. This most likely involves the following actions:

  • Prohibit access to your Connect servers
  • Disable any automatic provisioning or automation which might re-activate the server
  • Stop the rstudio-connect service on the existing server

To complete your installation of Connect within Kubernetes, run the following commands:

Note

The following variables can be defined in the values.yaml but, for security reasons, we recommend passing them as a part of the helm install command instead.

  • Posit Connect license key (license.key), license file (license.file.contents), or license server (license.server)
  • PostgreSQL database password (config.Postgres.Password)
# replace this value with your license key
RSC_LICENSE="<your-posit-connect-license-key>"

# replace this value with your postgres password
RSC_POSTGRES_PASS="<your-postgres-database-password>"

# install Posit Connect
helm upgrade --install rstudio-connect-prod \
    rstudio/rstudio-connect \
    --set license.key="${RSC_LICENSE}" \
    --set config.Postgres.Password="${RSC_POSTGRES_PASS}" \
    --values values.yaml
# replace this value with the contents of your license file
RSC_LICENSE_FILE=$(cat <your-license-file-path>)

# replace this value with your postgres password
RSC_POSTGRES_PASS="<your-postgres-database-password>"

# install Posit Connect
helm upgrade --install rstudio-connect-prod rstudio/rstudio-connect \
    --set license.file.contents="${RSC_LICENSE_FILE}" \
    --set config.Postgres.Password="${RSC_POSTGRES_PASS}" \
    --values values.yaml
# replace this value with your license server URL
LICENSE_SERVER="<your-license-server-url>"

# replace this value with your postgres password
RSC_POSTGRES_PASS="<your-postgres-database-password>"

# install Posit Connect
helm upgrade --install rstudio-connect-prod rstudio/rstudio-connect \
    --set license.server="${LICENSE_SERVER}" \
    --set config.Postgres.Password="${RSC_POSTGRES_PASS}" \
    --values values.yaml
Note

If you have made changes to your values file and wish to update an existing installation, you can just run the command again.

Use the following command to check the status of Connect:

kubectl get pod -l app.kubernetes.io/name=rstudio-connect

You should see output like the following:

NAME                                       READY   STATUS    RESTARTS   AGE
connect-rstudio-connect-5d45d7b9bc-5wrcn   2/2     Running   0          9m50s
Note

The Connect pod indicates that 2/2 containers are running. In addition to the Connect container, the pod includes a Graphite exporter container which allows Prometheus to consume metrics about the pod’s health. When prometheusExporter.enabled is true (the default), prometheus.io/ annotations are added to the pod so that metrics can be easily consumed.

If your Connect pod is failing to start, see the Debugging Posit Connect appendix for details on how to diagnose and fix problems with your deployment.

Access the Dashboard and Validate Your Installation

At this point, your Posit Connect server should be running and in the process of completing initialization / migration steps. To confirm successful completion of this phase, log in to your dashboard and then validate correct functionality of your Posit Connect server, as described below.

Warning

Manual port-forwarding is appropriate for local testing and validation of the installation. Once you have validated the installation, you need to configure an Ingress and public DNS records for Connect. See the External Connectivity appendix for more information about configuring external access to your Connect installation.

To interact with your new Connect installation, you need to temporarily enable port-forwarding. For example, to use local port 3939:

kubectl port-forward svc/rstudio-connect-prod 3939:80

You can now point your browser to http://localhost:3939/, register a new account, and log in to Connect.

To verify the correct functionality of your Connect server:

  • Deploy content
  • Send an email
  • Allow access to your Connect servers

Verification of your Connect server’s functionality requires a mix of Administrator and User tasks. For User tasks such as deploying content, see the Posit Connect User Guide.

You can now continue to post-deployment steps.