AWS Add-ons
efs-csi-controller
...
Note!
This is an optional add-on
...
, see Introduction - AWS (4.
...
...
for additional information.
The Amazon Elastic File System Container Storage Interface (CSI) Driver implements the CSI specification for container orchestrators to manage the lifecycle of Amazon EFS file systems.
...
Where <helm chart version>
is a compatible version listed in the Compatibility Matrix (4.3).
...
Note!
The Helm install command assumes that the service account for Amazon EFS CSI Driver already exists.
Service Account name set to metadata.name under iam.serviceAccounts portion in the uepe-eks.yaml
file in Set Up Kubernetes Cluster - AWS section
Namespace set to metadata.namespace under iam.serviceAccounts portion in the uepe-eks.yaml
file in Set Up Kubernetes Cluster - AWS section
Persistent Volume and Persistent Volume Claim
Persistent Volume (PV) and Persistent Volume Claim (PVC) must be setup before Usage Engine Private Edition Helm Chart installation. The PV and PVC yaml files have already been generated in
<terraform script directory>/manifests/efs_persistence.yaml
.
Change directory to <terraform script directory>/manifests
.
To setup Persistent Volume and Persistent Volume Claim:
Code Block |
---|
kubectl apply -f efs_persistence.yaml -n uepe |
To ensure PVC bounded to allocated Persistent Volume:
Code Block |
---|
kubectl get pvc -n uepe |
The output should display PVC status is Bound
Code Block |
---|
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
example-cluster-efs-disk-pvc Bound example-cluster-efs-disk-pv 1024 RWX 14h |
Note!
The PVC setup described here will be referred by Usage Engine Private Edition helm chart installation configuration file uepe-values.yaml
’s property persistence.existingClaim if persistence.enabled is set to true
Dynamic Provisioning(Deprecated)
These steps describe how to create a dynamically provisioned volume created through Amazon EFS access points and a corresponding persistent volume claim (PVC).
...
For more information, please refer to the dynamic provisioning documentation.
aws-load-balancer-controller
Note |
---|
Important Configuration Note: |
The AWS Load Balancer controller manages the following AWS resources:
...
Where <helm chart version>
is a compatible version listed in the Compatibility Matrix (4.3).
...
Note!
The Helm install command assumes that the service account for AWS Load Balancer Controller already exists.
Service Account name set to metadata.name under iam.serviceAccounts portion in the uepe-eks.yaml
file in Set Up Kubernetes Cluster - AWS section
Namespace set to metadata.namespace under iam.serviceAccounts portion in the uepe-eks.yaml
file in Set Up Kubernetes Cluster - AWS section
Kubernetes Add-ons
external-dns
...
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
...
Note!
The Helm install command assumes that the service account for ExternalDNS already exists.
Service Account name set to metadata.name under iam.serviceAccounts portion in the uepe-eks.yaml
file in Set Up Kubernetes Cluster - AWS section
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 (4.3).
...
Note!
Namespace is set to metadata.namespace under the iam.serviceAccounts
...
section in the uepe-eks.yaml
file in Set Up Kubernetes Cluster - AWS section
ingress-nginx-controller
...
Note!
This is an optional add-on
...
, see Introduction - AWS (4.
...
...
for additional information.
The Ingress NGINX Controller is an ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer.
...
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 (4.3).
Executing helm list
should show all add-ons added in this section. Example:
...
This section is now complete. Now proceed to the Usage Engine Private Edition Preparations - AWS (4.3) section.