Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hupe1980/cdkeks
Higher-level hybrid cdk|cdk8s construct to build an eks kubernetes platform with batteries included
https://github.com/hupe1980/cdkeks
aws aws-load-balancer-controller calico cdk cdk8s eks external-dns fluent-bit k8s kubernetes
Last synced: about 3 hours ago
JSON representation
Higher-level hybrid cdk|cdk8s construct to build an eks kubernetes platform with batteries included
- Host: GitHub
- URL: https://github.com/hupe1980/cdkeks
- Owner: hupe1980
- License: mit
- Created: 2021-06-04T18:00:46.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-06-30T19:21:08.000Z (about 3 years ago)
- Last Synced: 2024-09-23T12:33:06.710Z (1 day ago)
- Topics: aws, aws-load-balancer-controller, calico, cdk, cdk8s, eks, external-dns, fluent-bit, k8s, kubernetes
- Language: TypeScript
- Homepage:
- Size: 601 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cdkeks
Higher-level hybrid cdk|cdk8s construct to build an eks kubernetes platform with batteries included:- Network policies with [aws-calico](https://github.com/aws/eks-charts/tree/master/stable/aws-calico)
- DNS management with [external-dns](https://github.com/kubernetes-sigs/external-dns)
- Forwarding logs to CloudWatch Logs or ElasticSearch with [fluent-bit](https://github.com/aws/aws-for-fluent-bit)
- Ingress management with the [aws load balancer controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller):warning: This is experimental and subject to breaking changes.
## Install
TypeScript/JavaScript:```bash
npm install --save cdkeks
```Python:
```bash
pip install cdkeks
```## Howto use
### Install Addons
```typescript
const platform = new Platform(this, 'Platform', {
cluster,
addons: [new AwsCalicoAddon(), new AwsLoadBalancerControllerAddon()/*,...*/],
});
```
See more [addons](https://github.com/hupe1980/cdkeks/tree/main/cdkeks/src/addons).### AlbIngress
```typescript
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);
```### LoadBalancer
```typescript
const deployment = new Deployment(this, 'Deployment', {
platform,
containers: [
{
image: 'nginx',
},
],
});deployment.expose('LoadBalancer', 80, {
serviceType: ServiceType.LOAD_BALANCER,
});
```## API Reference
See [API.md](https://github.com/hupe1980/cdkeks/tree/main/cdkeks/API.md).
## Example
See more complete [examples](https://github.com/hupe1980/cdkeks/tree/main/examples).
## License
[MIT](https://github.com/hupe1980/cdkeks/tree/main/cdkeks/LICENSE)