当前位置:网站首页>OpenFaaS实战之四:模板操作(template)
OpenFaaS实战之四:模板操作(template)
2022-04-23 14:17:00 【InfoQ】
- go
- java11
- java11-vert-x
- node
- node12
- php7
- python
- python3
- python3-debian
- ruby
- 有了模板,就能创建函数,如下命令创建名为java-function的函数:
- 前面执行faas template store list查看的时候,注意每个模板的SOURCE字段,如果是openfaas-incubator,例如rust-http,就要使用以下命令来下载(多了个前缀openfaas-incubator):
[](()使用第三方模板
- 我在GitHub上做了个第三方模板仓库,来看如何使用,使用其他人的第三方模板都是这个套路;
- 所谓模板仓库,其本质还是普通的GitHub仓库,只是里面的内容要符合OpenFaaS的要求;
- 我的模板仓库地址是:https://github.com/zq2599/openfaas-templates ,如下图:
- 下载上述模板仓库的命令(注意,找个干净的文件夹执行命令):
- 控制台操作如下,可见下载了一个template目录,里面有两个模板:dockerfile和java11extend:
- 执行faas new --list看有哪些模板,果然是GitHub仓库中的两个:
- dockerfile
- java11extend
- 使用模板创建函数:
- 制作镜像:
- 接下来将镜像推送到镜像仓库、部署函数、验证等操作请参考前文[《OpenFaaS实战之三:Java函数》]((),里面有详细的步骤,就不在本文中展开了,下面的图片证明此模板做出的函数可以正常部署和运行:
[](()自己制作模板仓库
- 在GitHub上有个公共仓库;
- 所有内容必须放在master分支;
- 仓库内要有名为template的文件夹;
- template文件夹里面,是每个模板自己的文件夹,如下图,是两个模板:
- 至于每个模板的文件夹里的内容,这就涉及到模板开发了,相关内容太多,就不在本篇展开了,只说一下重点:template.yml是函数描述文件,必须要有,然后是Dockerfile,这是用来构建镜像用的,至于其他内容和各种模板自身特点有关,在制作镜像时会用到,以java11为例,含有gradle、java相关的文件,这都是构建java工程时会用到,而java工程的构建结果又会被放入docker镜像中,阅读Dockerfile的内容可以详细的看到这一切;
- 当下为了快速做出模板,可以把官方模板的内容复制过来,改改就能用,地址:https://github.com/openfaas/templates
- 仓库准备好之后,任何人都可以通过类似以下命令来下载仓库使用了:
[](()注意点
- 现在GitHub上新增的仓库,默认分支已经不是master了,而是mian,但fass-cli命令认准的是master分支,所以请您确保自己的仓库文件内容都在master分支,而不是main
- 执行命令查看官方模板时,可以看到java8的模板,如下图红框,原以为这是java开发者的福音:
- 以上就是模板相关的操作了,本篇作为基础还是挺重要的,建议您多动手熟悉相关命令,为后面的深入学习打好基础;
版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://xie.infoq.cn/article/92d5ba3826e61b87dbd7e0892
边栏推荐
- How to do a project easily
- Returns the subscript after array sorting
- gif转为静态图片处理
- ThreadGroup ThreadGroup implémente l'interface threadfactory en utilisant la classe Introduction + Custom thread Factory
- Redis源码分析之PSYNC同步
- 在电视屏幕上进行debug调试
- 操作系统常见面试题目:
- man man随记和crontab的@reboot用法
- Date的after时间判断
- 单相交交变频器的Matlab Simulink建模设计,附Matlab仿真、PPT和论文等资料
猜你喜欢
关于在vs中使用scanf不安全的问题
TLS/SSL 协议详解 (30) SSL中的RSA、DHE、ECDHE、ECDH流程与区别
MQ-2和DS18B20的火灾温度-烟雾报警系统设计,51单片机,附仿真、C代码、原理图和PCB等
flannel 原理 之 TUN模式
KVM learning resources
统信UOS卸载php7.2.24,安装php7.4.27 ;卸载再安装为PHP 7.2.34
ArrayList集合基本使用
C语言知识点精细详解——初识C语言【1】——你不能不知的VS2022调试技巧及代码实操【1】
处理 mkdir:无法创建目录“aaa“:只读文件系统
Man man notes and @ reboot usage of crontab
随机推荐
单片机的函数信号发生器,输出4种波形,频率可调,原理图,仿真和C程序
LLVM - 生成 if-else 以及 PH
TLS/SSL 协议详解 (30) SSL中的RSA、DHE、ECDHE、ECDH流程与区别
C语言知识点精细详解——数据类型和变量【1】——进位计数制
Qt实战:云曦聊天室篇
Basic regular expression
处理 mkdir:无法创建目录“aaa“:只读文件系统
如何轻松做好一个项目
API Gateway/API 网关(二) - Kong的使用 - 负载均衡Loadbalance
js 抛物线运动方法封装
微信小程序轮播图swiper
Web page, adaptive, proportional scaling
STD:: map and STD:: vector memory free
Qt界面优化:Qt去边框与窗体圆角化
krpano全景之vtour文件夹和tour
Wechat applet rotation map swiper
电子秤称重系统设计,HX711压力传感器,51单片机(Proteus仿真、C程序、原理图、论文等全套资料)
線程組ThreadGroup使用介紹+自定義線程工廠類實現ThreadFactory接口
Tongxin UOS uninstall php7 2.24, install php7 4.27 ; Uninstall and then install PHP 7.2.34
man man随记和crontab的@reboot用法