Terraform installed cert-manager in the AKS cluster, which automates TLS certificate issuance and renewal. In this step, you will:
Unlike AWS (which uses ACM), Azure deployments use cert-manager with Let’s Encrypt or your organization’s certificate authority.
If using public AKS mode: If you configured confident_public_aks = true
(HTTP-only testing), you can skip this page. Public mode is only recommended
for testing, not production.
The Azure deployment uses a different TLS approach than AWS:
When a user connects to your domain:
cert-manager was installed by Terraform via Helm. Verify it’s operational:
Expected output:
All three pods should be Running.
cert-manager pods not running?
This sometimes happens when AKS wasn’t fully ready. Try:
Terraform will retry the failed Helm installation.
A ClusterIssuer tells cert-manager how to obtain certificates. The most common option is Let’s Encrypt.
Create a file cluster-issuer.yaml:
Apply it:
Verify the issuer is ready:
Expected output:
Let’s Encrypt requires HTTP-01 challenge validation. This means:
For testing, use the Let’s Encrypt staging server first to avoid rate limits:
https://acme-staging-v02.api.letsencrypt.org/directory. Switch to production
once confirmed working.
If your ingress is internal (not internet-facing), you can’t use Let’s Encrypt. Options:
Self-signed issuer example:
Self-signed certificates cause browser warnings. Users will see “Your connection is not private” errors. This is acceptable for internal testing but not for production use.
Before certificates can be issued, your DNS must point to the NGINX Ingress load balancer. You’ll configure this fully during the Verification step, but you can check the load balancer IP now:
This returns the Azure Load Balancer IP that your DNS records should point to.
Azure Load Balancer uses IP addresses (not hostnames like AWS ALB). You’ll create A records (not CNAME records) pointing your domains to this IP.
After cert-manager is operational and a ClusterIssuer is configured, proceed to Cluster Access to configure kubectl access and verify infrastructure components.