AlbController
- class aws_cdk.aws_eks.AlbController(scope, id, *, cluster, version, additional_helm_chart_values=None, overwrite_service_account=None, policy=None, removal_policy=None, repository=None)
Bases:
ConstructConstruct for installing the AWS ALB Contoller on EKS clusters.
Use the factory functions
getandgetOrCreateto obtain/create instances of this controller.- See:
https://kubernetes-sigs.github.io/aws-load-balancer-controller
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk as cdk from aws_cdk import aws_eks as eks # alb_controller_version: eks.AlbControllerVersion # cluster: eks.Cluster # policy: Any alb_controller = eks.AlbController(self, "MyAlbController", cluster=cluster, version=alb_controller_version, # the properties below are optional additional_helm_chart_values=eks.AlbControllerHelmChartOptions( enable_waf=False, enable_wafv2=False ), overwrite_service_account=False, policy=policy, removal_policy=cdk.RemovalPolicy.DESTROY, repository="repository" )
- Parameters:
scope (
Construct)id (
str)cluster (
Cluster) – [disable-awslint:ref-via-interface] Cluster to install the controller onto.version (
AlbControllerVersion) – Version of the controller.additional_helm_chart_values (
Union[AlbControllerHelmChartOptions,Dict[str,Any],None]) – Additional helm chart values for ALB controller. Default: - no additional helm chart valuesoverwrite_service_account (
Optional[bool]) – Overwrite any existing ALB controller service account. If this is set, we will usekubectl applyinstead ofkubectl createwhen the ALB controller service account is created. Otherwise, if there is already a service account named ‘aws-load-balancer-controller’ in the kube-system namespace, the operation will fail. Default: falsepolicy (
Any) – The IAM policy to apply to the service account. If you’re using one of the built-in versions, this is not required since CDK ships with the appropriate policies for those versions. However, if you are using a custom version, this is required (and validated). Default: - Corresponds to the predefined version.removal_policy (
Optional[RemovalPolicy]) – The removal policy applied to the ALB controller resources. The removal policy controls what happens to the resources if they stop being managed by CloudFormation. This can happen in one of three situations: - The resource is removed from the template, so CloudFormation stops managing it - A change to the resource is made that requires it to be replaced, so CloudFormation stops managing it - The stack is deleted, so CloudFormation stops managing all resources in it Default: RemovalPolicy.DESTROYrepository (
Optional[str]) – The repository to pull the controller image from. Note that the default repository works for most regions, but not all. If the repository is not applicable to your region, use a custom repository according to the information here: https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases. Default: ‘602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller’
Methods
- to_string()
Returns a string representation of this construct.
- Return type:
str
Attributes
- node
The tree node.
Static Methods
- classmethod create(scope, *, cluster, version, additional_helm_chart_values=None, overwrite_service_account=None, policy=None, removal_policy=None, repository=None)
Create the controller construct associated with this cluster and scope.
Singleton per stack/cluster.
- Parameters:
scope (
Construct)cluster (
Cluster) – [disable-awslint:ref-via-interface] Cluster to install the controller onto.version (
AlbControllerVersion) – Version of the controller.additional_helm_chart_values (
Union[AlbControllerHelmChartOptions,Dict[str,Any],None]) – Additional helm chart values for ALB controller. Default: - no additional helm chart valuesoverwrite_service_account (
Optional[bool]) – Overwrite any existing ALB controller service account. If this is set, we will usekubectl applyinstead ofkubectl createwhen the ALB controller service account is created. Otherwise, if there is already a service account named ‘aws-load-balancer-controller’ in the kube-system namespace, the operation will fail. Default: falsepolicy (
Any) – The IAM policy to apply to the service account. If you’re using one of the built-in versions, this is not required since CDK ships with the appropriate policies for those versions. However, if you are using a custom version, this is required (and validated). Default: - Corresponds to the predefined version.removal_policy (
Optional[RemovalPolicy]) – The removal policy applied to the ALB controller resources. The removal policy controls what happens to the resources if they stop being managed by CloudFormation. This can happen in one of three situations: - The resource is removed from the template, so CloudFormation stops managing it - A change to the resource is made that requires it to be replaced, so CloudFormation stops managing it - The stack is deleted, so CloudFormation stops managing all resources in it Default: RemovalPolicy.DESTROYrepository (
Optional[str]) – The repository to pull the controller image from. Note that the default repository works for most regions, but not all. If the repository is not applicable to your region, use a custom repository according to the information here: https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases. Default: ‘602401143452.dkr.ecr.us-west-2.amazonaws.com/amazon/aws-load-balancer-controller’
- Return type:
- classmethod is_construct(x)
Checks if
xis a construct.Use this method instead of
instanceofto properly detectConstructinstances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructslibrary on disk are seen as independent, completely different libraries. As a consequence, the classConstructin each copy of theconstructslibrary is seen as a different class, and an instance of one class will not test asinstanceofthe other class.npm installwill not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructslibrary can be accidentally installed, andinstanceofwill behave unpredictably. It is safest to avoid usinginstanceof, and using this type-testing method instead.- Parameters:
x (
Any) – Any object.- Return type:
bool- Returns:
true if
xis an object created from a class which extendsConstruct.