K8s & K3s 集群中 OpenFaaS 部署手册

2021-05-13  本文已影响0人  流雨声

OpenFaaS 简介

OpenFaaS是一个构建无服务器功能的框架,它拥有对指标的第一个类支持。任何流程都可以打包为一个功能,使你能够使用一系列web事件,而无需重复的样板化编码,让无服务器函数变得简单;

1 技术亮点

image

2 OpenFaaS概述

image

3 函数 Demo

你可以通过 使用FaaS-CLI和其内置的模板创建新函数,也可以在Docker中使用Windows或Linux的二进制文件。

import requests


def handle(req):
    r =  requests.get(req, timeout = 1)
    print(req +" => " + str(r.status_code)
)
"use strict"


module.exports = (callback, context) => {
    callback(null, {"message": "You said: " + context})
}

OpenFaaS 部署

OpenFaaS 是一个使用 Docker 构建 Serverless 功能的框架,它拥有对指标的一级支持。任何流程都可以打包为一个函数,使你能够使用一系列 web 事件,而无需重复的样板化编码。


image

1 获取 OpenFaaS Charts 资源

下载 Kubernetes 的 OpenFaaS 驱动程序 faas-netes:

git clone https://github.com/openfaas/faas-netes && cd faas-netes
or 国内码云镜像:
git clone https://gitee.com/mirrors/faas-netes.git && cd faas-netes

2 创建 OpenFaaS 依赖的 namespace

kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml

3 增加 OpenFaaS helm chart

helm repo add openfaas https://openfaas.github.io/faas-netes/

4 OpenFaaS 部署拉起

helm repo update \
 && helm upgrade openfaas --install openfaas/openfaas \
    --namespace openfaas  \
    --set functionNamespace=openfaas-fn \
    --set generateBasicAuth=true

5 获取 password (账号: admin)

echo $(kubectl -n openfaas get secret basic-auth -o jsonpath="{.data.basic-auth-password}" | base64 --decode)

// password
LnMqQfE5PVv

6 控制台登录

默认的提供 31112 端口,我们通命令 $(minikube ip) 获取内部 ip,通过 ip:31112 访问,输入账号和上面提供的密码:


image

Hello Function

下面开始写我们的第一个 serverless function。

1 安装 faas-cli

# 安装 faas-cli 来创建和发布一个 Function
curl -sL cli.openfaas.com | sudo sh
# mac 可以通过以下命令安装
brew install faas-cli

2 NodeJS 函数

cd /home/work/demo
faas-cli new hellofaas --lang node

整个项目结构如下:

.
├── handler.js
└── package.json

拓展阅读

无服务器(Serverless)架构的时候,到底是指什么呢?其实,无服务器架构并不是说不使用服务器了。恰恰相反,客户端-服务端模式仍然在其中发挥着重要的作用。
无服务器架构实际上指的是能够让开发者在不需要关心服务器上架、为操作系统打补丁、创建容器镜像这些工作的情况下,就能够完成编码、部署和创建应用这一整套流程的架构。

1 无服务器架构的三个重要意义

2 无服务器架构应用场景

无服务器架构是个好东西。但事实上,无服务器架构并不是万能的,在使用之前还需要考虑以下这些因素:

上一篇下一篇

猜你喜欢

热点阅读