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:
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/
Update the helm repository to get the latest software by running the following command:
helm repo update
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
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:
Service Account name is set to
appgw_ingress_controller_service_account
from terraform output in Set Up Kubernetes Cluster - Azure (4.3) | Create Basic Cluster and additional infrastructure section.Namespace is set to
appgw_ingress_controller_namespace
from terraform output in Set Up Kubernetes Cluster - Azure (4.3) | Create Basic Cluster and additional infrastructure section.
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:
Add the bitnami helm repository by running the following command:
Update the helm repository to get the latest software by running the following command:
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:
Service Account name is set to
external_dns_service_account
from terraform output in Set Up Kubernetes Cluster - Azure (4.3) | Create Basic Cluster and additional infrastructure sectionNamespace is set to
external_dns_namespace
from terraform output in Set Up Kubernetes Cluster - Azure (4.3) | Create Basic Cluster and additional infrastructure section
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:
Add the ingress-nginx helm repository by running the following command:
Update the helm repository to get the latest software by running the following command:
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.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.