/CarvelWorkshop

Hand On Workshop for Carvel Tools (https://carvel.dev/)

Primary LanguageJupyter NotebookMIT LicenseMIT

Carvel Workshop

Understanding the Carvel tools is fundamental to success with Tanzu. But it's not just for Tanzu. The Carvel tools are small composable tools that can be used to improve any workflow involving YAML or Kubernetes. Most of the Carvel tools are command line tools that do relatively simple things. Together, they fill in a lot missing pieces in a Kubernetes workflow.

Some Carvel tools are installed into Kubernetes clusters as controllers. In fact, the definition of a "Tanzu" cluster is just a plain old Kubernetes cluster with two specific Carvel tools installed: the secretgen-controller and the kapp-controller.

For some historical context, the Carvel tools were previously called simply "Kubernetes Tools" which was shortened to "k14s" in true Kubernetes fashion. "k14s" was rebranded as "Carvel" when the project was sponsored by VMware - but you will still see k14s.io used in several annotations generated by the Carvel tools.

In October 2022, VMware donated Carvel to the CNCF where it now resides as an incubating project.

Carvel is open source and you can read all about it here: https://carvel.dev/. The main source code repository is https://github.com/vmware-tanzu/carvel

How To Use this Workshop

The workshop contains many example files used with the various Carvel tools. The easiest way to execute these example files is to clone this repo - then you will have easy access to every file locally. You can do that with this command:

git clone https://github.com/jeffgbutler/CarvelWorkshop.git

For some of the exercises, you might benefit from having your own fork of this repo. This is not strictly necessary, but will be usefull if you want to trigger deployments using GitOps techniques. If you want to try that, then make a fork of the repository and clone your fork. You will also need to change some values in ther sample files to point to your own repository.

Pre-Requisites

The full Carvel suite includes command line tools as well as controllers installed in a Kubernetes cluster. Virtually any Kubernetes cluster can be used.

Before proceeding, please make sure you have installed the tools, and have access to a properly configured Kubernetes cluster. Instructions for doing so are here: Install Pre-Requisites

Workshop Topics

The following pages have overviews and examples of several Carvel tools. You can view them in any order, but you should have a good understanding of ytt, kbld, and kapp before reading about the kapp-controller.