8000 GitHub - kagodarog/cdk-eks-cluster: aws cdk python for creating an EKS cluster bootstrapped with karpenter, argocd, argo image updater.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

aws cdk python for creating an EKS cluster bootstrapped with karpenter, argocd, argo image updater.

Notifications You must be signed in to change notification settings

kagodarog/cdk-eks-cluster

Repository files navigation

CDK Python project for provisioning an EKS cluster

The projects setups EKS cluster with latest kubernetes version 1.32 at the time of writing. It bootstraps the cluster with the following services and ready IAM roles for the services to use.

  • A managed nodegroup with 2 m5.large instances.
  • Pod identity for service accounts.
  • Karpenter for autoscaling.
  • EBS CSI driver for storage.
  • AWS Load Balancer Controller for ingress.
  • ArgoCD for GitOps.
  • Argocd application for deploying a sample application.
  • ArgoImageUpdater for updating the application image.

This project is set up like a standard Python project. The initialization process also creates a virtualenv within this project, stored under the .venv directory. To create the virtualenv it assumes that there is a python3 (or python for Windows) executable in your path with access to the venv package. If for any reason the automatic creation of the virtualenv fails, you can create the virtualenv manually.

To manually create a virtualenv on MacOS and Linux:

$ python3 -m venv .venv

After the init process completes and the virtualenv is created, you can use the following step to activate your virtualenv.

$ source .venv/bin/activate

If you are a Windows platform, you would activate the virtualenv like this:

% .venv\Scripts\activate.bat

Once the virtualenv is activated, you can install the required dependencies.

$ pip install -r requirements.txt

At this point you can now synthesize the CloudFormation template for this code.

$ cdk synth

To add additional dependencies, for example other CDK libraries, just add them to your setup.py file and rerun the pip install -r requirements.txt command.

Useful commands

  • cdk ls list all stacks in the app
  • cdk synth emits the synthesized CloudFormation template
  • cdk deploy deploy this stack to your default AWS account/region
  • cdk diff compare deployed stack with current state
  • cdk docs open CDK documentation

Enjoy!

About

aws cdk python for creating an EKS cluster bootstrapped with karpenter, argocd, argo image updater.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0