1.0.0 • Published 5 years ago
cdk8s-aws-alb-ingress-controller v1.0.0
cdk8s-aws-alb-ingress-controller
aws alb ingress controller constructs for cdk8s
Basic implementation of a aws alb ingress controller construct for cdk8s. Contributions are welcome!
Usage
AWS Load Balance Controller V1
import { App, Chart } from 'cdk8s';
import { Construct } from 'constructs';
import { AlbIngressController } from 'cdk8s-aws-alb-ingress-controller';
export class MyChart extends Chart {
constructor(scope: Construct, name: string) {
super(scope, name);
new AlbIngressController(this, 'albingresscntroller', {
clusterName: 'EKScluster',
});
}
}
const app = new App();
new MyChart(app, 'testcdk8s');
app.synth();
AWS Load Balance Controller V2
only support install in default namespace now!!!
import { App, Chart } from 'cdk8s';
import { AwsLoadBalancerController } from 'cdk8s-aws-alb-ingress-controller';
import * as constructs from 'constructs';
export interface MyChartProps {
readonly clusterName: string;
}
export class MyChart extends Chart {
readonly deploymentName: string;
readonly deploymentNameSpace: string;
constructor(scope: Construct, name: string, props: MyChartProps) {
super(scope, name);
const alb = new AwsLoadBalancerController(this, 'alb', {
clusterName: props.clusterName,
createServiceAccount: false,
});
this.deploymentName = alb.deploymentName;
this.deploymentNameSpace = alb.namespace;
}
}
const app = new App();
new MyChart(app, 'testcdk8s');
app.synth();
Featrue For Add IAM Policy.
- For IRSA add IAM Policy version 1.
// CDK APP like eks_cluster.ts
import { AwsLoadBalancePolicy, VersionsLists } from 'cdk8s-aws-alb-ingress-controller';
import * as eks from '@aws-cdk/aws-eks';
const cluster = new eks.Cluster(this, 'MyK8SCluster', {
defaultCapacity: 0,
mastersRole: clusterAdmin,
version: eks.KubernetesVersion.V1_18,
});
const albServiceAccount = cluster.addServiceAccount('alb-ingress-controller', {
name: 'alb-ingress-controller',
namespace: 'kube-system',
});
// will help you add policy to IAM Role .
AwsLoadBalancePolicy.addPolicy(VersionsLists.AWS_LOAD_BALANCER_CONTROLLER_POLICY_V1, albServiceAccount);
- For IRSA add IAM Policy version 2.
// CDK APP like eks_cluster.ts
import { AwsLoadBalancePolicy, VersionsLists } from 'cdk8s-aws-alb-ingress-controller';
import * as eks from '@aws-cdk/aws-eks';
const cluster = new eks.Cluster(this, 'MyK8SCluster', {
defaultCapacity: 0,
mastersRole: clusterAdmin,
version: eks.KubernetesVersion.V1_18,
});
const sa = new eks.ServiceAccount(this, 'albserviceaccount', {
cluster: cluster,
name: 'aws-load-balancer-controller',
});
AwsLoadBalancePolicy.addPolicy(VersionsLists.AWS_LOAD_BALANCER_CONTROLLER_POLICY_V2, sa );
Also can see example repo
License
Distributed under the Apache 2.0 license.
1.0.0
5 years ago
0.0.30
5 years ago
0.0.31
5 years ago
0.0.28
5 years ago
0.0.29
5 years ago
0.0.27
5 years ago
0.0.26
5 years ago
0.0.24
5 years ago
0.0.25
5 years ago
0.0.23
5 years ago
0.0.22
5 years ago
0.0.21
5 years ago
0.0.20
5 years ago
0.0.19
5 years ago
0.0.18
5 years ago
0.0.17
5 years ago
0.0.16
5 years ago
0.0.15
5 years ago
0.0.14
5 years ago
0.0.13
5 years ago
0.0.12
5 years ago
0.0.11
5 years ago
0.0.10
5 years ago
0.0.9
5 years ago
0.0.3
5 years ago
0.0.5
5 years ago
0.0.4
5 years ago
0.0.7
5 years ago
0.0.6
5 years ago
0.0.2
5 years ago
0.0.1
5 years ago