Ir al contenido

Descripción general

Este caso de uso gestiona DNS autoritativo en F5 Distributed Cloud con Terraform. Un plan pequeño y reutilizable crea una zona DNS primaria y sus registros para un dominio delegado, mantiene su estado en Azure Blob Storage, y ejecuta plan-on-pull-request / apply-on-merge mediante GitHub Actions.

  • Un xcsh_dns_zone — una zona primaria autoritativa en el namespace system de F5 XC, con registros A. El nombre de la zona es el dominio delegado (una variable), por lo que redirigirla es un cambio de configuración, no un cambio de código.
  • Estado remoto de Terraform en Azure, de modo que las ejecuciones sean compartibles entre la máquina de un operador y CI.
CapaElecciónPor qué
Proveedorf5-sales-demo/xcsh (registro de Terraform)Generado a partir del OpenAPI de F5 XC; gestiona xcsh_dns_zone y los recursos del balanceador de carga DNS. Se autentica con un token de API (Authorization: APIToken <token>).
Backend de estadoazurerm (Azure Blob Storage), autenticación por clave de accesoEstado duradero y compartido. Se utiliza autenticación por clave de acceso porque la suscripción solo otorga el rol Contributor, que no puede asignar el rol Storage Blob Data Contributor que requiere la autenticación sin clave (OIDC / Azure AD).
AutomatizaciónGitHub ActionsPlan en cada pull request, apply al fusionar en main. Las coordenadas del backend y las entradas provienen de las variables del repositorio; las credenciales de los secrets.

El arco de Demo recorre el ciclo de vida completo de principio a fin: Build la zona con Terraform, Validate que resuelve correctamente, Failover con un balanceador de carga DNS, y Teardown. Comience con Fase 1 — Build, que es una guía completa para desplegar la zona, incluyendo todos los archivos de Terraform, el flujo de trabajo de CI y las variables y secrets necesarios.