주요 콘텐츠

Install Polyspace Access on Kubernetes

R2026b

Polyspace® Access™ is distributed as a Helm chart that deploys the application as a set of containerized services. Before you begin, ensure you have a running Kubernetes® cluster with an NGINX Ingress Controller, Helm 3 installed, and kubectl configured to access the target cluster.

Validated Environments

Polyspace Access on Kubernetes is validated against the following:

  • PostgreSQL 15

  • Amazon EKS and Azure AKS clusters

  • NGINX Ingress Controller

Note

This topic describes one supported approach for deploying Polyspace Access on Kubernetes. Other installation paths are also possible. Adapt the steps as needed to match your environment.

Get the Polyspace Access Installation Package

To obtain the Helm chart for the Kubernetes installation, contact MathWorks® Technical Support.

Download the Polyspace Access Docker images from the MathWorks download page. When you install the Helm chart, the required container images are pulled automatically from the MathWorks public registry.

Prepare the Installation Configuration

Before installing, you must configure the values.yaml file to match your environment. For detailed configuration guides, see:

Create Kubernetes Secrets

The installation requires a Kubernetes Secret that contains sensitive configuration. This Secret can include the license file, authentication private key, database password, and Issue Tracker configuration. A template file docs/secrets.yaml is provided with the Helm chart.

Generate the Authentication Private Key

The User Manager service requires an RSA private key for signing authentication tokens. Generate the key using openssl:

openssl genrsa -out auth-private-key.pem 2048

The private key must not be password-protected. Do not reuse the private key that you use to generate SSL/TLS certificates. Restrict access to this key to only those administrators who manage the User Manager service.

Populate the Secrets File

Edit docs/secrets.yaml and insert your values. The following example shows a complete secrets file:

apiVersion: v1
kind: Secret
metadata:
  name: polyspace-access
  namespace: NAMESPACE
stringData:
  auth-private-key.pem: |
    -----BEGIN RSA PRIVATE KEY-----
    <contents of your generated private key>
    -----END RSA PRIVATE KEY-----
  license.lic: |
    <contents of your Polyspace Access license file>
  ps-db-password: your-polyspace-db-password
  um-db-password: your-usermanager-db-password
  config-issuetracker.json: |
    {
      "url": "https://jira.example.com:443",
      "jiraType": "server",
      "authnMethod": "cookie"
    }
KeyDescriptionRequired
auth-private-key.pem RSA private key for User Manager token signing.Yes
license.lic Polyspace Access license key content.Yes
ps-db-password Password for the Polyspace Access database role (prs_data). Referenced by polyspaceAccess.db.passwordSecret.Yes
um-db-password Password for the User Manager database role. Referenced by usermanager.server.config.db.password when using a Secret.Yes
config-issuetracker.json Issue Tracker provider configuration in JSON format. Required only if Issue Tracker is enabled.No

Apply the Secret

Apply the secrets to your cluster:

kubectl apply -f docs/secrets.yaml

If you are using a namespace:

kubectl apply -f docs/secrets.yaml -n NAMESPACE

Verify that the Secret was created:

kubectl get secret polyspace-access -n NAMESPACE

Install Polyspace Access

After you configure the values.yaml file and apply the Secrets, install Polyspace Access using Helm. Navigate to the folder that contains Chart.yaml and run:

helm upgrade --install RELEASE_NAME .

Replace RELEASE_NAME with a name for your installation (for example, polyspace). If you are using a namespace:

helm upgrade --install RELEASE_NAME . --namespace=NAMESPACE

After the command completes, verify the installation:

  1. Check that all pods reach a Running state:

    kubectl get pods -n NAMESPACE

    All pods typically show Running status and 1/1 ready within a few minutes. If a pod remains in Pending or CrashLoopBackOff state, see Troubleshoot Polyspace Access on Kubernetes.

  2. Access the application by navigating to https://HOST:PORT/authn/signin in a web browser, where HOST and PORT correspond to your Ingress configuration.

Tool Installation Reference

The following tools are required to interact with your cluster. If you already have these tools installed, skip this section.

Install kubectl

kubectl is the Kubernetes command-line tool that enables you to run commands against clusters.

For installation instructions, see the official kubectl installation guide.

Install Helm

Helm is a package manager for Kubernetes that simplifies the installation and management of applications.

For installation instructions, see the official Helm installation guide.

Create a Kubernetes Cluster

Polyspace Access requires a Kubernetes cluster with an Ingress controller configured for external access. Refer to the official documentation for your platform to create and configure your cluster:

Polyspace Access requires an NGINX Ingress controller. Install the Ingress controller following the instructions for your platform:

Verify the Ingress controller installation by checking the status of the pods:

kubectl get pods -n ingress-nginx

Pods with names such as ingress-nginx-controller appear in a Running state.

See Also

|

Topics