Dash Enterprise Kubernetes additional required configuration

First, configure your Server Manager Settings as for Dash Enterprise Single Server (Configure basic settings). Once that is complete, continue as below.

Configure external services and enable High Availability for Dash

External Databases

Under "External Databases":

1 - Check Use External Postgres Database and fill out the fields as below:

1.1 - Postgres DB Host

The Endpoint of your Postgres instance (from your RDS instance’s details)

1.2 - Postgres DB port: 5432 (default)

1.3 - Database User:

postgres (default)

1.4 - Database Password: whatever was set for the Database User user upon creation

1.5 - Authentication Database Name: dashauth

1.6 - Dash Deployment Server Database Name: dash_deployment_server

2 - Check Use External Redis Database and fill out the fields as below:

2.1 - Redis Host

The Primary Endpoint of your Redis cluster

2.2 - Redis Port: 6379 (default)

2.3 - Access Key (Optional):

Can be left blank

2.4 - Celery Redis Database Number: caches data related to Celery and task queues; default 0 (but can be any number from 0-16)

2.5 - Dash Deployment Server Database Number: caches data related to Dash Deployment Server user sessions; default 1 (but can be any number from 0-16)

Check Enable High Availability for Dash

If this option is not available in your Server Manager Settings, contact Plotly support for help with your license

Fill out the fields in that section as follows

1 - Select Use Google Kubernetes Engine, Amazon Elastic Kubernetes Service or Azure Kubernetes Service as appropriate for your situation

2 - Docker Registry URL: the URI for the container registry you created. Only use the base DNS name; do not include / or anything after it

3 - Change the Cloud provider-specific settings.

  1. EKS Cluster Name: the Name you input when creating the cluster

    • Retrieve this from the EKS Clusters summary page

  2. EKS Cluster Region: the Location you selected when creating the cluster

    • Retrieve this in the EKS dashboard by clicking on your cluster name and checking the Cluster ARN value

  3. Use internal Network Load Balancer (NLB) for incoming connections: Enabling this option creates the load balancer on a private subnet so that it is not accessible outside the VPC. Prerequisites:

    • For internal load balancers, your Amazon EKS cluster must be configured to use at least one private subnet in your VPC

    • The private subnet should have correct tags as per this guide

4 - Max pod lifetime in seconds: the default is fine for most purposes

  • Configure this to a lower value if you find yourself frequently updating configuration settings and need to flush pods with the stale configuration

    • This can be manually accomplished by scaling deployments to 0 and back up as required for your needs

Save the settings, then return to the Dashboard and click "Stop", then "Start"**

Update base domain DNS record to use the load balancer IP

1 - Retrieve the external IP for your loadbalancer

Go to EC2 > Load Balancers, find the load balancer associated with your VPC, and copy its DNS name

2 - In your DNS provider, update your existing Plotly Base Domain Name record to use the load balancer address

Update the A record to point to the load balancer’s IP address

Last updated