导航

在Kubernetes上实现无服务器化的五种方式

网络 2020-04-05

我们常听说的“无服务器化”,有时也被称为“事件驱动的计算(event-driven compute)”或被叫做“功能即服务(functions as a service,FaaS)”。其背后的思想是:为了响应各种事件,而通过动态分配资源,以调用或运行各项微服务(microservices)的功能。无服务器计算平台能够让应用程序人员更专注于应用程序本身,而不再是基础架构、及其所有的管理细节。

如今,大多数云服务提供商都能够提供相应的无服务器平台。当然,您也可以通过两个要素来构建自己的平台。第一个是:Kubernetes,它是一种容器编排系统。作为一个标准化的平台,它能够构建可扩展的组件化应用程序。第二个是在Kubernetes中构建无服务器应用模式的任意系统。

目前,大多数Kubernetes的无服务器框架都具有以下的共同特点:

在Kubernetes上构建无服务器的一个主要优点是:能够获得对于底层平台的更大控制权。通过Kubernetes,您可以创建一个满足自身需求的无服务器平台,从而让Kubernetes运维人员来负责该基础设施,而让开发人员更专注于必要的代码编写。

下面,我们向您介绍在Kubernetes上实现无服务器功能的五大主流项目。它们分别是:

Fission

Fission是由Kubernetes的子公司Platform 9创建和维护的。它的主要特点是:您无需构建容器,只要提供定义文件,即可创建应用程序。

Fission的安装并不一定需要Helm chart。通常,它具有两个版本:全面版,带有消息队列、以及支持日志的InfluxDB;而精简版,只能提供基本的功能与服务。前者可以被专门部署在生产环境中,而后者仅供用户小范围内试用。

为了将代码添加并部署到Fission中,您可以使用基于YAML的规范文件。同时,Fission的命令行工具能够帮助您,创建针对不同功能和路由入口触发点的YAML文件。另外,这些规范文件还允许您提供各种环境变量、辅助容器、卷、以及Kubernetes的容错控制代码。

当然,Fission还会提供“工作流(workflow)”。通过安装Helm chart,这些工作流将会从一个函数输出并传递给另一个函数,哪怕两个功能函数并非使用的是同一种编程语言。值得注意的是,为了降低系统的开销,工作流系统默认支持诸如:整数、通用字节流等许多常见的原始二进制类型。不过,每个功能函数在进行格式转换输出与提交时,还是会产生一定的性能代价。

此类FaaS的一个缺点是:当我们首次调用某个功能函数时,其关联的容器会出现明显的延迟。因此,Fission需要通过对容器进行“预热”,来最小化此类延迟。

此外,Fission能够为开发人员和管理员提供的其他便利,还包括:将服务部署到无法访问外部互联网的集群中,按需将代码重新热加载(hot-reloaded)到集群里,以及记录与回放功能函数的各项活动,从而辅助开发人员进行调试。而且,由于Fission项目拥有自由的Apache许可证,因此用户可以免费对它进行修改。

Knative

最初是由谷歌创建的Knative,能够协助用户在Kubernetes中运行各种无服务器的应用。它主要关注的是,在生产环境中无服务器部署的通用模式。Knative在有效管理和利用多个Kubernetes组件方面,积累了许多丰富的专业知识。

为了管理Kubernetes,Knative除了需要路由系统和诸如Istio之类的服务网格之外,还会借用到Ambassador等其他选项。虽然,这会带来一些额外的设置工作,但是该项目的详细指南已经包含了各种云服务,以及诸如vanilla Kubernetes的环境说明。

通过利用或扩展现有的Kubernetes工具和功能,Knative能够通过YAML文件和为您交付Docker容器的方式,来配置各种应用程序与函数。而对于各种定义的添加、修改或删除则可通过kubectl命令行来实现。用户既可以使用Grafana来获取Knative的应用参数,又可以使用Knative自带的autoscaler、或其他与Kubernetes兼容的scaler,来实现扩展。

不过,Knative仍处于深入开发阶段,它的许多专有工具也还处于初级阶段。其中,knctl是一款专门的Knative命令行工具。它可以方便您使用Kubernetes的其他工具,来管理Knative。而ko工具则可以被用于在Knative构建Go语言的应用,并削减容器的构建步骤。

Kubeless

由Bitnami创建的Kubeless,能够帮助开发人员轻松地安装各种常见的Web应用程序栈。Kubeless使用Kubernetes原生的各种定制化资源定义(Custom Resource Definitions),来处理各种功能函数,我们可以将它理解为Kubernetes metaphor和Kubeless各项功能之间的抽象层。

Kubeless不但能够支持.NET、Java、Python、Node.js、PHP、Ruby等大多数编程语言,而且支持为云原生开发的Ballerina语言的运行时(runtimes)平台。此处的运行时是指各种Docker镜像。当然,Kubeless也拥有一种特定的包格式,可使用Dockerfiles来构建其自定义的运行时。

Kubeless的另一个便利性体现在它的CLI上。该CLI与AWS Lambda的CLI有些类似。使用它,您可以在移出AWS Lambda时,仍保留各种现有的管理脚本,而且不必学习一套全新的命令集。Kubeless还可以被作为无服务器框架的插件,实现在各种架构上构建无服务器应用。

OpenFaaS

OpenFaaS的宗旨是:让开发人员不再为部署Docker容器而烦恼。因此,它既可以被部署到Kubernetes,也可以用于本地测试或低需求的Docker Swarm集群中。您可以使用OpenFaaS CLI来构建、推送、以及部署各种Docker镜像到集群里,以运行相应的功能。虽然您完全可以自行发布,但是您也可以使用它预先用Python、Node.js、.NET、Ruby、Java或PHP 7编写的现成模板,来部署应用程序。另外,OpenFaaS CLI的内置web UI还允许您创建各种新的功能,以及管理集群中的密钥。

作为OpenFaaS的另一个版本,OpenFaaS Cloud为开发人员重新打包了OpenFaaS的各项特性,集成了GitHub和自托管版本的GitLab,提供了CI/CD,密钥管理,HTTPS,以及向Slack的事件反馈能力。OpenFaas Cloud是一款免费的开源产品,而它的托管版本,目前也仍然可以被免费使用。

OpenWhisk

Apache OpenWhisk可谓一个通用的无服务器平台。OpenWhisk不但支持在Kubernetes上运行容器,还支持Mesos和Docker Compose。OpenWhisk提供了针对Kubernetes的Helm charts工具,以部署各种应用。大家比较熟悉的IBM Cloud Functions就是基于OpenWhisk项目的,因此它可以直接使用OpenWhisk CLI的各种命令。

不同于其他大多数无服务器的Kubernetes框架,OpenWhisk是用Scala语言编写而成,并非用于编写Kubernetes和Docker的Go语言。所以您可能需要花点时间,去了解一下它的编程思想。

在应用运行时选项方面,OpenWhisk封装了Java、Node.js、Python、Ruby、PHP和.NET。另外,它的高级语言选项还包括:Scala、Ballerina、Swift、以及Rust。由于其运行时属于Docker容器类型,因此您很容易通过它来实现自己的应用。

OpenWhisk在部署方面的一个便捷特性是“zip actions”。它可以使用代码包的清单文件,将某个代码的zip包、以及多个辅助文件指向OpenWhisk。而OpenWhisk则可据此创建一项后续操作。同时,OpenWhisk CLI还可以通过工具将代码的目录树转换成一个归档文件。它的服务包目录,能够方便您将应用插入到诸如GitHub、Slack、Apache Kafka或Jira等常见的第三方产品之中。

原文标题:5 ways to do serverless on Kubernetes,作者:Serdar Yegulalp



声明:内容来自搜狐,该文观点仅代表作者本人,本站仅提供信息存储空间服务。如果需要删除请联系站长;


雅博网址
色彩强烈耀眼且张力十足,日本画家铃木英人的绘画作品 洛阳研学推荐——千年雄关看函谷 两项民间文化盛会相遇宝安!民俗荟萃,山花怒放! 天河公园喊你来听新年音乐会啦,用音乐点亮你的2020 “青年榜样”张虹:做梦还会回到队里 【关注首届冰雪运动会开幕式】首次带妆联排 精彩即将绽放! 超前点映今日开启! 《妙先生》路演收官获五千“自来水” 此片致我们终于逝去的2019。 河北省农业品牌创新创意设计大赛获奖名单揭晓 生性凉薄,这是我见过最好的生活方式 流传千古的3首唐诗,写出了喝酒的3种状态,让人拍案叫绝 美国科学院院刊刊发中科院海洋所软体动物发育演化研究新进展 2020 你所有的可能性都离不开香槟 福袋!来紫禁城,立刻拥有鼠年限定! 涨知识丨电影《误杀》中的法律知识 大洋诗歌:我们被谁篡改了生命里不可省略的剧情? 德国绘画:美丽的女性,美好的生活 微信新功能背后暴露成年人社交的潜规则:不好意思我们的友谊只能到这了 电影《蓝色百褶裙》今日公映 三大看点温暖10年代最后一个冬季 20年前,林超贤拍了一部“荒诞”黑帮片,张耀扬“表白”梁家辉 开年剧热,谁将抢先占领2020年的寒假档! 心理测试:凭感觉选出你最想吃的蛋糕?测你能白手起家变富翁吗? 被影评吹爆的禁欲爱情片,太有味儿了 《小妇人》导演开发音乐题材新片,或以踢踏舞为关键元素

ǚ转让太阳能设备ǚ,ǚ机械设计与制造毕业论文范文ǚ,ǚ乡村爱情故事三部35ǚ,ǚ汉口到商丘高铁时刻表ǚ,ǚ牛奶蜂蜜饼干的做法ǚ,ǚ北京各地天气ǚ,ǚ没有可用的音频设备什么意思ǚ,ǚ流行女装搭配ǚ,ǚ当代名人成长故事100篇ǚ,ǚ论文发表需要经过哪些程序ǚ,ǚ水洗厂污水处理设备ǚ,ǚ积家手表维修售后站ǚ,ǚ福州到广州航班时刻表ǚ,ǚ穿越小说吧免费阅读ǚ,ǚ洗衣机电磁阀测试设备ǚ,ǚ淘宝网女装雪奥羽绒服ǚ,ǚ有关目标议论文ǚ,ǚ严宽演过的所有电视剧有哪些ǚ,ǚ银川美食ǚ,ǚ精致卫生间装修风格ǚ,ǚ空心菜种植图片大全ǚ,ǚ2017国内最新女同电影ǚ,ǚ淘宝网女装采轩ǚ,ǚ单级反渗透纯净水设备ǚ,ǚ春天的故事歌词赏析ǚ,ǚ香菇炒鸡做法大全家常菜ǚ,ǚ上海人气美食ǚ,ǚ两性情感故事 口述ǚ,ǚ宝格丽男士手表价格ǚ,ǚ查重通过以后修改论文ǚ,ǚ胡狼新疆菜食府ǚ,ǚ清风dj电音慢摇串烧ǚ,ǚ舟山干货鱿鱼丝价格ǚ,ǚ贵州航空职业学校在哪ǚ,ǚ宝安区酒店设备回收公司ǚ,ǚ欧米茄高仿手表550ǚ,ǚ四川烹饪专科学校好吗ǚ,ǚ儿童勇敢故事大全50字ǚ,ǚ胶带机生产设备厂家ǚ,ǚ物流中的设施设备ǚ,ǚ衢州韩语翻译公司ǚ,ǚ环保部门环保督察整改方案ǚ,ǚ沈阳交通技术学校ǚ,ǚ论文查重免费ǚ,ǚdj92cc舞曲网ǚ,ǚ取向狙击小说在线阅读ǚ,ǚ许昌哪个学校招大锅菜厨师ǚ,ǚ南宁木雅办公家具厂ǚ,ǚ三本书法艺术学校ǚ,ǚ童话哲理长篇故事ǚ,ǚ叮当音乐dj网ǚ,ǚ有关于**者的故事ǚ,ǚ浙江长城搅拌设备ǚ,ǚ空气能热水器功率ǚ,ǚ灵寿县现任环保局班子ǚ,ǚ家居装修材料价格ǚ,ǚ金地紫乐府装修案例ǚ,ǚ黄梅戏经典老电影全集ǚ,ǚ专门偷菜的校友ǚ,ǚ中国的名人故事ǚ,ǚ大明王朝1566演员表ǚ,ǚ富锦市职业技术学校校长张庆娟ǚ,ǚ无塔供水设备铭牌ǚ,ǚ牛奶和蜂蜜相克吗ǚ,ǚ劲暴dj打碟高清图片ǚ,ǚ上市公司资产负债表分析ǚ,ǚ主要职责英文翻译ǚ,ǚ太空生活趣事多的童话故事ǚ,ǚ吞噬小说网ǚ,ǚ娱乐音响设备ǚ,ǚ龙岩韩语翻译公司ǚ,ǚ北京爱情故事第16集ǚ,ǚ一路向西好看电影网ǚ,ǚ跑商价格表ǚ,ǚ办公室装修一个月就搬进去ǚ,ǚ智能运动手表品牌ǚ,ǚpsp小说下载网站ǚ,ǚ中老年女装阔腿裤2018ǚ,ǚ红烧腐竹的做法大全家常菜ǚ,ǚ最新电视剧女管家ǚ,ǚ淘宝直通车改版了吗ǚ,ǚ电影天堂成龙十二生肖ǚ,ǚ吴姐姐讲历史故事 mp3ǚ,ǚ一房一厅装修效果图ǚ,ǚ2018包装设备展ǚ,ǚ毕业双向选择推荐表ǚ,ǚ好看的青涩爱情电影ǚ,ǚlofor女士手表多少钱ǚ,ǚ美国恐怖故事第五季07ǚ,ǚ嗨嗨网dj水晶ǚ,ǚ店铺淘宝联盟怎么开通ǚ,ǚ玛丝菲尔女装折扣店ǚ,ǚ正方形的便便故事书ǚ,ǚck手表后盖安装视频ǚ,ǚ湖南路台湾美食节ǚ,ǚ湖南省表ǚ,ǚ豆瓣高清电影 btǚ,ǚ海军北海舰队航空兵军网ǚ,ǚ美食网页制作素材ǚ,ǚ国际论文网站有哪些ǚ,ǚ山东蓝海职业学校吧ǚ,ǚck手表正品多少钱ǚ,ǚ绍兴艺术学校就业好吗ǚ,ǚ温州7日天气ǚ,ǚ千疮百孔打一人名ǚ,ǚomega星座石英女表ǚ,ǚ新中国伟人故事小报ǚ,ǚ景都商务酒店 南宁ǚ,ǚ南宁冬典2018电子购票ǚ,ǚ电影电视剧bt下载ǚ,ǚ王子与公主的爱情故事图片ǚ,ǚdj光头现场打碟ǚ,ǚ曹妃甸振鹏新能源汽车ǚ,ǚ大连市轻工业学校爆料ǚ,ǚ非常故事汇甩不掉的温柔ǚ,ǚ桑乐太阳能宣传车ǚ,ǚ回娘家的小故事ǚ,ǚ**小城故事ǚ,ǚ经典电影怒海轻骑ǚ,ǚ小学生科技小论文精选ǚ,ǚlv女装加盟ǚ,ǚ十二生肖对冲表号码ǚ,ǚ乡村爱情故事 hdtvǚ,ǚ西安未来5天天气ǚ,ǚ彩云之南dj重低音电音ǚ,ǚ雷达手表调时间ǚ,

雅博平台
此外,Fission能够为开发人员和管理员提供的其他便利,还包括:将服务部署到无法访问外部互联网的集群中,按需将代码重新热加载(hot-reloaded)到集群里,以及记录与回放功能函数的各项活动,从而…
中国新闻网是知名的【主关键词】网站,也是全球互联网中文新闻资讯最重要的原创内容供应商之一。依托中新社遍布全球的采编网络,每天24小时面向广大网民和网络媒体,快速、准确地提供文字、图片、视频等多样化的资讯服务。在【次关键词】方面,中新网动态新闻及时准确,解释性报道角度独特,稿件被国内外网络媒体大量转载。
国际新闻
进入国际频道
最新发布
文化导航
首页|网站地图|网站地图