Back to Charts

⚠️ Repo Archive Notice

incubator/aws-alb-ingress-controller/README.md

latest12.5 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

aws-alb-ingress-controller

aws-alb-ingress-controller satisfies Kubernetes ingress resources by provisioning Application Load Balancers.

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

TL;DR:

bash
helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
helm install incubator/aws-alb-ingress-controller --set clusterName=MyClusterName --set autoDiscoverAwsRegion=true --set autoDiscoverAwsVpcID=true

Introduction

This chart bootstraps an alb-ingress-controller deployment on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.9+ with Beta APIs enabled

Enable helm incubator repository

bash
helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator

Installing the Chart

To install the chart with the release name my-release into kube-system:

bash
helm install incubator/aws-alb-ingress-controller --set clusterName=MyClusterName --set autoDiscoverAwsRegion=true --set autoDiscoverAwsVpcID=true --name my-release --namespace kube-system

The command deploys alb-ingress-controller on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

console
$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following tables lists the configurable parameters of the alb-ingress-controller chart and their default values.

ParameterDescriptionDefault
affinityAffinity for pod assignment{}
awsRegionAWS region of k8s cluster, required if ec2metadata is unavailable from controller pod"us-east-2"
autoDiscoverAwsRegionAuto discover awsRegion from ec2metadata, omit awsRegion when this set to truefalse
awsVpcIDAWS VPC ID of k8s cluster, required if ec2metadata is unavailable from controller pod"vpc-xxx"
autoDiscoverAwsVpcIDAuto discover awsVpcID from ec2metadata, omit awsRegion when this set to truefalse
clusterName(REQUIRED) Resources created by the ALB Ingress controller will be prefixed with this stringk8s
containerSecurityContextSet to security context for container{}
enableReadinessProbeEnable readinessProbe on controller podfalse
enableLivenessProbeEnable livenessProbe on controller podfalse
extraEnvMap of environment variables to be injected into the controller pod{}
fullnameOverrideCustom fullname override for the chart""
image.pullPolicyController container image pull policyIfNotPresent
image.repositoryController container image repositorydocker.io/amazon/aws-alb-ingress-controller
image.tagController container image tagv1.1.8
livenessProbeInitialDelayHow long to wait (in seconds) before checking the liveness probe30
livenessProbeTimeoutHow long to wait before timeout (in seconds) when checking controller liveness1
nameOverrideCustom name override for the chart""
nodeSelectorNode labels for controller pod assignment{}
podAnnotationsAnnotations to be added to controller pod{}
podLabelsLabels to be added to controller pod{}
priorityClassNameSet to ensure your pods survive resource shortages""
rbac.createIf true, create & use RBAC resourcestrue
rbac.serviceAccount.annotationsService Account annotations{}
rbac.serviceAccount.createIf true and rbac.create is also true, a service account will be createdtrue
rbac.serviceAccount.nameExisting ServiceAccount to use (ignored if rbac.create=true and rbac.serviceAccount.create=true)default
readinessProbeInitialDelayHow long to wait (in seconds) before checking the readiness probe30
readinessProbeIntervalHow often (in seconds) to check controller readiness60
readinessProbeTimeoutHow long to wait before timeout (in seconds) when checking controller readiness3
replicaCountNumber of ALB controller replicas1
securityContextSet to security context for pod{}
resourcesController pod resource requests & limits{}
securityContextSet to security context for pod{}
scope.ingressClassIf provided, the ALB ingress controller will only act on Ingress resources annotated with this classalb
scope.singleNamespaceIf true, the ALB ingress controller will only act on Ingress resources in a single namespacefalse (watch all namespaces)
scope.watchNamespaceIf scope.singleNamespace=true, the ALB ingress controller will only act on Ingress resources in this namespace"" (namespace of the ALB ingress controller)
tolerationsController pod toleration for taints{}
volumesMountsVolumeMounts into the controller pod[]
volumesVolumes the controller pod[]
bash
helm install incubator/aws-alb-ingress-controller --set clusterName=MyClusterName --set autoDiscoverAwsRegion=true --set autoDiscoverAwsVpcID=true --name my-release --namespace kube-system

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

bash
helm install incubator/aws-alb-ingress-controller --name my-release -f values.yaml

Tip: You can use the default values.yaml

Tip: If you use aws-alb-ingress-controller as releaseName, the generated pod name will be shorter.(e.g. aws-alb-ingress-controller-66cc9fb67c-7mg4w instead of my-release-aws-alb-ingress-controller-66cc9fb67c-7mg4w)

Upgrading to v1.0.2

AWS ALB Ingress Controller indicates that there is an incompatible breaking change needing manual actions. The below instructions are based on the official annotation guide.

This version of controller needs new IAM permissions.

Notices:

  • New IAM permission is required even no wafv2 annotation is used.
  • WAFV2 support can be disabled by controller flags --feature-gates=wafv2=false