CDK for Kubernetes

Define Kubernetes apps and components using familiar languages
Get started

Cloud Development Kit for Kubernetes

cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.

Why should you use CDK for Kubernetes?

Harness the power of code

Define Kubernetes applications using familiar programming languages

Simplify application workflows

Use the same tools to build your application and its configuration

Define best practices

Compose and share reusable components through code libraries


Works with Kubernetes everywhere

You can use cdk8s to define applications for any Kubernetes cluster running anywhere, including any cloud or on-premises. cdk8s runs locally in your development environment and produces standard Kubernetes YAML that can be applied to any cluster.

Language support

cdk8s lets you define applications using Typescript, JavaScript, and Python. Support for more languages is coming soon.

Supports core Kubernetes objects and custom resources

You can import objects from any Kubernetes API version and custom resource definitions to use with cdk8s. This makes it easy to use cdk8s to easily write entire Kubernetes applications and keep them up to date as applications change.

Deploy through GitOps

cdk8s works great with a GitOps workflow, making it easy to see changes as you modify your configuration and between API versions. Simply use the cdk8s to synthesize new YAML configuration files and commit them to your git repo.


We are building cdk8s for any developer who uses Kubernetes to define their applications. We encourage contributions of any type, from fixing typos to building new features.

Go from code to config

Easily define Kubernetes applications for any cluster
Get started