学习
实践
活动
专区
工具
TVP
写文章
专栏首页Coding01Kubernetes 学习笔记——使用 Heml 安装和使用 OpenFaaS

Kubernetes 学习笔记——使用 Heml 安装和使用 OpenFaaS

OpenFaaS 简介

OpenFaaS ® - Serverless Functions Made Simple

下载 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

OpenFaaS (Functions as a Service)[1] is a framework for building serverless functions with Docker and Kubernetes.

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

Helm

在安装使用 OpenFaaS 之前,我们需要安装 Helm 3 (不需要再使用 tiller 了)。

结合之前的文章 Kubernetes 学习笔记[2],启动 minikube:

minikube start --image-mirror-country cn

eval $(minikube docker-env)

安装 Helm:

brew install kubernetes-helm

使用Helm管理kubernetes应用[3]

部署 OpenFaaS

在 minikube 环境下先创建两个命名空间 namespaces:

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

增加 OpenFaaS helm chart:

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

好了,我们先简单发布试试:

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

按照提示获取 password:

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

// password
LnMqQfE5PVva

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

Hello Function

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

安装 faas-cli

如上图推荐的,我们可以安装 faas-cli 来创建和发布一个 Function。

$ curl -sL cli.openfaas.com | sudo sh

我用的 mac,所以也可以直接利用 brew 来安装:

brew install faas-cli

创建一个 NodeJS 函数

faas-cli new hellofaas --lang node

整个项目结构如下:

.
├── handler.js
└── package.json
文章分享自微信公众号:
coding01

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:喜欢技术和NBA的小树
原始发表时间:2020-08-17
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 如何在Ubuntu 16.04上使用Docker Swarm安装和保护OpenFaaS

    无服务器架构从开发人员隐藏服务器实例,并且通常公开允许开发人员在云中运行其应用程序的API。这种方法可以帮助开发人员快速部署应用程序,因为他们可以将配置和维护实...

    谢鸢
  • 使用minikube安装kubernetes和dashboard

    minikube可以运行一个本地单节点的kubernetes集群,可以非常容易地在本地部署kubernetes。虽然只支持单节点的kubernetes集群,但是...

    jinjunzhu
  • grafana-kubernetes plugin安装和使用

    grafana 为 kubernetes 提供了一套模板,用来展示集群的运行负载。

    菲宇
  • Web前端学习笔记之安装和使用PhantomJS

    将PhantomJS下载在/usr/local/src/packet/目录下(这个看个人喜好)

    Jetpropelledsnake21
  • PHP安装、使用Redis,学习笔记。

    Redis相关知识:https://www.runoob.com/redis/redis-tutorial.html

    房东的狗丶
  • Vue.js学习笔记——简介、安装使用

    Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。

    德顺
  • 【kafka学习笔记】 第三天--kafka的安装和使用

    kafka是由scala语言写成的,后面用Java重构了,但是不管怎样,都要编译到jvm虚拟机中执行。

    玖柒的小窝
  • OpenFaaS实战之一:部署

    OpenFaaS是来自Docker社区的一款Serverless框架,作用是为用户提供FaaS计算平台,官网:https://www.openfaas.com,...

    程序员欣宸
  • SNMP学习笔记之SNMPWALK 安装与使用详解

    snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。通过sn...

    Jetpropelledsnake21
  • Vue学习笔记3-使用Vite安装项目

    Vite 是一个 web 开发构建工具,由于其原生 ES 模块导入方式,可以实现闪电般的冷服务器启动。

    摘繁华
  • kafka 学习笔记 2 -使用 docker 安装部署 kafka

    我使用 docker-compose 来创建,新建文件夹并在文件夹下创建一个 “docker-compose.yml”,这个文件描述了具体配置如下:

    张云飞Vir
  • Vue学习笔记3-使用Vite安装项目

    Vite 是一个 web 开发构建工具,由于其原生 ES 模块导入方式,可以实现闪电般的冷服务器启动。

    摘繁华
  • python学习笔记:*args和**kwargs使用原理?

    一.*args和**kwargs原理  先看个例子: def test(*args,**kwargs): print("args =",args) ...

    用户1679793
  • Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量

    在 Kubernetes 中运行大规模以 Web 为中心的工作负载,最关键的需求之一就是在 L7 层实现高效流畅的入口流量管理。自从第一批 Kubernetes...

    米开朗基杨
  • OpenFaaS实战之一:部署

    OpenFaaS是来自Docker社区的一款Serverless框架,作用是为用户提供FaaS计算平台,官网:https://www.openfaas.com,...

    程序员欣宸
  • MySql学习笔记(二)- 索引的设计和使用

    作为开发人员,数据库的索引是我们再熟悉不过的了。那么实话真的会了吗,在项目开发中随便定义一个int、varchar后边跟个primary key或者加个inde...

    写一点笔记
  • 【swift学习笔记】四.swift使用Alamofire和swiftyJson

      Alamofire是AFNetworking的swift版本,功能灰常强大。 github:https://github.com/Alamofire/Ala...

    lpxxn
  • python学习笔记:深浅拷贝的使用和原理

    在理解深浅拷贝之前,我们先熟悉下变量对象和数据类型 1.变量和对象 变量-引用-对象(可变对象,不可变对象) 在python中一切都是对象,比如[1,2],'h...

    用户1679793
  • Gitbook安装使用笔记(二)实用配置和插件

    介绍一下gitbook中book.json的一些实用配置和插件,详细可直接拉到底查看参考资料

    公爵

扫码关注腾讯云开发者

领取腾讯云代金券