Register a Data Plane

Follow these steps to register a data plane:

1. Configuration

Validate that the required Data Plane configuration records are set.

The required configuration records are auto-populated for hybrid-enabled control planes deployed.

2. Get the Helm install command

  1. In the admin portal, go to Manage resources > Data Planes > Register Data Plane.

  2. Enter the details for the new data plane:

    • Name - An arbitrary, human-readable name for the data plane.

    • Namespace - The Kubernetes namespace where you want to install the data plane in the data plane cluster. This namespace will be created if it does not already exist.

    • Storage Class - The Kubernetes StorageClass name to use for execution volumes in this data plane. If blank, it will default to the control plane’s storage class specified by com.cerebro.domino.computegrid.kubernetes.volume.storageClass in the Configuration records (default: dominodisk).

    • Data Plane Hostname - The subdomain component of the DNS name used for the data plane. For example, if the control plane is example.com and the data plane is dp.example.com, then you would enter dp here. You can also append : and a custom port number if your data plane load balancer runs on a port other than 443. See Enable a data plane for Workspaces.

    • Advanced:

      • Disable File Sync - Disable DFS file sync in this data plane.

      • Enable Istio - Indicate that Istio is running in this data plane’s cluster. This setting must be set for data planes with Istio; it is not sufficient to set the Helm value.

      • Override S3 Endpoint URL - Override the default S3 endpoint URL for this data plane.

  3. Click Done.

    When data plane registration is complete, Domino displays the Helm install command to install the data plane in the target cluster. This command is unique for each data plane.

Note

The helm install command generated above is only valid for 10 minutes.

If you exceed the 10 minute window, go to Admin > Data Planes > choose the Setup action next to your Data Plane and generate a new install command.

3. Customize the Helm values

We recommend storing any Helm value overrides in a values.yaml file in a secure location for each data plane. To re-run the Helm command at a later date (for example, to upgrade the data plane), you can copy the new command and add -f values.yaml to include the overrides for that data plane.

Enable Datasets in Nexus

Admins must adjust the Helm upgrade values to register or upgrade a data plane and enable Datasets for that plane.

agent:
  enable_volume_operator: true
  enable_filetask_operator: true

After enabling Datasets for that Data Plane, the admin must create at least one hardware tier and one Dataset Storage on the data plane. Users will only have access to the Dataset Storage to create Datasets if they have access to the hardware tier in that data plane. If they have access to the hardware tier, then the usual Dataset permissions exist on top of that.

For more granular Dataset configurations for that Data Plane, you can modify the configMapYaml field in the Helm upgrade values. Note that all YAML fields should be set. Use the defaults below or modify as required.

data-volume-operator:
  dataWebVFSService:
    webVFSTemplate:
      configMapYaml: |-
        volumeFileSystem:
          maxFileSizeForPreview: 5000000 # Maximum size a file can be previewed, in bytes
          httpClient: # Used for requests from the Data Plane to the control plane, consider modifying if there are network issues
            backoff:
              initialTimeout: 100 # Initial timeout duration, in milliseconds
              maxTimeout: 2000 # Max timeout duration, in milliseconds
              exponentFactor: 2 # Multiplier timeout duration increases per retry
              maxJitterInterval: 50 # Max random jitter interval, in milliseconds
            timeout: 3000 # Overall timeout duration, in milliseconds
            retryCount: 3
          datasetRw:
            cleanDownloadDirsPeriod: 86400 # Temporary files generated during the download process are regularly cleared, in seconds
            cleanDownloadDirsGracePeriod: 43200 # Frequency files that are scheduled for deletion have been cleared, in seconds
            cleanDeleteDirsPeriod: 86400 # Grace period before deleting any temporary files related to the download process, in seconds
            cleanDeleteDirsGracePeriod: 43200 # Grace period before deleting any temporary files related to the delete process, in seconds

Pod Security Policy (PSP)

If the data plane cluster has restrictive PSPs, you must create a policy for Domino pods to use. You can do this with the following Helm values:

global:
  podSecurityPolicy:
    enabled: true

Istio

If Istio is running in the data plane cluster, you must indicate this to the Helm chart with the following values:

global:
  istio:
    enabled: true

This is automatically set in the generated Helm command if you select Enable Istio when setting up the data plane. You must select Enable Istio for data planes with Istio; it is not sufficient to set the Helm value.

OpenShift SCCs

Similar to Domino control plane deployments, data plane services are granted access to anyuid and privileged by default.

Custom Certificates

If your control plane makes use of non-public TLS certificates, you must manually copy domino-generated-certificates from the control plane to the data plane before running the Helm install command. Then, specify this configmap to the Helm chart to mount the certificates in platform service pods:

global:
  dataPlane:
    tls:
     certs: domino-generated-certificates

4. Run the install command

  1. Make sure that the nodes you wish to use for platform services in your data plane are labeled with dominodatalab.com/node-pool=platform.

  2. Make sure that your default Kubernetes context is the cluster in which you want to deploy the data plane.

  3. If you have a values.yaml file with Helm value overrides, add -f values.yaml to the Helm command.

  4. To enable Workspaces, see Enable a data plane for Workspaces and Datasets and add the required values to the Helm command.

  5. Make sure you update the Helm command to include Datasets:

    agent:
      enable_volume_operator: true
      enable_filetask_operator: true
  6. Run the Helm command.

    It may take up to a minute for installation to complete and for the Domino UI to report that the data plane is healthy.