Learn KUBELESS with Real Code Examples
Updated Nov 25, 2025
Code Sample Descriptions
1
Simple Python HTTP Function
# kubeless/demo/python-http.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: hello-python
namespace: default
spec:
runtime: python3.8
handler: handler.main
source: |
def main(event, context):
return "Hello Kubeless!"
events:
hello-http:
type: http
metadata:
path: /hello
method: GET
A simple Kubeless YAML configuration to deploy a Python HTTP function.
2
Node.js HTTP Function
# kubeless/demo/node-http.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: hello-node
namespace: default
spec:
runtime: nodejs14
handler: handler.main
source: |
module.exports.main = (event, context) => {
return 'Hello from Node.js!';
};
events:
hello-http:
type: http
metadata:
path: /node
method: GET
Kubeless function using Node.js runtime to handle HTTP requests.
3
Go HTTP Function
# kubeless/demo/go-http.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: hello-go
namespace: default
spec:
runtime: go1.15
handler: handler.Hello
source: |
package handler
import (
"fmt"
"github.com/kubeless/kubeless/pkg/functions"
)
func Hello(event functions.Event, context functions.Context) string {
return fmt.Sprintf("Hello from Go!")
}
events:
hello-http:
type: http
metadata:
path: /go
method: GET
Kubeless function using Go runtime to handle HTTP requests.
4
Ruby HTTP Function
# kubeless/demo/ruby-http.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: hello-ruby
namespace: default
spec:
runtime: ruby2.5
handler: handler.main
source: |
def main(event, context)
"Hello from Ruby!"
end
events:
hello-http:
type: http
metadata:
path: /ruby
method: GET
Deploy a simple Ruby HTTP function with Kubeless.
5
Python Scheduled Function
# kubeless/demo/python-cron.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: scheduled-python
namespace: default
spec:
runtime: python3.8
handler: handler.main
source: |
def main(event, context):
print("Scheduled Hello!")
events:
schedule-event:
type: scheduled
metadata:
schedule: "*/5 * * * *"
Python function triggered on a schedule using a CronJob.
6
Node.js Kafka Function
# kubeless/demo/node-kafka.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: kafka-node
namespace: default
spec:
runtime: nodejs14
handler: handler.main
source: |
module.exports.main = (event, context) => {
console.log('Received Kafka message:', event.body);
};
events:
kafka-event:
type: kafka
metadata:
topic: test-topic
broker: localhost:9092
Node.js function triggered by a Kafka message.
7
Python RabbitMQ Function
# kubeless/demo/python-rabbitmq.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: rabbit-python
namespace: default
spec:
runtime: python3.8
handler: handler.main
source: |
def main(event, context):
print("Received RabbitMQ message:", event.body)
events:
rabbit-event:
type: rabbitmq
metadata:
exchange: test-exchange
queue: test-queue
Python function triggered by RabbitMQ messages.
8
Python CloudEvent Function
# kubeless/demo/python-cloudevent.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: cloudevent-python
namespace: default
spec:
runtime: python3.8
handler: handler.main
source: |
def main(event, context):
print("CloudEvent received:", event)
events:
cloudevent:
type: cloudevent
metadata:
source: /source
type: com.example.event
Python function triggered by CloudEvents.
9
Python HTTP Function with Dependencies
# kubeless/demo/python-http-deps.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: http-deps-python
namespace: default
spec:
runtime: python3.8
handler: handler.main
source: |
import requests
def main(event, context):
r = requests.get('https://httpbin.org/get')
return r.text
events:
hello-http:
type: http
metadata:
path: /requests
method: GET
Python HTTP function that uses additional dependencies.
10
Node.js Cron Function
# kubeless/demo/node-cron.yaml
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
name: scheduled-node
namespace: default
spec:
runtime: nodejs14
handler: handler.main
source: |
module.exports.main = (event, context) => {
console.log('Scheduled Node.js function executed!');
};
events:
schedule-event:
type: scheduled
metadata:
schedule: "0 * * * *"
Node.js function triggered on a schedule using Cron.