Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This article explains how to deploy Microsoft Defender for Containers to private Kubernetes clusters by using Helm charts or an Azure Arc-enabled Kubernetes extension. Private clusters isolate Kubernetes environments from the internet, which means no direct access to the Kubernetes API server. Defender for Containers extends threat detection and security visibility to these environments, so you can maintain protection coverage while preserving private cluster network boundaries. Before you begin, review the prerequisites.
Prerequisites
Before you begin, ensure the following prerequisites are met:
Defender for Containers is enabled for your target environment.
If you're deploying by using Helm, make sure
helm,curl, andjqare installed and available in your command-line environment.To check whether the tools are available, run:
helm version curl --version jq --versionIf you're deploying by using an Azure Arc-enabled Kubernetes extension, ensure that:
- Your cluster connected to Azure Arc.
- The Azure command-line interface (Azure CLI) is installed and you're signed in.
Install components for private clusters
Defender for Containers Helm charts are published to mcr.microsoft.com/azuredefender/microsoft-defender-for-containers.
Private clusters are supported in 0.11.X chart versions.
Use the Helm on Amazon EKS, Helm on Google Kubernetes Engine, or Azure Arc-enabled Kubernetes tab to install the components for your environment.
You can list the published versions by running the following command:
curl https://mcr.microsoft.com/v2/azuredefender/microsoft-defender-for-containers/tags/list
To install the latest 0.11.X chart and enable private cluster components:
helm install defender-k8s oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers \
--create-namespace \
--namespace mdc \
--set global.cloudIdentifiers.AWS.accountId="<aws-account-id>" \
--set global.cloudIdentifiers.AWS.region="<cluster-location>" \
--set global.cloudIdentifiers.AWS.clusterName="<cluster-name>" \
--set microsoft-defender-for-containers-sensor.inventoryCollector.enabled=true \
--set microsoft-defender-for-containers-sensor.configController.enabled=true
Verify the deployment
To verify Helm-based deployment status:
helm list --namespace mdc
To verify the Azure Arc extension deployment:
az k8s-extension show \
--name microsoft.azuredefender.kubernetes \
--cluster-type connectedClusters \
--cluster-name $ARC_CLUSTER_NAME \
--resource-group $ARC_RESOURCE_GROUP