cdk8s-aws-load-balancer-controller is an CDK8S construct library that provides AWS Alb Load Balancer Controller Configure.
Project description
cdk8s-aws-load-balancer-controller
cdk8s aws load balancer controller constructs for cdk8s
This project was formerly known as "CDK AWS ALB Ingress Controller", I just rename it to be "CDK AWS Load Balancer Controller".
Basic implementation of a aws load balancer controller construct for cdk8s. Contributions are welcome!
Usage
AWS Load Balance Controller V1
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from cdk8s import App, Chart
from constructs import Construct
from cdk8s_aws_load_balancer_controller import AlbIngressController
class MyChart(Chart):
def __init__(self, scope, name):
super().__init__(scope, name)
AlbIngressController(self, "albingresscntroller",
cluster_name="EKScluster"
)
app = App()
MyChart(app, "testcdk8s")
app.synth()
AWS Load Balance Controller V2
only support install in default namespace now!!!
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from cdk8s import App, Chart
from cdk8s_aws_load_balancer_controller import AwsLoadBalancerController
import constructs as constructs
class MyChart(Chart):
def __init__(self, scope, name, *, clusterName):
super().__init__(scope, name)
alb = AwsLoadBalancerController(self, "alb",
cluster_name=cluster_name,
create_service_account=False
)
self.deployment_name = alb.deployment_name
self.deployment_name_space = alb.namespace
app = App()
MyChart(app, "testcdk8s")
app.synth()
Featrue For Add IAM Policy.
- For IRSA add IAM Policy version 1.
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
# CDK APP like eks_cluster.ts
from cdk8s_aws_load_balancer_controller import AwsLoadBalancePolicy, VersionsLists
import aws_cdk.aws_eks as eks
cluster = eks.Cluster(self, "MyK8SCluster",
default_capacity=0,
masters_role=cluster_admin,
version=eks.KubernetesVersion.V1_18
)
alb_service_account = cluster.add_service_account("alb-ingress-controller",
name="alb-ingress-controller",
namespace="kube-system"
)
# will help you add policy to IAM Role .
AwsLoadBalancePolicy.add_policy(VersionsLists.AWS_LOAD_BALANCER_CONTROLLER_POLICY_V1, alb_service_account)
- For IRSA add IAM Policy version 2.
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
# CDK APP like eks_cluster.ts
from cdk8s_aws_load_balancer_controller import AwsLoadBalancePolicy, VersionsLists
import aws_cdk.aws_eks as eks
cluster = eks.Cluster(self, "MyK8SCluster",
default_capacity=0,
masters_role=cluster_admin,
version=eks.KubernetesVersion.V1_18
)
sa = eks.ServiceAccount(self, "albserviceaccount",
cluster=cluster,
name="aws-load-balancer-controller"
)
AwsLoadBalancePolicy.add_policy(VersionsLists.AWS_LOAD_BALANCER_CONTROLLER_POLICY_V2, sa)
Also can see example repo
License
Distributed under the Apache 2.0 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for cdk8s-aws-load-balancer-controller-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd881f086754c1b8f6727a7329c7650842c3d70212cdb93999cc6abfb98c8ecb |
|
MD5 | 7751fc34d686ae87ce7ded6393938848 |
|
BLAKE2b-256 | fff61f35c2a8d7893af2396ac0ad26290758cde75458c673915d7bb11136cc78 |
Close
Hashes for cdk8s_aws_load_balancer_controller-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 370a044cb0cc24482a86ec879dbf3617d7f48b2821ce5f921e77c947a8dc2184 |
|
MD5 | b171b6dcc02f1d0122ab55f019082519 |
|
BLAKE2b-256 | 4b980efcb71b9118924a536357b984ffdddbf22987805d70abb682d12b2f965b |