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