This article walks through how to use Ketch, the open source application delivery framework that eliminates the need to create Helm charts, manifests, etc.
Join the DZone community and get the full member experience. Ketch, a relatively new open source project from application-as-code platform Shipa, offers a simple command-line interface that developers can use to deploy and manage applications on any Kubernetes cluster without writing YAML configuration files. Kubernetes is the ubiquitous standard for orchestrating containerized and microservices-based applications. However, operating Kubernetes requires developers to overcome a rather steep learning curve. Running Kubernetes successfully means gaining expertise in Kubernetes concepts, objects, and how to write and manage YAML files. Ketch eliminates much of that complexity by deploying applications directly to Kubernetes clusters, rendering YAML files unnecessary and easing entry for developers. Let’s look at some key concepts behind how Ketch works, and then I’ll dig into an example using Ketch to deploy an application to a Civo Kubernetes cluster powered by K3s (though this example should work with any Kubernetes distribution). This image from the Ketch documentation diagrams the solution’s architecture. Within the Kubernetes cluster is a Ketch controller, as well as Pool and App custom resource definitions (CRDs) and an ingress controller. At the moment, Ketch supports Traefik and Istio ingress controllers. The Pool CRD isolates deployed applications, with each created pool configuring a namespace and other needed components on the cluster.