OpenFaaS实战之二:函数入门,Java面试心得必备技能储备详解

本文详细介绍了如何使用faas-cli在OpenFaaS平台上创建和部署一个用Python编写的函数,包括编写Dockerfile,处理函数逻辑,以及在Kubernetes环境中构建和验证镜像的过程。
摘要由CSDN通过智能技术生成
  • csharp

  • dockerfile

  • go

  • java11

  • java11-vert-x

  • node

  • node12

  • php7

  • python

  • python3

  • python3-debian

  • ruby

  1. 执行以下命令即可创建函数,add是函数名,python是语言类型,bolingcavalry是docker镜像名字的前缀:

faas-cli new add --lang python -p bolingcavalry

  1. 控制台提示如下:

[root@node1 faas-template]# faas-cli new add --lang python -p bolingcavalry

Folder: add created.


/ _ \ _ __ ___ _ __ | __| _ __ _/ ___|

| | | | '_ \ / _ \ '_ | |_ / |/ _ __ \

| || | |) | / | | | | (| | (| |) |

_/| ./ ___|| ||| _,|_,|___/

|_|

Function created in folder: add

Stack file written: add.yml

  1. 当前目录下,产生名为add的文件夹,以及名为add.yml的文件;

  2. 先看add.yml,这是函数的描述文件,本文中已经够用了,无需修改:

version: 1.0

provider:

name: openfaas

gateway: http://192.168.133.187:31112

functions:

add:

lang: python

handler: ./add

image: bolingcavalry/add:latest

  1. 进入add文件夹,看到faas-cli帮我们生成的源码文件handler.py,默认代码:

def handle(req):

“”"handle a request to the function

Args:

req (str): request body

“”"

return req

  1. 上述代码不符合咱们的需求,完全替换为以下内容:

def handle(req):

array = req.replace(‘\n’, ‘’).split(‘,’)

rlt = 0

for i in array:

rlt += int(i)

return rlt

  1. 回到add.yml所在目录,执行以下命令开始构建函数:

faas-cli build -f ./add.yml

  1. 如下所示,开始在本地构建docker镜像,正常情况下可以构建成功:

Step 29/29 : CMD [“fwatchdog”]

—> Running in 94b3e80d0df2

Removing intermediate container 94b3e80d0df2

—> 5e6c22fa838d

Successfully built 5e6c22fa838d

Successfully tagged bolingcavalry/add:latest

Image: bolingcavalry/add:latest built.

[0] < Building add done in 62.81s.

[0] Worker done.

Total build time: 62.81s

  1. 查看本地镜像,确定是刚刚构建的:

[root@node1 faas-template]# docker images|grep add

bolingcavalry/add latest 5e6c22fa838d 4 minutes ago 88.4MB

关于OpenFaaS访问镜像

  1. 此时要关注的是K8S环境如何能访问到此镜像;

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

10836991736)]
[外链图片转存中…(img-1SGhMMaH-1710836991737)]
[外链图片转存中…(img-no5FxPV6-1710836991737)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-9Yz7xrZH-1710836991737)]

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值