Cette documentation vous guide tout au long du processus d’installation de CloudPrem sur n’importe quel cluster Kubernetes en utilisant PostgreSQL pour le stockage des métadonnées et MinIO pour le stockage objet compatible S3.
Cette configuration est idéale pour les environnements où vous gérez votre propre infrastructure ou n’utilisez pas les services gérés d’un grand fournisseur cloud.
Prérequis
Avant de commencer, vérifiez que vous disposez des éléments suivants :
kubectl installé et configuré pour accéder à votre cluster Kubernetes
kubectl version --client
Helm 3.x installé
helm version
Un cluster Kubernetes (v1.25 ou supérieure) opérationnel
kubectl get nodes
Un compte Datadog avec la fonctionnalité CloudPrem activée
En cas de succès, une invite psql doit s’afficher.
MinIO :
kubectl run minio-client \
--rm -it \
--image=minio/mc:latest \
--command -- bash -c "mc alias set myminio <MINIO_ENDPOINT> <ACCESS_KEY> <SECRET_KEY> && mc ls myminio/<BUCKET_NAME>"
En cas de succès, la commande liste le contenu de votre bucket MinIO.
Créez un fichier datadog-values.yaml pour remplacer les valeurs par défaut par votre configuration personnalisée. C’est ici que vous définissez les paramètres spécifiques à l’environnement, tels que le compte de service, la configuration de l’ingress, les demandes et limites de ressources, etc.
Tout paramètre non explicitement remplacé dans datadog-values.yaml utilise les valeurs par défaut définies dans le fichier values.yaml du chart.
# Show default valueshelm show values datadog/cloudprem
Voici un exemple de fichier datadog-values.yaml avec des valeurs personnalisées pour une configuration Kubernetes standard avec MinIO :
datadog-values.yaml
# Datadog configurationdatadog:# The Datadog site (https://docs.datadoghq.com/getting_started/site/) to connect to. Defaults to `datadoghq.com`.# site: datadoghq.com# The name of the existing Secret containing the Datadog API key. The secret key name must be `api-key`.apiKeyExistingSecret:datadog-secret# Variables d'environnement# The MinIO credentials are mounted from the Kubernetes secret.# Any environment variables defined here are available to all pods in the deployment.environment:AWS_REGION:us-east-1# Service account configurationserviceAccount:create:truename:cloudprem# CloudPrem node configurationconfig:# The root URI where index data is stored. This should be an S3-compatible path pointing to your MinIO bucket.# All indexes created in CloudPrem are stored under this location.default_index_root_uri:s3://<BUCKET_NAME>/indexesstorage:s3:endpoint:<MINIO_ENDPOINT># force_path_style_access must be true for MinIO.force_path_style_access:true# Metastore configuration# The metastore is responsible for storing and managing index metadata.# It requires a PostgreSQL database connection string to be provided by a Kubernetes secret.# The secret should contain a key named `QW_METASTORE_URI` with a value in the format:# postgresql://<username>:<password>@<host>:<port>/<database>## The metastore connection string is mounted into the pods using extraEnvFrom to reference the secret.metastore:extraEnvFrom:- secretRef:name:cloudprem-metastore-uri- secretRef:name:cloudprem-minio-credentials# Indexer configuration# The indexer is responsible for processing and indexing incoming data it receives data from various sources# (for example, Datadog Agents, log collectors) and transforms it into searchable files called "splits"# stored in MinIO.## The indexer is horizontally scalable - you can increase `replicaCount` to handle higher indexing throughput.# The `podSize` parameter sets vCPU, memory, and component-specific settings automatically.# See the sizing guide for available tiers and their configurations.indexer:replicaCount:2podSize:xlargeextraEnvFrom:- secretRef:name:cloudprem-minio-credentials# Searcher configuration# The searcher is responsible for executing search queries against the indexed data stored in MinIO.# It handles search requests from Datadog's query service and returns matching results.## The searcher is horizontally scalable - you can increase `replicaCount` to handle more concurrent searches.# Resource requirements for searchers are highly workload-dependent and should be determined empirically.# Key factors that impact searcher performance include:# - Query complexity (for example, number of terms, use of wildcards or regex)# - Query concurrency (number of simultaneous searches)# - Amount of data scanned per query# - Data access patterns (cache hit rates)## Memory is particularly important for searchers as they cache frequently accessed index data in memory.searcher:replicaCount:2podSize:xlargeextraEnvFrom:- secretRef:name:cloudprem-minio-credentials# Configuration du plan de contrôlecontrolPlane:extraEnvFrom:- secretRef:name:cloudprem-minio-credentials# Janitor configurationjanitor:extraEnvFrom:- secretRef:name:cloudprem-minio-credentials
Replace the following placeholders with your actual values:
<BUCKET_NAME>: The name of your MinIO bucket (for example, cloudprem)
<MINIO_ENDPOINT>: The MinIO endpoint URL (for example, http://minio.minio.svc.cluster.local:9000)
Des entrées de log indiquant que le cluster a rejoint avec succès et que des opérations de split ont été effectuées doivent s’afficher, sans erreurs de connexion.
Vérifier la connectivité du stockage
Vérifiez que les indexeurs peuvent écrire dans MinIO en consultant les logs de l’indexeur :