Higher-level hybrid cdk|cdk8s construct to build an eks kubernetes platform with batteries included:
- Network policies with aws-calico
- DNS management with external-dns
- Forwarding logs to CloudWatch Logs or ElasticSearch with fluent-bit
- Ingress management with the aws load balancer controller
TypeScript/JavaScript:
npm install --save cdkeks
Python:
pip install cdkeks
const platform = new Platform(this, 'Platform', {
cluster,
addons: [new AwsCalicoAddon(), new AwsLoadBalancerControllerAddon()/*,...*/],
});
See more addons.
const deployment = new Deployment(this, 'Deployment', {
platform,
containers: [
{
image: 'nginx',
},
],
});
const backend = IngressBackend.fromService(deployment.expose('Service', 80));
const ingress = new AlbIngress(this, 'Ingress', {
platform,
targetType: TargetType.IP,
internetFacing: true,
});
ingress.connections.allowFromAnyIpv4(Port.tcp(80));
ingress.addRule('/', backend);
const deployment = new Deployment(this, 'Deployment', {
platform,
containers: [
{
image: 'nginx',
},
],
});
deployment.expose('LoadBalancer', 80, {
serviceType: ServiceType.LOAD_BALANCER,
});
See API.md.
See more complete examples.