欢迎访问我的GitHubhttp://github.com/zq2599/blog_demos
内容:所有原创文章分类和汇总,及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
本篇概览本文是《OpenFaaS实战》系列的第四篇,经历了前三篇快节奏操作,咱们对OpenFaaS有了基本了解,至少部署和开发是轻车熟路,现在要放慢脚步夯实基本功,扫除知识盲点;本篇目标是掌握template(模板)有关知识,包括以下内容:基本命令使用第三方模板自己制作模板仓库注意事项从上面的概览可见,本篇内容不多但很基础很重要,接下来打开终端动手练习吧;关于简化命令如下所示,faas其实就是faas-cli的链接,因此,平时输入命令用faas更简单:
[root@node1 template] ls -l /usr/local/bin/faaslrwxrwxrwx. 1 root root 23 11月 19 11:06 /usr/local/bin/faas -> /usr/local/bin/faas-cli基本命令获取所有官方模板:faas template pull执行完毕后,当前目录下出现名为template的文件夹,里面是所有官方模板
[root@node1 21] lstemplate[root@node1 21] cd template/[root@node1 template] lscsharpdockerfilegojava11java11-vert-xnodenode12php7pythonpython3python3-debianruby[root@node1 template] cd ..[root@node1 21] tree template/template/├── csharp│├── Dockerfile│├── function││├── Function.csproj││└── FunctionHandler.cs│├── Program.cs│├── root.csproj│└── template.yml├── dockerfile│├── function││└── Dockerfile│└── template.yml...查看官方模板列表:faas template store list返回信息如下(太多了,省略部分):
NAMESOURCEDESCRIPTIONcsharpopenfaasClassic C templatedockerfileopenfaasClassic Dockerfile templategoopenfaasClassic Golang templatejava8openfaasJava 8 templatejava11openfaasJava 11 templaterust-httpopenfaas-incubator Rust HTTP templatebash-streamingopenfaas-incubator Bash Streaming template...查看当前目录下可用的模板:faas new --list【from template template template模板】终端显示:
[root@node1 21] faas new --listLanguages available as templates:- csharp- dockerfile- go- java11- java11-vert-x- node- node12- php7- python- python3- python3-debian- ruby有了模板,就能创建函数,如下命令创建名为java-function的函数:faas-cli new --lang java11 java-function成功后,修改此文件添加业务代码:./src/main/Handler.java
前面执行faas template store list查看的时候,注意每个模板的SOURCE字段,如果是openfaas-incubator,例如rust-http这个模板,要使用以下命令来下载(多了个前缀openfaas-incubator):faas-cli template store pull openfaas-incubator/rust-http以上是模板的基本操作,此刻您可能有疑问:那些都是官方模板,第三方的模板怎么获取?另外如果我想自己做模板给别人用,又该如何操作?这些问题,接下来逐个解答;
使用第三方模板我在GitHub上做了个第三方模板仓库,来看如何使用,使用其他人的第三方模板都是这个套路;所谓模板仓库,其本质还是普通的GitHub仓库,只是里面的内容要符合OpenFaaS的要求;我的模板仓库地址是:http://github.com/zq2599/openfaas-templates,如下图:
文章插图
下载上述模板仓库的命令(注意,找个干净的文件夹执行命令):faas template pull http://github.com/zq2599/openfaas-templates可见就是把仓库地址作为参数放在整个命令的末尾
控制台操作如下,可见下载了一个template目录,里面有两个模板:dockerfile和java11extend:[root@node1 333] faas template pull http://github.com/zq2599/openfaas-templatesFetch templates from repository: http://github.com/zq2599/openfaas-templates at master2020/11/22 11:19:53 Attempting to expand templates from http://github.com/zq2599/openfaas-templates2020/11/22 11:19:58 Fetched 2 template(s) : [dockerfile java11extend] from http://github.com/zq2599/openfaas-templates[root@node1 333] lstemplate[root@node1 333] tree template/template/├── dockerfile│├── function││└── Dockerfile│└── template.yml└── java11extend├── build.gradle├── Dockerfile├── function│├── build.gradle│├── gradle││└── wrapper││├── gradle-wrapper.jar││└── gradle-wrapper.properties│├── gradlew│├── gradlew.bat│├── settings.gradle│└── src│├── main││└── java││└── com││└── openfaas││└── function││└── Handler.java│└── test│└── java│└── HandlerTest.java├── gradle│└── wrapper│├── gradle-wrapper.jar│└── gradle-wrapper.properties├── README.md├── settings.gradle└── template.yml16 directories, 17 files执行faas new --list看有哪些模板,果然是GitHub仓库中的两个:[root@node1 333] faas new --listLanguages available as templates:- dockerfile- java11extend使用模板创建函数:faas-cli new java11extend-function --lang java11extend -p bolingcavalry制作镜像:faas-cli build -f ./java11extend-function.yml控制台输出以下信息,提示镜像制作成功:
- 借条怎么写有法律责任模板 借条怎么写有法律效力 民间借条怎么写才有法律效力范本
- 爱眼护眼手抄报模板可打印 爱眼护眼手抄报 爱眼护眼主题手抄报
- 朝花夕拾手抄报模板 朝花夕拾手抄报 中秋节画100种画法
- 剪映怎么发模板? 剪映怎么发模板
- ppt背景图片怎么全部更换 ppt背景图片怎么设置 免费ppt背景模板
- 保护环境手抄报模板 保护环境手抄报内容 保护环境手抄报的句子
- 童心向党手抄报图 童心向党手抄报 喜迎二十手抄报模板
- 公司证明模板怎么写 证明模板怎么写
- 预防近视手抄报模板 预防近视手抄报 防近视绘画100张
- templater template template中文翻译