Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

AWS Add-ons

efs-csi-controller

...

Note!

This is an optional add-on

...

...

...

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:
When installing the aws-load-balancer-controller add-on, if the Helm value aws.access_cidr_blocks is not explicitly specified, it defaults to 0.0.0.0/0. This configuration allows unrestricted network access to the load balancer from any IP address. To enhance security and restrict access, it is recommended to set this value to a more restrictive CIDR block based on your organization's network policies.

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

...

  1. Add the bitnami helm repository:

    Code Block
    languagebash
    helm repo add bitnami https://charts.bitnami.com/bitnami
  2. Update the helm repository to get the latest software:

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

    Code Block
    languageyaml
    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

  1. Install the ExternalDNS helm chart:

    Code Block
    languagebash
    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

...

...

...

for additional information.

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

...

  1. Add the ingress-nginx helm repository:

    Code Block
    languagebash
    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  2. Update the helm repository to get the latest software:

    Code Block
    languagebash
    helm repo update
  3. Create a file called ingress-nginx-values.yaml and populate it with the following helm values:

    Code Block
    languageyaml
    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
  4. Install the ingress-nginx-controller helm chart:

    Code Block
    languagebash
    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.