Deploying a Cloudera AI Workbench with support for TLS
You can provision a Cloudera AI Workbench with TLS enabled both on Cloudera Embedded Container Service and on OpenShift Container Platform (OCP), so that it can be accessed through https.
kubectl installed.The workbench subdomain is either the
static subdomain the user elects or it can also be a workbench endpoint name that the deployment autogenerates.
Also note that app_domain is defined at the Data Services
deployment.
A workbench name has the following
format:
https://[***WORKBENCH-SUBDOMAIN***].apps.[***APP_DOMAIN***].com.
Workloads created in a Cloudera AI Workbench are containers provisioned in Kubernetes and must be addressable to the user. To do this, Cloudera AI creates a unique subdomain.
The URL for
the workload is structured in the following format:
https://[***WORKLOAD-ENDPOINTS***].[***WORKBENCH-SUBDOMAIN***].apps.[***APP_DOMAIN***].com.
As the workload endpoints are randomly generated, for TLS to work, a Cloudera AI Workbench must have a wildcard SAN entry in the TLS certificate and additionally the workbench subdomain SAN must also be provided.
The wildcard SAN entry has the following format:
SAN:*.[***WORKBENCH-SUBDOMAIN***].apps.[***APP_DOMAIN***].com.
The
workbench subdomain SAN has the following format:
[***WORKBENCH-SUBDOMAIN***].apps.[***APP_DOMAIN***].com.
The following elements can be used for creating a Cloudera AI Workbench with static subdomain in Cloudera Embedded Container Service environment:
| Element | Example value | Origin |
|---|---|---|
| User domain | mycompany.com | User-provided |
| Non-HA deployment master hostname | ecsmst01 | Inherited hostname |
| User control plane deployment | cdp-dev | User-provided |
| User load-balanced endpoint for the control plane deployment | cdp-lb | User-provided |
| Application subdomain | apps | Hardcoded |
| Cloudera AI Workbench ID | ml-1234abc-123 | Auto-generated |
| Cloudera AI static subdomain | cmlstatic | User-provided |
With the provided details, the following examples can be created:
| Network topology | Domain set | Example |
|---|---|---|
| Control Plane | High Availability (HA) |
HA: app_domain = cdp-lb.mycompany.com |
|
HA applications: *.apps.cdp-lb.mycompany.com |
||
| Non-HA, with custom deployment domain set |
Non-HA with the custom Cloudera Embedded Container Service domain: app_domain = cdp-dev.mycompany.com |
|
|
Non-HA with the custom Cloudera Embedded Container Service applications: *.apps.cdp-dev.mycompany.com |
||
| Non-HA, with no custom deployment domain set |
Non-HA without custom Cloudera Embedded Container Service domain: app_domain = ecsmst01.mycompany.com |
|
|
Non-HA without custom Cloudera Embedded Container Service domain applications: *.apps.ecsmst01.mycompany.com*. |
||
| Cloudera AI Workbench without static subdomain | High Availability (HA) |
Cloudera AI Workbench on HA Cloudera Embedded Container Service without static subdomain: [*.]ml-1234abc-123.apps.cdp-lb.mycompany.com |
| Non-HA with the user domain |
Cloudera AI Workbench on non-HA Cloudera Embedded Container Service without custom Cloudera Embedded Container Service domain without Cloudera AI Workbench static subdomain: [*.]ml-1234abc-123.apps.cdp-dev.mycompany.com |
|
| Non-HA without the user domain |
Cloudera AI Workbench on non-HA Cloudera Embedded Container Service without custom Cloudera Embedded Container Service domain without Cloudera AI Workbench static subdomain: [*.]ml-1234abc-123.apps.ecsmst01.mycompany.com |
|
| Cloudera AI Workbench with static subdomain | High Availability (HA) |
Cloudera AI Workbench on HA Cloudera Embedded Container Service with Cloudera AI Workbench static subdomain: [*.]cmlstatic.apps.cdp-lb.mycompany.com |
| Non-HA with the user domain |
Cloudera AI Workbench on non-HA Cloudera Embedded Container Service with custom Cloudera Embedded Container Service domain with Cloudera AI Workbench static domain: [*.]cmlstatic.apps.cdp-dev.mycompany.com |
|
| Non-HA without the user domain |
Cloudera AI Workbench on non-HA Cloudera Embedded Container Service without custom Cloudera Embedded Container Service domain with Cloudera AI Workbench static domain: [*.]cmlstatic.apps.ecsmst01.mycompany.com |
By using unique subdomains, the Cloudera AI Workbench is able to securely serve each interactive workload with proper isolation and protect each workload from code injection attacks such as Cross Site Scripting.
