Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
Présentation
Avant d’installer CloudPrem sur Azure, vous devez configurer un ensemble de ressources d’infrastructure de support. Ces composants fournissent les services de calcul, de stockage, de base de données et de réseau fondamentaux dont CloudPrem dépend. Cette documentation présente toutes les ressources à configurer dans votre compte Azure avant de passer aux étapes d’installation décrites dans le guide d’installation Azure AKS.
Exigences en matière d’infrastructure
Voici les composants que vous devez provisionner :
Azure Kubernetes Service (AKS) : un cluster AKS opérationnel dimensionné pour votre charge de travail CloudPrem attendue.
PostgreSQL Flexible Server : une instance Azure Database pour PostgreSQL que CloudPrem utilisera pour stocker ses métadonnées.
Contrôleur d’entrée NGINX : installé sur le cluster AKS pour router le trafic externe vers les services CloudPrem.
Agent Datadog : déployé sur le cluster AKS pour collecter et envoyer des logs à CloudPrem.
Azure Kubernetes Service (AKS)
CloudPrem s’exécute entièrement sur Kubernetes. Vous avez besoin d’un cluster AKS avec suffisamment de CPU, de mémoire et d’espace disque configurés pour votre charge de travail. Consultez les recommandations de dimensionnement du cluster Kubernetes pour obtenir des conseils.
Pour confirmer que le cluster est accessible et que les nœuds sont à l’état Ready, exécutez la commande suivante :
kubectl get nodes -o wide
Azure PostgreSQL Flexible Server
CloudPrem stocke ses métadonnées et sa configuration dans une base de données PostgreSQL. Datadog recommande Azure Database pour PostgreSQL Flexible Server. Elle doit être accessible depuis le cluster AKS, idéalement avec la mise en réseau privé activée. Consultez les recommandations de dimensionnement Postgres pour plus de détails.
Pour des raisons de sécurité, créez une base de données et un utilisateur dédiés pour CloudPrem, et accordez à cet utilisateur des droits uniquement sur cette base de données, et non à l'échelle du cluster.
Connectez-vous à votre base de données PostgreSQL depuis le réseau AKS à l’aide du client PostgreSQL psql. Démarrez d’abord un pod interactif dans votre cluster Kubernetes en utilisant une image incluant psql :
CloudPrem utilise Azure Blob Storage pour persister les logs. Créez un conteneur dédié à cet usage.
Créer un conteneur Blob Storage
Utilisez un conteneur dédié par environnement (par exemple, cloudprem-prod, cloudprem-staging), et attribuez des rôles RBAC avec le principe du moindre privilège au niveau du conteneur, plutôt qu’au niveau du compte de stockage.
Une application Azure AD doit disposer d’un accès en lecture/écriture au conteneur Blob Storage. Enregistrez une application dédiée pour CloudPrem et attribuez au principal de service correspondant le rôle Contributor sur le conteneur Blob Storage créé précédemment.
L’ingress public est indispensable pour permettre au plan de contrôle et au service de requêtes de Datadog de gérer et d’interroger les clusters CloudPrem via l’internet public. Il fournit un accès sécurisé à l’API gRPC CloudPrem grâce aux mécanismes suivants :
Crée un Azure Load Balancer accessible depuis internet qui accepte le trafic en provenance des services Datadog
Implémente le chiffrement TLS avec terminaison au niveau du contrôleur d’entrée
Utilise HTTP/2 (gRPC) pour la communication entre Datadog et les clusters CloudPrem
Requiert une authentification TLS mutuelle (mTLS) où les services Datadog doivent présenter des certificats client valides
Configure le contrôleur en mode TLS passthrough pour transmettre les certificats client aux pods CloudPrem via l’en-tête ssl-client-cert
Rejette les requêtes ne présentant pas de certificats client valides ou l’en-tête de certificat
Utilisez le fichier de valeurs Helm nginx-public.yaml suivant pour créer le contrôleur d’entrée NGINX public :
Vérifiez que le pod du contrôleur est en cours d’exécution :
kubectl get pods -n nginx-ingress-public -l app.kubernetes.io/component=controller
Vérifiez que le service expose une IP externe :
kubectl get svc -n nginx-ingress-public -l app.kubernetes.io/component=controller
Contrôleur d’entrée NGINX interne
L’ingress interne permet l’ingestion de logs depuis les Agents Datadog et d’autres collecteurs de logs au sein de votre environnement via HTTP. Utilisez le fichier de valeurs Helm nginx-internal.yaml suivant pour créer le contrôleur d’entrée NGINX interne :
Vérifiez que le pod du contrôleur est en cours d’exécution :
kubectl get pods -n nginx-ingress-internal -l app.kubernetes.io/component=controller
Vérifiez que le service expose une IP externe :
kubectl get svc -n nginx-ingress-internal -l app.kubernetes.io/component=controller
DNS
Vous pouvez également ajouter une entrée DNS pointant vers l’IP du répartiteur de charge public, afin que les éventuels changements d’IP futurs ne nécessitent pas de mise à jour de la configuration côté Datadog.