AKS Cluster
The possible infrastructure vary depending on how the PostgreSQL database is provisioned
Options:
- Azure AKS with VMs + Azure PostgreSQL
- Azure AKS with VMs + PostgreSQL Pod
We offer a provisioning script that depending on the selection, we automatically provision the cluster for you and install the K8S components needed for MD Core service. See AKS Cluster Deployment
MetaDefender PostgreSQL database details
Recommendations
For running MD Core in a Kubernetes cluster we recommend to use, for production environments, an external database service for PostgreSQL. In case of Azure it is Azure PostgreSQL which the script will deploy and configure to be accessible from the cluster.
For non-production environments or for stateless use cases, we offer the option of installing the database within the cluster using a standard PostgreSQL image.
Azure VMs + Azure PostgreSQL / PostgreSQL Pod Diagram

Resources Inventory
Networking
Service Type | Resource Name | Description |
---|---|---|
Azure Virtual Network | <resource-group-name>-vnet | |
Azure Subnet | <resource-group-name>-aks-subnet | |
Azure Subnet | <resource-group-name>-db-subnet | |
Azure Private DNS Zone | <postgres_db_account_name>.postgres.database.azure.com | |
Azure Private DNS Zone Virtual Network Link | <postgres__db__account_name>.com |
Monitoring
Service Type | Resource Name | Description |
---|---|---|
Azure Log Analytics WorkSpace | <log_analytics_workspace_name> | Workspace for analyzing the AKS Service |
Azure Log Analytics Solution | ContainerInsights | Solution for gathering metrics of containers |
Compute
Service Type | Resource Name | Description | Option |
---|---|---|---|
Azure AKS | <cluster_name> | Azure Kubernetes Service Cluster | All |
Azure ProstgreSQL Flexible Server | postgresql-<postgres_db_account_name> | PostgreSQL Server for MetaDefender Core | Option with Azure PostgreSQL |
Azure ProstgreSQL Flexible Server Configuration | azure.extensions | Configuration for installing PG_TRGM,DBLINK,BTREE_GIN_ | Option with Azure PostgreSQL |
The script will deploy a single Worker Node for the cluster with enough space for 1 replica of MD Core. Azure VM size is Standard_F8s_v2 (8 vCPU & 16 GiB Memory). Each pod would need a minimum of 4 vCPU and 8 GiB Memory. To change the request to adapt each pod to the specific case go to values.yml To change the size of the node pool go to terraform file terraform/azure/main.tf