Upgrade

Upgrade on AWS

When to use this procedure

Do not use this procedure if you have an HAProxy Enterprise license key. Instead, see Upgrade on premises.

If you previously installed HAProxy Enterprise Kubernetes Ingress Controller from the AWS Marketplace, follow these steps to upgrade to the current version of the ingress controller:

  1. From the AWS Marketplace home page, click Manage subscriptions.

  2. Find HAProxy Enterprise Ingress Controller in your list of subscriptions, then click Launch more software.

  3. On the Configure this software screen, choose the fulfillment option and then software version, which determines the version of the Helm chart you will launch. Newer versions of the Helm chart support newer versions of HAProxy Enterprise Kubernetes Ingress Controller. Typically, you will choose the most recent version.

  4. Click Continue to Launch.

  5. On your local workstation, connect to your Kubernetes cluster using the AWS CLI. This will create a ~/.kube/config file:

    nix
    aws eks --region [Your region] update-kubeconfig --name [Your cluster name]
    nix
    aws eks --region [Your region] update-kubeconfig --name [Your cluster name]
  6. Check that you can access the cluster by calling kubectl get pods:

    nix
    kubectl get pods
    nix
    kubectl get pods

    A list of created resources should display.

  7. To pull the ingress controller’s container image from Amazon Elastic Container Registry, first log into the container registry:

    nix
    aws ecr get-login-password --region us-east-1 | \
    helm registry login \
    --username AWS \
    --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com
    nix
    aws ecr get-login-password --region us-east-1 | \
    helm registry login \
    --username AWS \
    --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com
    output
    text
    Login Succeeded
    output
    text
    Login Succeeded
  8. Pull the image. Set the version to the fulfillment option from the Configure this software screen in the AWS Marketplace. For example, 1.29.2.

    nix
    helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/haproxy-technologies/haproxy-ingress-controller-helm-chart2 \
    --version <VERSION>
    nix
    helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/haproxy-technologies/haproxy-ingress-controller-helm-chart2 \
    --version <VERSION>
  9. When calling helm upgrade, pass all arguments that you previously used when installing the ingress controller:

    nix
    helm upgrade haproxy-kubernetes-ingress \
    --namespace haproxy-controller \
    --set controller.service.type=LoadBalancer \
    --set "aws.licenseConfigSecretName=license-token-secret" \
    ./haproxy-ingress-controller-helm-chart2-*.tgz
    nix
    helm upgrade haproxy-kubernetes-ingress \
    --namespace haproxy-controller \
    --set controller.service.type=LoadBalancer \
    --set "aws.licenseConfigSecretName=license-token-secret" \
    ./haproxy-ingress-controller-helm-chart2-*.tgz

Do you have any suggestions on how we can improve the content of this page?