https://github.com/mastercloudapps-projects/tfm-cdk8s-for-java-developers
We will cover how Java developers can use the cdk8s (Cloud Development Kit for Kubernetes) project for defining Kubernetes resources.
https://github.com/mastercloudapps-projects/tfm-cdk8s-for-java-developers
ack cdk cdk8s cdk8s-plus java k8s
Last synced: about 1 month ago
JSON representation
We will cover how Java developers can use the cdk8s (Cloud Development Kit for Kubernetes) project for defining Kubernetes resources.
- Host: GitHub
- URL: https://github.com/mastercloudapps-projects/tfm-cdk8s-for-java-developers
- Owner: MasterCloudApps-Projects
- License: apache-2.0
- Created: 2023-03-09T11:46:10.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-11T01:50:56.000Z (over 2 years ago)
- Last Synced: 2025-10-09T12:16:23.394Z (9 months ago)
- Topics: ack, cdk, cdk8s, cdk8s-plus, java, k8s
- Language: Java
- Homepage:
- Size: 192 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CDK8s for Java Developers
Examples of how to use Java to define Kubernetes applications
- [Getting started with cdk8s](part1-getting-started)
- [CDK8s-plus](part2-cdk8plus)
- [Using Custom Resource Definitions with cdk8s](part3-crd)
- [Extend cdk8s with custom Constructs](part4-custom-construct)
- [Manage AWS services from Kubernetes](part5-dynamodb-eks-ack-cdk8s)
- [Combine cdk8s with AWS CDK](part6-cdk-eks-construct)
- [Helm vs cdk8s](part7-helm-vs-cdk8s)
## Prerequisites
- AWS account
- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
- [cdk8s CLI ](https://cdk8s.io/docs/latest/getting-started/#install-the-cli)
- [kubectl.](https://kubernetes.io/docs/tasks/tools/#kubectl)
- [AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install)
- [the Java programming language (v1.8 or above)](https://sdkman.io/jdks)
- [Docker](https://docs.docker.com/engine/install/)
## Introduction
We will cover how Java developers can use the [cdk8s](https://cdk8s.io/docs/latest/) (Cloud Development Kit for Kubernetes)
project for defining Kubernetes resources. It's an open-source framework (also part of CNCF) that provides high-level abstractions which can be
composed into larger Kubernetes applications. Instead of adopting YAML or other configuration/template driven approach, `cdk8s` supports multiple
programming languages, which means you can work with Kubernetes resources using familiar concepts such as classes, methods, etc.
Ultimately, `cdk8s` generates Kubernetes manifests which you can apply using kubectl - business as usual!
Across the examples in this repository we will provide a hands-on intro to [cdk8s](https://cdk8s.io/docs/latest/).
We will also show how [cdk8s-plus](https://cdk8s.io/docs/latest/plus/) leverages building blocks from cdk8s core library, thereby helping reduce verbosity
and complexity by providing higher level abstractions/APIs for all Kubernetes objects such as Deployments, Services, etc.
We will demonstrate how you can use [Kubernetes Custom Resource Definitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) with cdk8s
Also we will cover how to create custom **Constructs** to define your own reusable components.
By the end of it, we will show with examples how to use [AWS Controllers for Kubernetes](https://aws-controllers-k8s.github.io/community/docs/community/overview/) to deploy AWS
infrastructure using K8s and also how to combine cdk8s with AWS CDK, so you can have the best of both worlds!
No more YAML!
