OpenFaaS Introduction

介绍

OpenFaaS官网

快速环境搭建

K8S下安装文档

  1. 安装faas-cli

     # MacOS and Linux users
    
     # If you run the script as a normal non-root user then the script
     # will download the faas-cli binary to the current folder
     $ curl -sL https://cli.openfaas.com | sudo sh
    
     # Windows users with (Git Bash)
     $ curl -sL https://cli.openfaas.com | sh
    
  2. 安装arkade

     # For MacOS / Linux:
     curl -SLsf https://dl.get-arkade.dev/ | sudo sh
    
  3. 安装OpenFaaS

     # 单机安装
     arkade install openfaas
    
     #集群安装
     arkade install openfaas --load-balancer
    

    在安装结束后,可以看到openfaas的 URL 和 密码, 之后就可以通过网页端来操作.

    之后如果需要查看安装信息,可以通过arkade info命令获得.

     arkade info openfaas
    

原理

WatchDog

openfaas watchdog Github页面

和传统意义上的看门狗程序来说很不一样,openfaas开门狗主要是为function提供一个通用的io接口. 作为一个将openfaas 网关收到的HTTP请求转化成function输入的一个中间件.

本质上来说watchdog是一个小型的web server,将HTTP请求处理为stdin输入给function, 然后将functionstdout作为HTTP RESPONS返回.

watchdog原理

of-watchdog运行模式

  1. HTTP 模式

    先启动进程,然后等待HTTP 请求

  2. 序列化模式

    HTTP请求-> 序列化-> fork

  3. 流模式

    HTTP请求-> fork -> 流

  4. Afterburn

    request死了后,容器就死了

  5. 静态(文件)模式

    开启一个静态文件服务器

alpine linux

arpine linux 官网

openfaas使用arpine作为容器宿主linux,主要的优点就是小,作为容器时不超过8M,更够更快速启动.

同时包管理也包含了绝大多数常用的软件.