Kubernetes Cluster Add-ons - Azure (4.3)

Azure Add-ons

application-gateway-ingress-controller (AGIC)

Application Gateway Ingress Controller manages the following Azure resources:

  • L7 Application Load Balancers to satisfy Kubernetes Ingress resources.

To install the Application Gateway Ingress Controller, follow these steps:

  1. Add the application gateway ingress repository to the helm repository by running the following command:

    helm repo add application-gateway-kubernetes-ingress https://appgwingress.blob.core.windows.net/ingress-azure-helm-package/
  2. Update the helm repository to get the latest software by running the following command:

    helm repo update
  3. Create a file called agic-values.yaml, paste the following content into it, and replace the appropriate values from the terraform output.

    verbosityLevel: 3 appgw: subscriptionId: <azure_subscription_id from terraform output> resourceGroup: <azure_resource_group from terraform output> name: <appgw_name from terraform output> usePrivateIP: false shared: false armAuth: type: workloadIdentity identityClientID: <appgw_ingress_controller_client_id from terraform output> rbac: enabled: true
  4. Install the Application Gateway Ingress Controller helm chart by running the following command:

Note!

When the cluster was created, the workload identity for AGIC was set up.

For the AGIC to function properly, the Helm install command above assumes that the following service account name and namespace are used:

Kubernetes Add-ons

external-dns

ExternalDNS is a Kubernetes add-on that configures public DNS servers with information about exposed Kubernetes services to make them discoverable.

To install ExternalDNS, follow these steps:

  1. Add the bitnami helm repository by running the following command:

  2. Update the helm repository to get the latest software by running the following command:

  3. Create a file called external-dns-values.yaml, paste the following content into it, and replace the appropriate values from terraform output.

    4. Install the ExternalDNS helm chart by running the following command:

    Where <helm chart version> is a compatible version listed in the Compatibility Matrix (4.2).

Note!

When the cluster was created, the workload identity for ExternalDNS was set up.

For the ExternalDNS to function properly, the Helm install command above assumes that the following service account name and namespace are used:

ingress-nginx-controller

Note!

This is an optional add-on, see Introduction - Azure (4.3) for additional information.

The Ingress NGINX Controller is an ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer.

To install the Ingress NGINX Controller, follow these steps:

  1. Add the ingress-nginx helm repository by running the following command:

  2. Update the helm repository to get the latest software by running the following command:

  3. Create a file called ingress-nginx-values.yaml and populate it with the following helm values. This yaml file do not require value substitution so you can proceed to the next step.

  4. Install the ingress-nginx-controller helm chart by running the following command:

    Where <helm chart version> is a compatible version listed in the Compatibility Matrix (4.2).

Executing helm list -A should show all add-ons added in this section similar to below:

This section is now complete and you can proceed to the Usage Engine Private Edition Preparations - Azure (4.3) section.