The Qdrant operator consists of the following components:
- Operator Deployment with 3 replicas (leader elections are performed using Kubernetes Leases).
- ConfigMap with operator parameters.
- Role => RoleBinding => ServiceAccount with necessary permissions.
The required Kubernetes version is 1.26 or higher.
The operator creates the following resources:
- StatefulSet with database replicas.
- ConfigMap with additional database settings.
- Two services,
qdrant(for client connections) andqdrant-headless(for peer-to-peer connections). - Secrets (optional)
qdrant-apikey,qdrant-read-apikeyandqdrant-auth-configif authentication is enabled. - Secret (optional)
qdrant-server-certif TLS encryption is enabled and the certificate is generated by the operator. - PodDisruptionBudget (optional) if the number of database replicas is greater than 1.
Additionally, the operator manages (creation, deletion, parameter modification) Qdrant collections using the corresponding certificates and API keys if required.