- You have a Union organization that has already been created and you know the URL of your control plane host.
- The Union provided client ID and secret.
- You have a Kubernetes cluster, running one of the most recent three minor K8s versions. Learn more
- Object storage provided by a vendor or an S3 compatible platform (such as Minio.
Some sample Terraform configurations are available in the providers directory.
- Add the Union.ai Helm repo:
helm repo add unionai https://unionai.github.io/helm-charts/
helm repo update
- Create a values file that include, at a minimum, the following fields:
host: <YOUR_UNION_CONTROL_PLANE_URL>
clusterName: <MY_CLUSTER> #arbitrary and unique cluster identifier
orgName: <MY_ORG> #Name of your Union.ai organization
provider: aws #The cloud provider your cluster is running in. Acceptable values include `aws`, `gcp`, `azure`, `oci`, and `metal` (for self-managed or on-prem clusters).
storage:
endpoint: <STORAGE_ENDPOINT> #This is the S3 API endpoint provided by your cloud vendor.
accessKey: <S3_ACCESS_KEY>
secretKey: <S3_SECRET_KEY>
bucketName: <S3_BUCKET_NAME>
fastRegistrationBucketName: <S3_BUCKET_NAME> #it can be the same as bucketName
region: <CLOUD_REGION> # not needed for on-prem deployments
secrets:
admin:
create: true
# Insert values from step 4
clientSecret: <UNION_CLIENT_SECRET> #you can also provide this as a command-line argument
clientId: "<UNION_CLIENT_ID>"
-
Optionally configure the resource
limits
andrequests
for the different services. By default these will be set minimally, will vary depending on usage, and follow the KubernetesResourceRequirements
specification.clusterresourcesync.resources
flytepropeller.resources
flytepropellerwebhook.resources
operator.resources
proxy.resources
-
Install the Union operator and CRDs:
helm upgrade --install unionai-dataplane-crds unionai/dataplane-crds
helm upgrade --install unionai-dataplane unionai/dataplane \
--create-namespace \
--namespace union \
--values <YOUR_VALUES_FILE>
- Once deployed you can check to see if the cluster has been successfully registered to the control plane:
uctl get cluster
----------- ------- --------------- -----------
| NAME | ORG | STATE | HEALTH |
----------- ------- --------------- -----------
| <cluster> | <org> | STATE_ENABLED | HEALTHY |
----------- ------- --------------- -----------
1 rows