Serverless 工程实践 | 快速搭建 Kubeless 平台

简介: Kubeless 是基于 Kubernetes 的原生无服务器框架。其允许用户部署少量的代码(函数),而无须担心底层架构。

快速搭建 Kubeless 平台

Kubeless 简介

Kubeless 是基于 Kubernetes 的原生无服务器框架。其允许用户部署少量的代码(函数),而无须担心底层架构。它被部署在 Kubernetes 集群之上,并充分利用 Kubernetes 的特性及资源类型,可以克隆 AWS Lambda、Azure Functions、Google Cloud Functions 上的内容。

Kubeless 主要特点可以总结为以下几个方面。

  • 支持 Python、Node.js、Ruby、PHP、Go、.NET、Ballerina 语言编写和自定义运行时。
  • Kubeless CLI 符合 AWS Lambda CLI。
  • 事件触发器使用 Kafka 消息系统和 HTTP 触发器。
  • Prometheus 默认监视函数的调用和延时。
  • 支持 Serverless 框架插件。

由于 Kubeless 的功能特性是建立在 Kubernetes 之上的,因此对于熟悉 Kubernetes 的人来说非常容易部署 Kubeless。其主要实现是将用户编写的函数在 Kubernetes 中转变为 CRD(Custom Resource Definition,自定义资源),并以容器的方式运行在集群中。

Kubeless 部署

在已有的 Kubernetes 集群上进行 Kubeless 服务的创建:

export RELEASE=$(curl -s https://api.github.com/repos/kubeless/kubeless/releases/   latest | grep tag_name | cut -d '"' -f 4)kubectl create ns kubelesskubectl create -f https://github.com/kubeless/kubeless/releases/download/$RELEASE/   kubeless-$RELEASE.yaml

创建成功后如图所示

1.png

安装和配置 Kubeless

查看基本信息:

kubectl get pods -n kubeless

相关 Pod 信息如图所示

2.png

查看 Kubeless 相关 Pod

查看 Deployment 信息:

kubectl get deployment -n kubeless

其相关信息如图所示

3.png

查看 Kubeless Deployment 相关信息

查看 customresourcedefinition 信息:

kubectl get customresourcedefinition

其相关信息如图所示

4.png

查看 customresourcedefinition 信息

下载命令行工具

下载 Kubeless 工具,并解压:

export OS=$(uname -s| tr '[:upper:]' '[:lower:]')curl -OL https://github.com/kubeless/kubeless/releases/download/$RELEASE/kubeless_   $OS-amd64.zipunzip kubeless_$OS-amd64.zip

解压之后查看:

./bundles/kubeless_linux-amd64/kubeless

具体如图所示

5.png

使用 Kubeless 命令行工具

体验测试

创建测试代码 helloworld.py :

def hello(event, context):   print(event)   return event['data']

部署项目:

./bundles/kubeless_linux-amd64/kubeless function deploy hello-world --runtime   python3.6 --from-file helloworld.py --handler helloworld.hello

部署成功之后,查看项目信息:

kubectl get functions

函数列表如图所示

6.png

查看函数列表

查看实例函数:

./bundles/kubeless_linux-amd64/kubeless function ls

函数状态如图所示

7.png

触发函数:

./bundles/kubeless_linux-amd64/kubeless function call hello-world --data 'Hello   world!'

触发完成之后,看到输出结果:

8.png

查看实例中输出的日志,如图所示

9.png

在实例中查看日志

至此,我们在 Kubernetes 集群上成功地创建了 Kubeless 服务,并顺利地体验了 Kubeless 版的 Hello World 实现。

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并发编程实践之公平有界阻塞队列实现

简介: JUC 工具包是 JAVA 并发编程的利器。本文讲述在没有 JUC 工具包帮助下,借助原生的 JAVA 同步原语, 如何实现一个公平有界的阻塞队列。希望你也能在文后体会到并发编程的复杂之处,以及 JUC 工具包的强。 作者 | 李新然 来源 | 阿里技术公…

iOS App 启动优化

简介: 作为程序猿来说,“性能优化”是我们都很熟悉的词,也是我们需要不断努⼒以及持续进⾏的事情;其实优化是⼀个很⼤的课题,因为细分来说的话有⼤⼤⼩⼩⼗⼏种优化⽅向 ,但是切忌在实际开发过程中不能盲⽬…

apache1.3 php编译,安装Apache1.3.29 - Linux+Apache+Mysql+PHP典型配置详解_Linux教程_Linux公社-Linux系统门户网站...

2.安装Apache1.3.29。我没有选择安装Apache2.0是我对他还是不放心,因为网上最新公布的apache的漏洞基本上是针对2.0,当然大家可以自己选择安装相应的版本。我这里讲的都是采用DSO动态编译的方法编译Apache.至于有关apache的编译方法,可以参考…

前后端、多语言、跨云部署,全链路追踪到底有多难?

简介: 完整的全链路追踪可以为业务带来三大核心价值:端到端问题诊断,系统间依赖梳理,自定义标记透传。 作者 | 涯海 全链路追踪的价值 链路追踪的价值在于“关联”,终端用户、后端应用、云端组件(数据库…

供应商太多,怎么才能高效比价?

本篇文章暨 CSDN《中国 101 计划》系列数字化转型场景之一。 《中国 101 计划——探索企业数字化发展新生态》为 CSDN 联合《新程序员》、GitCode.net 开源代码仓共同策划推出的系列活动,寻访一百零一个数字化转型场景,聚合呈现并开通评选通道&#xff0…

7张图揭晓RocketMQ存储设计的精髓

简介: RocketMQ 作为一款基于磁盘存储的中间件,具有无限积压能力,并提供高吞吐、低延迟的服务能力,其最核心的部分必然是它优雅的存储设计。 存储概述 RocketMQ 存储的文件主要包括 Commitlog 文件、ConsumeQueue 文件、Index 文…

庖丁解InnoDB之UNDO LOG

简介: Undo Log是InnoDB十分重要的组成部分,它的作用横贯InnoDB中两个最主要的部分,并发控制(Concurrency Control)和故障恢复(Crash Recovery),InnoDB中Undo Log的实现亦日志亦数据…

Ampere Altra Max 对比测试数据公布,性能能效双领先

在云计算领域,发展创新的脚步永不停歇。十多年前,伴随着虚拟化及高速网络的发展和成熟,云计算应运而生。在将工作负载迁移到云端的过程中,为了更好地适应云环境,软件架构得以重建,就如同搬进新家时&#xf…

钉钉宜搭入选Forrester《中国低代码平台市场分析报告》

简介: 🎉 最新:钉钉宜搭入选Forrester《中国低代码平台市场分析报告》! 11月12日,全球知名研究机构Forrester发布《中国低代码平台市场分析报告(The State Of Low-Code Platforms In China)》&…

被自己的行为蠢哭了,意识到原因后真香!

作者 | 零一来源 | 前端印象这两天在学习 node 相关的知识时,做出了一些错误的行为~在做用户登录相关业务时涉及到了 cookie、session 的存取,一搜就找到了 express-session 这个中间件,真香!配几个配置就可以自动生成 cookie、se…

一种命令行解析的新思路(Go 语言描述)

简介: 本文通过打破大家对命令行的固有印象,对命令行的概念解构后重新梳理,开发出一种功能强大但使用极为简单的命令行解析方法。这种方法支持任意多的子命令,支持可选和必选参数,对可选参数可提供默认值,支…

云原生 DevOps,模型化应用交付能力很重要

简介: DevOps 文化及其支撑其落地实践的自动化工具与平台能力在云原生架构渐为普及的背后,发挥了关键的价值。 撰稿:溪洋 云原生正在成为企业业务创新和解决规模化挑战的加速器。 云原生带来的变革绝不限于基础设施和应用架构等技术层面&a…

如何在 Kubernetes Pod 内进行网络抓包

作者 | Addo Zhang来源 | 云原生指北使用 Kubernetes 时,经常会遇到一些棘手的网络问题需要对 Pod 内的流量进行抓包分析。然而所使用的镜像一般不会带有 tcpdump 命令,过去常用的做法简单直接暴力:登录到节点所在节点,使用 root …

EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级

简介: EDAS 正式来到 4.0 时代,发布多项重磅新能力;同时联合新产品—云原生应用设计开发平台 ADD 1.0,一起发布云原生应用研发&运维 PaaS 产品家族,助力企业应用架构现代化升级。 作者:安绍飞 前言 …

如何用20分钟就能获得同款企业级全链路灰度能力?

简介: MSE 微服务引擎将推出服务治理专业版,提供开箱即用且完整专业的微服务治理解决方案,帮助企业更好地实现微服务治理能力。如果您的系统也可以像本文描述的那样,快速具备完整的全链路灰度能力,并基于该能力进行进一…

云桌面场景化升级新作,锐捷网络发布全新远程办公“U空间”

编辑 | 宋慧 出品 | CSDN云计算 远程办公真的来了。 在硅谷的科技公司远程办公常态化之后,国内的科技大厂也在跟进中,如携程正式宣布的32混合办公模式。根据iiMedia Research艾媒咨询数据显示,在2020年新春期间,中国远程办公人员…

细说双 11 直播背后的压测保障技术

简介: 阿里云 PTS 站在双 11 巨人的肩膀上,是阿里全链路压测的延伸。PTS 通过伸缩弹性,轻松发起用户百万级别的流量,免去机器、人力成本;PTS 对流量的控制,能够实时脉冲,精准控制; 是…

【SpringCloud-Alibaba系列教程】14.一文教你入门RocketMQ

<本文已参与 RocketMQ Summit 优秀案例征文活动&#xff0c;点此了解详情> MQ简介 MQ(Message Queue)是一种跨进程的通信机制&#xff0c;用于消息传递。通俗点说&#xff0c;就是一个先进先出的数据结构。 MQ应用场景 异步解耦 很多场景不使用MQ会产生各个应用见紧密…

独家 | 2021双11背后的数据库硬核科技

简介&#xff1a; 今年双11&#xff0c;阿里云数据库技术有什么不一样&#xff1f; 2021年&#xff0c;是阿里巴巴首个100%云上双11 双11峰值计算成本 相比去年下降50% 作为全球规模最大的数字工程之一 双11无疑是对阿里技术人的“大考” 在又一次技术“严考"面前 …

前沿分享|阿里云资深技术专家 魏闯先:AnalyticDB PostgreSQL年度新版本发布

简介&#xff1a; 本篇内容为2021云栖大会-云原生数据仓库AnalyticDB技术与实践峰会分论坛中&#xff0c;阿里云资深技术专家 魏闯先关于“AnalyticDB PostgreSQL年度新版本发布”的分享。 本篇内容将通过三个部分来介绍AnalyticDB PG年度新版本发布。 一、AnalyticDB PG云原生…