Skip to main content

Cluster prerequisites — Self-hosted 2.0

Kubernetes cluster requirements ​

  1. Storage requirements
    • A Kubernetes storage volume with CSI Driver support.
  2. Load Balancer configuration
    • Should support the TLS 1.3 protocol and higher.
    • ALPN policy for the TLS:443 listener should be set to HTTP2Optional.
    • Should support HTTP2 and have port 443 open.
    • AWS-specific implementation:
      • The security policy for the TLS:443 listener should be ELBSecurityPolicy-TLS13-1-2-2021-06.
  3. DNS configuration
    • The domain name and namespace (where the provisioner will be installed) should not contain digits.
    • Final domain URL structure: <namespace_name>.<suffix_url> .
    • Service-specific URL patterns:
      • API: api-<namespace_name>.<suffix_url>
      • MinIO: minio-<namespace_name>.<suffix_url>
      • Zitadel: zitadel-<namespace_name>.<suffix_url>
Info

These DNS records should point to the cluster Load Balancer.

  1. Storage configuration
  • A default StorageClass should be configured.
Info

Configuration example:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ebs-sc
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: ebs.csi.aws.com
volumeBindingMode: WaitForFirstConsumer
parameters:
type: gp3
encrypted: "true"

Client software requirements ​

The following tools need to be installed on the system used to communicate with and install the provisioner:

  1. kubectl - command-line tool for interaction with Kubernetes clusters

Related resource

  1. Kubernetes version compatibility: 1.30 and above.

Persistent storage requirements​

Persistent storage is required for stateful platform components, such as databases and internal stateful services. To enable dynamic provisioning and ensure data durability across pod restarts or failures, a CSI (Container Storage Interface) compatible storage solution must be available and properly configured in your Kubernetes cluster.

Ensure that your cluster has a functioning default StorageClass and access to underlying storage that meets your environment's performance and durability needs.

Verifying Prerequisites​

  1. Ensure your Load Balancer is configured properly.
  2. Ensure DNS records are properly connected to your Load Balancer.