Awscdk Eks Fargate Cluster

screenshot of Awscdk Eks Fargate Cluster
express

Boilerplate CDK code for deploying Express.js using Amazon EKS on AWS Fargate

Overview

The awscdk-eks-fargate-cluster is a robust solution for deploying a serverless Kubernetes environment using Amazon EKS on Fargate, harnessing the capabilities of AWS CDK v2. This boilerplate application allows you to create a 'nodeless' EKS cluster, automatically configuring a default Fargate profile to manage pods effectively from key namespaces. The included Express.js "Hello World" API provides a practical demonstration of the cluster's capabilities, making it suitable for both development and production environments.

This setup not only simplifies the process of deploying Kubernetes applications but also enhances security and scalability. With an emphasis on using Fargate and AWS services, it allows developers to focus more on coding rather than managing infrastructure, paving the way for efficient and flexible application deployment.

Features

  • Serverless Deployment: Utilizes Amazon EKS on Fargate for a nodeless Kubernetes experience, eliminating the need for manual node management.
  • CoreDNS Integration: Runs CoreDNS on Fargate, providing essential DNS services for your Kubernetes applications directly within the serverless environment.
  • AWS Load Balancer Controller: Comes preconfigured with annotations for Ingress and Service K8s resources, facilitating efficient traffic distribution.
  • Kubernetes Secrets Management: Ensures secrets are encrypted using AWS KMS via EKS Encryption Provider, enhancing data security.
  • Admin Role Access: Provides an AdminRole for EKS Console viewer access, simplifying management and oversight of the Kubernetes cluster.
  • VPC Configuration: Automatically sets up a Virtual Private Cloud (VPC) with two Availability Zones (AZs) and NAT Gateways for robust networking capabilities.
  • Simplified CLI Connection: The app outputs the update-kubeconfig command upon deployment, making it straightforward to connect to your EKS cluster.
  • Troubleshooting Support: Offers guidance on validating CoreDNS deployment and necessary pod annotations, aiding in efficient troubleshooting.
express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.