Unified Deployment
In this guide, we’ll show you how to update your cluster configuration to support a unified installation and deployment of HPE Machine Learning Data Management + Machine Learning Development Environment.
Before You Start #
This guide assumes that you have already completed all of the following:
- Deployed HPE Machine Learning Data Management using one of the cloud deployment guides (AWS, GCP, or Azure).
- Added an active Enterprise License Key.
- Set up TLS (SSL, HTTPS) for your HPE Machine Learning Data Management cluster.
- Set up an OIDC connector for your HPE Machine Learning Data Management cluster.
Self-Signed Certificates #
If you are using a self-signed certificate for your implementation, you must update the Determined Helm values.yaml file at .Values.externalCaCertSecretName
to include the name of the secret containing the root certificate.
How to Configure a Unified Setup #
1. Create Necessary Secrets #
You will need to create two secrets for Determined:
-
A Determined Enterprise docker image credentials secret (e.g.,
det-image
)kubectl create secret docker-registry det-image \ --docker-server=https://index.docker.io/v1/ \ --docker-username=<username> \ --docker-password=<password> \ --docker-email=<email> \ --output=json > det-image-secret.json
-
A Determined Enterprise admin credentials secret (e.g.,
det-creds
)kubectl create secret generic det-creds \ --from-literal=determined-username=admin \ --from-literal=determined-password="" \ --output=json > det-creds-secret.json
2. Update the HPE Machine Learning Data Management Helm Chart #
- Open your
values.yaml
file or generate a local copy using the following command:helm get values pachyderm > values.yaml
- Update the
determined.enabled
field invalues.yaml
file totrue
. - Update the
determined.oidc
section of yourvalues.yaml
file to include the OIDC provider, client ID, and URLs:determined: oidc: enabled: true provider: "" # your oidc.upstreamIDPs.config.id; e.g., Auth0 or Okta idpRecipientUrl: "" # https://<proxy.host.value.com>:8080 idpSsoUrl: "" # https://<proxy.host.value.com>/dex clientId: "determined" clientSecretKey: "" clientSecretName: "" authenticationClaim: "" scimAuthenticationAttribute: "" autoProvisionUsers: false groupsAttributeName: "" displayNameAttributeName: ""
- Provide a
determined.tlsSecret
if applicable. - Update the
pachd
section of yourvalues.yaml
file to include the full endpoint address and the name of the Determined admin credentials secret:pachd: determined: apiEndpoint: # https://determined-master-service-internal-<HELM RELEASE NAME>:8082 credentialsSecretName: det-creds activateEnterprise: true
Adding Users to Pipelines #
You can add a determined
section to your pipeline specification file and make use of a user via the $DET_USER
and $DET_PASS
environment variables. This can be used by the user code that run determined work to talk back to HPE Machine Learning Data Management and can be used with the Pachyderm SDK.
{
"pipeline": {
"name": "<PIPELINE NAME>"
},
"description": "<PIPELINE DESCRIPTION>",
"input": {
"pfs": {
"name": "data",
"repo": "input",
"branch": "master",
"glob": "/",
"emptyFiles": true
}
},
"transform": {
"cmd": ["/bin/sh"],
"stdin": ["pip install determined && echo $DET_PASS | det user login $DET_USER && det model list -w WORKSPACE-NAME > /pfs/out/WORKSPACE-NAME.txt"],
"image": "python:3.8"
},
"determined": {
"workspaces": ["WORKSPACE-NAME"]
}
}