Kubernetes Cluster Add-ons - GCP (4.1)

Kubernetes Add-ons

The following general Kubernetes add-ons should be added:

ExternalDNS

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 bitnami repository to the helm repository:

    helm repo add bitnami https://charts.bitnami.com/bitnami
  1. Update helm repository to get the latest software:

    helm repo update
  1. Create a file called external-dns-values.yaml and populate it with the following helm values:

    gcp: zoneType: public domainFilters: - <gke_domain_dns_name from terraform output> policy: sync provider: google txtOwnerId: <gke_domain_zone_name from terraform output> serviceAccount: annotations: iam.gke.io/gcp-service-account: <external_dns_service_account from terraform output>
  2. Install the ExternalDNS helm chart:

    Where <helm chart version> is a compatible version listed in the .

Ingress NGINX Controller

This is an optional add-on. Refer to the chapter for additional information.

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

To install Ingress NGINX Controller, follow these steps:

  1. Add ingress-nginx repository to the helm repository:

  1. Update helm repository to get the latest software:

  1. Create a file called ingress-nginx-values.yaml and populate it with the following helm values:

  1. Install the ingress-nginx-controller helm chart:

    Where <helm chart version> is a compatible version listed in the .

If you are running multiple installations on the cluster, in case the Nginx IngressClass resource is already installed, then you should set the following helm value to avoid hitting a resource already exists error:

controller.ingressClassResource.enabled=false

 

Executing helm list should show all add-ons added in this section:

This section is now complete. Now proceed to the section.