等待镜像下载、pod创建、启动等操作完成后,实例情况如下:
[root@node1 faas-netes]# kubectl get pods -n openfaas NAME READY STATUS RESTARTS AGE alertmanager-dc4b8b67b-kl4wq 1/1 Running 0 10m basic-auth-plugin-7bb7698cb4-ln6fx 1/1 Running 0 10m faas-idler-df8c6d98d-xn68z 1/1 Running 2 10m gateway-775db4dbd4-7l9h4 2/2 Running 1 10m nats-58d4d5db8d-z7zzt 1/1 Running 0 10m prometheus-8689d7dc98-9lk8t 1/1 Running 0 10m queue-worker-5b4db6776f-nl999 1/1 Running 0 10m查看service,如下可见,gateway服务映射到了31222端口:
[root@node1 faas-netes]# kubectl get service -n openfaas NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE alertmanager ClusterIP 10.233.27.131 <none> 9093/TCP 13m basic-auth-plugin ClusterIP 10.233.21.234 <none> 8080/TCP 13m gateway ClusterIP 10.233.34.151 <none> 8080/TCP 13m gateway-external NodePort 10.233.62.82 <none> 8080:31112/TCP 13m nats ClusterIP 10.233.28.109 <none> 4222/TCP 13m prometheus ClusterIP 10.233.60.220 <none> 9090/TCP 13m至此,部署完成,接下来验证环境是否可用
验证
当前K8S宿主机IP地址是192.168.133.164,因此浏览器访问192.168.133.164:31112,如下图,会弹出账号密码输入窗口,账号admin,密码也是admin:
登录成功:
点击DEPLOY NEW FUNCTION,弹出部署函数的窗口,如下图,可见官方提供了一些现成的供我们使用,咱们挑一个试试,选择NodeInfo吧,其作用是提供当前服务器的基本信息,按照下图红框的数字顺序点击:
此时左侧菜单会立即出现nodeinfo的链接,这个函数已经就绪了,在线验证如下图所示,异常简单,动动鼠标就能完成调用(红框2的内容当前用不上,后面的操作会用到):
页面上的调用成功了,接下来试试远程访问,这才是生产环境的用法,上图红框2中的地址就是该函数的endpoint,浏览器里访问这个地址,如下图,可以成功调用:
命令行工具也是非常重要的,尽管本章不用,也要装好为后面作准备;
该工具可以装在其他电脑上,只要网络访问K8S环境没问题就行;
一行命令即可完成部署:
curl -sL https://cli.openfaas.com | sh看到如下输出表示命令行部署成功:
Finding latest version from GitHub 0.12.18 Downloading package https://github.com/openfaas/faas-cli/releases/download/0.12.18/faas-cli as /tmp/faas-cli Download complete. Running with sufficient permissions to attempt to move faas-cli to /usr/local/bin New version of faas-cli installed to /usr/local/bin Creating alias 'faas' for 'faas-cli'. ___ _____ ____ / _ \ _ __ ___ _ __ | ___|_ _ __ _/ ___| | | | | '_ \ / _ \ '_ \| |_ / _` |/ _` \___ \ | |_| | |_) | __/ | | | _| (_| | (_| |___) | \___/| .__/ \___|_| |_|_| \__,_|\__,_|____/ |_| CLI: commit: 9e3c15ef3ad7bd7cceb0cd577144aebb50c6681c version: 0.12.18执行如下命令完成配置,将OPENFAAS_URL写入环境变量中,192.168.133.187是K8S宿主机IP:
echo export OPENFAAS_URL=192.168.133.187:31112 >> ~/.bashrc再执行source ~/.bashrc让前面的配置立即生效;
执行以下命令,用账号密码登录:
faas-cli login -u admin -p admin登录成功,可以执行客户端命令了,list命令的结果如下:
[root@node1 ~]# faas-cli list Function Invocations Replicas nodeinfo 2 1 清理如果您不想用OpenFaaS,需要彻底清理OpenFaaS,请执行如下操作:
进入目录faas-netes
账号密码
kubectl delete secret basic-auth -n openfaas资源文件
kubectl delete -f ./yaml命名空间openfaas-fn
kubectl delete namespace openfaas-fn命名空间openfaas
kubectl delete namespace openfaas至此,Kubernetes环境下OpenFaaS的部署就完成了,接下来的章节,咱们会重点实战OpenFaaS的函数能力;
你不孤单,欣宸原创一路相伴Java系列
Spring系列
Docker系列
kubernetes系列
数据库+中间件系列
DevOps系列
欢迎关注公众号:程序员欣宸微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos