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

Utilize code completion, loops, conditionals and testing for manifests, in your preferred programming language!

Simplify application workflows

Use the same programming language to build your application and its configuration

Define best practices

Deliver faster by composing and sharing 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, Python, Java, and Go. 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

cdk8s is a Cloud Native Computing Foundation Sandbox Project