AKS deployment
Requirements
- Docker
- make
- kubectl
- Terraform
- jq
- az CLI
Architecture
Deployment instructions
-
IMPORTANT: Remember to change Terraform State remote location from
./terraform/backend.tf
-
AKS can be deployed with 1 or 2 ingress controllers:
ingress-class=internal
(recommended): Manual provision of an internal NGINX ingress controller plus an Azure Application Gateway resource for L7 traffic forwarding and WAF security.ingress-class=addon-http-application-routing
: Azure provided enabling variabletf.azurerm_kubernetes_cluster.addon_profile.http_application_routing.enabled=true
1. Deploy AKS cluster
- Deploy AKS cluster
./ $ make tf_start
# (optional) ./ $ make tf_plan
./ $ make tf_apply
2. Setup custom internal NGINX ingress controller
- Create custom NGINX ingress controller by running:
./ $ make ingress_nginx
- (optional) Change
./vars-${TF_WS}.tfvars
by running:
# (optional) ./ $ make change_nginx_ingress_ip
- Apply changes by running:
# (optional) ./ $ make tf_plan
./ $ make tf_apply
Test
Go to test folder
Other commands
- Get appgw public ip
./ $ make show_ip_appgw
- Gain new AKS credentials for CLI
./ $ make aks_credentials