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:
Code Block language bash helm repo add bitnami https://charts.bitnami.com/bitnami
Update the helm repository to get the latest software:
Code Block language bash helm repo update
Create a file called
external-dns-values.yaml
and populate it with the following helm values:Code Block language yaml aws: zoneType: public domainFilters: - <eks_domain_zone_name from terraform output> policy: sync provider: aws txtOwnerId: <eks_domain_zone_id from terraform output> serviceAccount: create: false name: external-dns
Info |
---|
Helm install command assumes service account for ExternalDNS already exists. Service Account name set to metadata.name under iam.serviceAccounts portion in the |
Install the ExternalDNS helm chart:
Code Block language bash helm install external-dns bitnami/external-dns -n uepe \ --version <helm chart version> -f external-dns-values.yaml
Where
<helm chart version>
is a compatible version listed in the Compatibility Matrix.
...
How to setup ExternalDNS is highly dependent on how your cluster is setup and your other infrastructure. Therefore refer to the ExternalDNS documentation for instruction on how to set it up for your case.
ingress-nginx-controller
Info |
---|
This is an optional add-on. |
...
Add the ingress-nginx helm repository:
Code Block language bash helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
Update the helm repository to get the latest software:
Code Block language bash helm repo update
Create a file called
ingress-nginx-values.yaml
and populate it with the following helm values:Code Block language yaml controller: scope: enabled: true admissionWebhooks: enabled: false metrics: enabled: false serviceMonitor: enabled: false ingressClassResource: name: nginx enabled: true default: false controllerValue: "k8s.io/ingress-nginx" watchIngressWithoutClass: false service: targetPorts: http: 80 https: 443 type: NodePort extraArgs: v: 1 serviceAccount: create: false
Install the
ingress-nginx-controller
helm chart:Code Block language bash helm install ingress-nginx ingress-nginx/ingress-nginx --version <helm chart version> -f ingress-nginx-values.yaml -n uepe
Where
<helm chart version>
is a compatible version listed in the Compatibility Matrix.
Executing helm list
should show all add-ons added in this section. Example:
Code Block | ||
---|---|---|
| ||
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
aws-efs-csi-driver uepe 1 2024-02-06 14:00:36.817518 +0800 +08 deployed aws-efs-csi-driver-2.5.4 1.7.4
aws-load-balancer-controller uepe 1 2024-02-06 14:09:22.86071 +0800 +08 deployed aws-load-balancer-controller-1.7.0 v2.7.0
external-dns uepe 1 2024-02-06 14:06:28.705309 +0800 +08 deployed external-dns-6.31.5 0.14.0
ingress-nginx-controller uepe 1 2024-02-22 11:44:54.18561 +0800 +08 deployed ingress-nginx-4.9.1 1.9.6 |
This section is now complete. Now proceed to the Usage Engine Private Edition Preparations - Private Cloud section.