Kubernetes Cluster Preparation

Note

Before continuing with the steps below, please ensure that your Kubernetes cluster is configured according to your cloud provider’s instructions. For example, your Kubernetes cluster might need to have Container Storage Interface (CSI) drivers and virtual networks configured.

Create a namespace for Posit Connect

You need a Kubernetes namespace for Posit Connect. We recommend creating a new one called posit-connect or having a cluster administrator create one on your behalf.

This can be accomplished with the following commands:

Terminal
# Create the new namespace
kubectl create namespace posit-connect

# Switch to the new namespace in your current context
kubectl config set-context --current --namespace=posit-connect

Create a Secret containing a PostgreSQL database password

We recommend storing the PostgreSQL database password as a Secret and making it available to the container as an environment variable, as shown in the values.yaml in the next section.

Create the Secret declaratively with YAML, or imperatively using the following command (replace with your own password):

Terminal
kubectl create secret generic posit-connect-database --from-literal=password=YOURPASSWORDHERE

Create a StorageClass with ReadWriteMany access

Your cluster must have a StorageClass backed by POSIX-compliant PersistentVolume storage that supports symlinks and ReadWriteMany access. This storage class is used by PVC to either dynamically provision a PersistentVolume (PV) or use a static PV for the Connect data directory.

Alterntively, if you already have an NFS instance that you wish to use, you can skip this section. The External Storage appendix describes how to configure an external NFS instance for use by the Posit Connect Helm chart.

Create a Secret containing a license file

We recommend storing a license file as a Secret and setting the license.file.secret and license.file.secretKey values accordingly as shown in the values.yaml in the next section.

Create the Secret declaratively with YAML or imperatively using the following command:

Terminal
kubectl create secret generic posit-connect-license --from-file=licenses/posit-connect.lic