# Data plane setup on generic Kubernetes

Union.ai's modular architecture allows for great flexibility and control.
You can decide how many clusters to have, their shape, and who has access to what.
All communication is encrypted.  The Union architecture is described on the [Architecture](https://www.union.ai/docs/v2/union/deployment/selfmanaged/architecture/_index) page.

> [!NOTE] These instructions cover installing Union.ai in an on-premise Kubernetes cluster.
> If you are installing at a cloud provider, use the cloud provider specific instructions: [AWS](https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-aws/_index), [GCP](https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-gcp/_index), [Azure](https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-azure/_index), [OCI](https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-oci/_index).

If you already have a Kubernetes cluster, S3-compatible object storage, a container registry, and credentials configured, skip directly to [Deploy the dataplane](https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-generic/deploy-dataplane/page.md).

Otherwise, start with [Prepare infrastructure](https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-generic/prepare-infra/page.md) to set up the required resources.

## Subpages

- [Prepare infrastructure](https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-generic/prepare-infra/page.md)
  - Kubernetes Cluster
  - Object Storage
  - CORS Configuration
  - Data Retention
  - Container Registry
  - Identity & Access
  - Storage credentials
  - Registry credentials
- [Deploy the dataplane](https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-generic/deploy-dataplane/page.md)
  - Assumptions
  - Prerequisites
  - Deploy the Union.ai operator

---
**Source**: https://github.com/unionai/unionai-docs/blob/main/content/deployment/selfmanaged/selfmanaged-generic/_index.md
**HTML**: https://www.union.ai/docs/v2/union/deployment/selfmanaged/selfmanaged-generic/
