Este producto no es compatible con el sitio Datadog seleccionado. ().
Información general
Antes de instalar CloudPrem en Azure, debes configurar un conjunto de recursos de infraestructura de soporte. Estos componentes proporcionan los servicios básicos de computación, almacenamiento, bases de datos y redes de los que depende CloudPrem. Esta documentación describe todos los recursos que debes configurar en tu cuenta de Azure antes de continuar con los pasos de instalación descritos en la Guía de instalación de Azure AKS.
Requisitos de infraestructura
Estos son los componentes que debes aprovisionar:
Azure Kubernetes Service (AKS): un clúster de AKS en ejecución dimensionado para tu carga de trabajo prevista en CloudPrem.
PostgreSQL Flexible Server: una instancia de Azure Database para PostgreSQL que CloudPrem utilizará para almacenar sus metadatos.
NGINX Ingress Controller: instalado en el clúster de AKS para enrutar el tráfico externo a los servicios de CloudPrem.
Datadog Agent: desplegado en el clúster de AKS para recopilar y enviar logs a CloudPrem.
Azure Kubernetes Service (AKS)
CloudPrem se ejecuta íntegramente en Kubernetes. Necesitas un clúster de AKS con suficiente CPU, memoria y espacio en disco configurado para tu carga de trabajo. Consulta las recomendaciones de dimensionamiento de clústeres de Kubernetes para obtener orientación.
Para confirmar que se puede acceder al clúster y que los nodos están en el estado Ready, ejecuta el siguiente comando:
kubectl get nodes -o wide
Azure PostgreSQL Flexible Server
CloudPrem almacena sus metadatos y configuración en una base de datos PostgreSQL. Datadog recomienda Azure Database for PostgreSQL Flexible Server. Debe ser accesible desde el clúster de AKS, idealmente con la red privada habilitada. Consulta las recomendaciones de tamaño de Postgres para obtener más detalles.
Por motivos de seguridad, crea una base de datos y un usuario dedicados para CloudPrem, y concede al usuario derechos solo en esa base de datos, no en todo el clúster.
Conéctate a tu base de datos de PostgreSQL desde la red de AKS utilizando el cliente de PostgreSQL, psql. En primer lugar, inicia un pod interactivo en tu clúster de Kubernetes utilizando una imagen que incluya psql:
A continuación, ejecuta el siguiente comando directamente desde el intérprete de comandos, sustituyendo los valores de los parámetros por los valores reales:
CloudPrem utiliza Azure Blob Storage para persistir logs. Crea un contenedor dedicado para este fin.
Crear un contenedor de Blob Storage
Utiliza un contenedor dedicado por entorno (por ejemplo, cloudprem-prod, cloudprem-staging) y asigna los roles RBAC con menos privilegios a nivel de contenedor, en lugar de a nivel de cuenta de almacenamiento.
Se debe conceder a una aplicación Azure AD acceso de lectura/escritura al contenedor de Blob Storage. Registra una aplicación dedicada para CloudPrem y asigna a la entidad principal de servicio correspondiente el rol Contributor en el contenedor de Blob Storage creado anteriormente.
La entrada pública es esencial para permitir que el plano de control y el servicio de consulta de Datadog gestionen y consulten los clústeres de CloudPrem a través de la Internet pública. Proporciona acceso seguro a la API gRPC de CloudPrem a través de los siguientes mecanismos:
Crea un Azure Load Balancer orientado a Internet que acepte tráfico de los servicios de Datadog.
Implementa el cifrado TLS con terminación a nivel de controlador de entrada.
Utiliza HTTP/2 (gRPC) para la comunicación entre los clústeres de Datadog y CloudPrem.
Requiere autenticación TLS mutua (mTLS), en la que los servicios de Datadog deben presentar certificados de cliente válidos.
Configura el controlador en modo TLS passthrough para reenviar certificados de cliente a los pods de CloudPrem con el encabezado ssl-client-cert
Rechaza las solicitudes en las que falten certificados de cliente válidos o el encabezado del certificado.
Utiliza el siguiente archivo de valores Helm NGINX-public.yaml para crear el controlador de entrada público NGINX:
Comprueba que el pod del controlador está en funcionamiento:
kubectl get pods -n nginx-ingress-public -l app.kubernetes.io/component=controller
Comprueba que el servicio expone una IP externa:
kubectl get svc -n nginx-ingress-public -l app.kubernetes.io/component=controller
Controlador de entrada interno NGINX
La entrada interna permite la ingesta de logs desde Datadog Agents y otros recopiladores de logs dentro de tu entorno a través de HTTP. Utiliza el siguiente archivo de valores Helm NGINX-internal.yaml para crear el controlador de entrada público NGINX:
Comprueba que el pod del controlador está en funcionamiento:
kubectl get pods -n nginx-ingress-internal -l app.kubernetes.io/component=controller
Comprueba que el servicio expone una IP externa:
kubectl get svc -n nginx-ingress-internal -l app.kubernetes.io/component=controller
DNS
Opcionalmente, puedes añadir una entrada DNS que apunte a la IP del equilibrador de carga público, de forma que futuros cambios de IP no requieran actualizar la configuración en el lado de Datadog.