Kubernetes中如何使用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
关于"Kubernetes中如何使用Heml安装和使用OpenFaaS"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。