前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes 学习笔记——使用 Heml 安装和使用 OpenFaaS

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

作者头像
coding01
发布2020-08-18 18:41:50
1.2K0
发布2020-08-18 18:41:50
举报
文章被收录于专栏:Coding01Coding01

OpenFaaS 简介

OpenFaaS ® - Serverless Functions Made Simple

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

代码语言:javascript
复制
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:

代码语言:javascript
复制
minikube start --image-mirror-country cn

eval $(minikube docker-env)

安装 Helm:

代码语言:javascript
复制
brew install kubernetes-helm

使用Helm管理kubernetes应用[3]

部署 OpenFaaS

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

代码语言:javascript
复制
kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml

增加 OpenFaaS helm chart:

代码语言:javascript
复制
helm repo add openfaas https://openfaas.github.io/faas-netes/

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

代码语言:javascript
复制
helm repo update \
 && helm upgrade openfaas --install openfaas/openfaas \
    --namespace openfaas  \
    --set functionNamespace=openfaas-fn \
    --set generateBasicAuth=true

按照提示获取 password:

代码语言:javascript
复制
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。

代码语言:javascript
复制
$ curl -sL cli.openfaas.com | sudo sh

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

代码语言:javascript
复制
brew install faas-cli

创建一个 NodeJS 函数

代码语言:javascript
复制
faas-cli new hellofaas --lang node

整个项目结构如下:

代码语言:javascript
复制
.
├── handler.js
└── package.json
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding01 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档