Kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure plumbing. It leverages Kubernetes resources to provide auto-scaling, API routing, monitoring, troubleshooting, and more.
Exploring Kubeless is a great way to explore this as an architectural pattern on Kubernetes. The combination of a CLI tool, ConfigMaps, pre-baked containers, a controller, and some Custom Resource Definition (CRDs) optionally along with Kafka achieves a clean solution for managing functions.
Kubeless relies on a command-line tool called 'kubeless' to submit functions and perform controlling operations with the Kubeless controller. There is also a user interface to parallel the CLI tool features. A dedicated Kafka system is also added to allow functions to be trigger via publish/subscribe.
You will learn how:
- to install Kubeless on Kubernetes
- functions are deployed and removed
- functions are named, exposed, and invoked
- functions are listed, inspected and monitored
More about the Kubeless architecture is described in the Kubeless documentation.
Kubeless is purely open-source and non-affiliated to any commercial organization. Help and feedback is welcomed.
Kubeless is a Kubernetes-native serverless framework. It runs on top of your Kubernetes cluster and allows you to deploy a small unit of code without having to build container images. With Kubeless you can build advanced applications that tie together services using functions.
With these steps you have learned:
- ✔ how to install Kubeless on Kubernetes,
- ✔ how functions are deployed and removed,
- ✔ how functions are named, exposed, and invoked,
- ✔ how functions are listed, inspected and monitored.
- Kubeless project landing page
- Kubeless is open source
- Kubeless documentation
- Helm, a package manager for Kubernetes
- Helm chart for Kubeless
- Kubeless UI project
Additional topics may be added to this lesson:
Your Kubernetes Cluster
For this scenario, Katacoda has just started a fresh Kubernetes cluster for you. Verify it's ready for your use.
kubectl version --short && \
kubectl get componentstatus && \
kubectl get nodes && \
The Helm package manager used for installing applications on Kubernetes is also available.
helm version --short
You can administer your cluster with the
kubectl CLI tool or use the visual Kubernetes Dashboard. Use this script to access the protected Dashboard.