Serverless Engineering Practice | Quickly Build Kubeless Platform

Serverless Engineering Practice | Quickly Build Kubeless Platform

Quickly build a Kubeless platform

Introduction to Kubeless

Kubeless is a native serverless framework based on Kubernetes. It allows users to deploy small amounts of code (functions) without having to worry about the underlying architecture. It is deployed on a Kubernetes cluster and makes full use of Kubernetes' features and resource types to clone content on AWS Lambda, Azure Functions, and Google Cloud Functions.

The main features of Kubeless can be summarized as follows.

Supports Python, Node.js, Ruby, PHP, Go, .NET, Ballerina languages ​​and custom runtimes.
The Kubeless CLI is compliant with the AWS Lambda CLI.
Event triggers use the Kafka messaging system and HTTP triggers.
By default, Prometheus monitors function calls and delays.
Support Serverless framework plugin.

Since the features of Kubeless are built on Kubernetes, it is very easy for people familiar with Kubernetes to deploy Kubeless. Its main implementation is to convert user-written functions into CRDs (Custom Resource Definitions) in Kubernetes and run them in the cluster as containers.

Kubeless deployment

Create a Kubeless service on an existing Kubernetes cluster:

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

After successful creation, as shown in the figure

Install and configure Kubeless

View basic information:

kubectl get pods -n kubeless

The relevant Pod information is shown in the figure

View Kubeless related Pods

View the Deployment information:

kubectl get deployment -n kubeless

The relevant information is shown in the figure

View Kubeless Deployment related information

View the customresourcedefinition information:

kubectl get customresourcedefinition

The relevant information is shown in the figure

View customresourcedefinition information

Download command line tools

Download the Kubeless tool and decompress it:

  1. export OS =$(uname -s| tr '[:upper:]' '[:lower:]')curl -OL https://github.com/kubeless/kubeless/releases/download/$RELEASE/kubeless_ $OS-amd64.zipunzip kubeless_$OS-amd64.zip

After decompression, check:

./bundles/kubeless_linux-amd64/kubeless

As shown in the figure

Using the Kubeless command line tool

Experience Test

Create the test code helloworld.py:

def hello(event, context): print(event) return event['data']

Deploy the project:

  1. ./bundles/kubeless_linux-amd64/kubeless function deploy hello-world --runtime python3.6 --from-file helloworld.py --handler helloworld.hello

After successful deployment, view the project information:

kubectl get functions

The function list is shown in the figure

View the function list

View the example function:

./bundles/kubeless_linux-amd64/kubeless function ls

The function status is shown in the figure

Trigger function:

  1. ./bundles/kubeless_linux-amd64/kubeless function call hello-world --data 'Hello world!'

After the trigger is completed, you can see the output result:

View the log output in the instance, as shown in the figure

Viewing logs in an instance

So far, we have successfully created a Kubeless service on the Kubernetes cluster and successfully experienced the Kubeless version of Hello World implementation.

<<:  6G transmission capacity may be 100 times higher than 5G. 5G is here. How far is 6G?

>>:  Exploration and practice of full-link grayscale solution based on Istio

Blog    

Recommend

Why is WiFi on buses not as popular as on subways?

Public transport Wi-Fi operator 16Wi-Fi recently ...

Why does Wi-Fi need 6GHz?

As the most commonly used Internet access technol...

Bryan to launch fiber optic internet service

The city of Bryan, Texas, recently announced that...

Dedicated 5G networks for smart sports stadiums and venues

Advances in technology are dramatically changing ...

DNA of Fintech Data Chain

At the 2020 Financial Street Forum Annual Meeting...

About NSA and SA of 5G, you will understand it in seconds after reading this!

The first official 5G standard is about to be rel...

Blockchain from an economic perspective

When talking about blockchain, everyone will ment...

Is your business Wi-Fi fast enough?

Whether you are trying to troubleshoot a problem,...