First Steps with Kubeless on k3s

It is time to go serverless, at least for me. As a developer I want to write application code and get it running “somewhere” as quick as possible.

I don’t want to switch hats during development just to get my code into some cloud by creating new Docker images and changing some Kubernetes configuration.

Yes, of course, I could setup some CI system, but sometimes this is a bit too much in a local dev-environment.

The serverless paradigm goes into the right direction in my opinion. Time to get a feel for it.

I have chosen Kubeless as a framework because I want to play on my local k3s-cluster with it.

From their website, they describe it as follows

Kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code (functions) without having to worry about the underlying infrastructure. It is designed to be deployed on top of a Kubernetes cluster and take advantage of all the great Kubernetes primitives. If you are looking for an open source serverless solution that clones what you can find on AWS Lambda, Azure Functions, and Google Cloud Functions, Kubeless is for you!

Therefore, this post is a tutorial about the Kubeless framework to start exploring what it means to deploy serverless functions.

Enough said, let’s dive right in.

One second, before we start I have to mention that my setup is

  • a MacBook Pro as local work station
  • a two-node k3s cluster running on Ubuntu

In case your setup is very different, please check the Kubeless website, see links at the end of this post.

Installation

First, we install everything with the following commands:

$ export RELEASE=$(curl -s https://api.github.com/repos/kubeless/kubeless/releases/latest | grep tag_name | cut -d '"' -f 4)
$ kubectl create ns kubeless
$ kubectl create -f https://github.com/kubeless/kubeless/releases/download/$RELEASE/kubeless-$RELEASE.yaml
> ```

#serverless #kubeless #serverless-architecture #k3 #kubernetes

Exploring Serverless Computing with Kubeless
1.50 GEEK