Fission分析

生态廊道构建实战指南(1)—Linkage Mapper与Circuitscape环境配置详解 本文是生态廊道构建实战指南的第一部分,详细讲解了如何成功搭建Linkage Mapper与Circuitscape的分析环境。核心在于严格遵循ArcGIS版本匹配原则,并彻底避免使用中文安装路径,以确保两者能在ArcGIS平台上顺畅协作,为生态安全格局研究奠定坚实的工具基础。 阅读详情

Fission介绍
Fission 是一个构建在 Kubernetes 之上的 FaaS框架。Fission 利用Kubernetes 集群管理、调度、网络管理等,将容器编排功能留给 Kubernetes,而 Fission 就专注于 FaaS 特性。Fission通过函数轻松的在 Kubernetes 上创建服务。Fission工作在源码级别函数和抽象的容器镜像之上,简化了 Kubernetes 的学习曲线,让你不用深入了解 Kubernetes 就能创建出有用的服务。

Fission架构


Fission 被设计为一系列的微服务。Controller 负责追踪函数、HTTP 路由、事件触发器和环境镜像。poolmgr 负责管理空闲的环境容器池、将函数加载到这些容器当中、以及杀死空闲的函数实例。Router 接收 HTTP 请求,并将他们路由到函数实例上,如果需要会向 poolmgr 请求新的实例。
Controller 提供 Fission API,所有其他组件通过关注 Controller 来更新。Router 被暴露为 Kubernetes 的服务,可能是 LoadBalancer 类型或 NodePort 类型,依赖于 Kubernetes 集群在哪里托管。
当 Router 获得请求,它会查找缓存,看是否有一个路由过去的服务。如果没有,它会查找匹配请求的函数,并且向 poolmgr 请求一个新的实例。poolmgr 有一个空闲 pods 池,它会选择一个 pod,将函数加载进去(将请求发送到 pod 的容器中),并将 pod 地址返回给 Router。Router 将请求代理到这个pod。这个 pod 也会被缓存给随后的请求,如果空闲了好几分钟,那就会被杀掉。

Fission部署
本文部署的是Fission 0.7.2版本,环境采用的是Centos7。

Fission是基于Kubernetes的,所以你需要部署一套Kubernetes,本文采用的是Kubernetes1.7.6版本。

Fission官方提供了Helm的安装包,所以需要先安装Helm。
$ curl -LO https://storage.googleapis.com/kubernetes-helm/helm-v2.7.0-linux-amd64.tar.gz

$ tar xzf helm-v2.7.0-linux-amd64.tar.gz

$ mv linux-amd64/helm /usr/local/bin

$ helm init


备注:如果helm安装完执行报错: Error: Get
http://localhost:8080/api/v1/n ... 5%21D(MISSING)TILLER:
dial tcp [::1]:8080: connect: connection refused
解决方案:https://blog.youkuaiyun.com/lindao99 ... 77702
helm安装成功后,使用helm安装Fission,首先下载Fission的安装包。
$ wget https://github.com/fission/fission/releases/download/0.7.2/fission-all-0.7.2.tgz

$ tar zxvf fission-all-0.7.2.tgz


如果Kubernetes没有配置PSV,可以修改Fission的配置文件values.yaml
## Persist data to a persistent volume.
persistence:
enabled: false  //改成false
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
##   set, choosing the default provisioner. (gp2 on AWS, standard on
##   GKE, AWS & OpenStack)
##
# storageClass: "-"
accessMode: ReadWriteOnce
size: 8Gi


部署Fission。
$ helm install --namespace fission /path/to/fission-all


备注:官方提供的Fission需要通过ServiceAccount访问Kubernetes
API,所以Kubernetes需要开启ServiceAccount。另外官方部门的Fission内部通信是通过Service的DNS域名进行访问的,所以Kubernetes需要安装skydns。
Fission部署成功后,可以查询Pod。
$ kubectl get pods --namespace fission
NAME                              READY     STATUS    RESTARTS   AGE
buildermgr-3874540323-hsq2d       1/1       Running   0          2h
controller-3683511688-cgn0c       1/1       Running   0          2h
executor-3903360216-nwqdp         1/1       Running   0          2h
influxdb-80493873-1n0rq           1/1       Running   0          2h
kubewatcher-2231011853-mpqsn      1/1       Running   0          2h
logger-4hztq                      1/1       Running   0          2h
mqtrigger-3872772923-2vnw2        1/1       Running   0          2m
nats-streaming-1411412910-75mtd   1/1       Running   0          2h
router-3276981854-w40r1           1/1       Running   0          2h
storagesvc-1407456361-756w4       1/1       Running   0          2h
timer-1701838563-4w7fs            1/1       Running   0          2h


最后安装Fission客户端。
$ curl -Lo fission https://github.com/fission/fission/releases/download/0.7.2/fission-cli-linux && chmod +x fission && sudo mv fission /usr/local/bin/


Fission使用
1.创建Environment,Environment是Function的执行环境,Fission 选择了一种混合的方法—-容器镜像包含函数所需的动态装载器。这种方法允许大多数用户纯粹从源码级别来使用 Fission,但需要时也允许他们自定义容器镜像。在 Fission 中,这些镜像被称作“环境镜像”,包含了编程语言(比如说 NodeJS 或者 Python) 所需的运行环境,一系列通用的依赖和为函数准备动态加载器。

通过命令创建一个node的环境,并且设置资源限制,
$ fission env create --name node --image fission/node-env:0.4.0 \
--mincpu 40 --maxcpu 80 --minmemory 64 --maxmemory 128 --poolsize 4


这创建成功后可以通过命令查询:
$ fission env list
NAME UID                                  IMAGE                  POOLSIZE MINCPU MAXCPU MINMEMORY MAXMEMORY EXTNET GRACETIME
node 55e...                                 fission/node-env:0.4.0 4        40m    80m    64Mi      128Mi     false  360


另外可以查询到Kubernetes创建了相关的Pod
$ kubectl get pods --namespace fission-function
NAME                                                              READY     STATUS    RESTARTS   AGE
node-55e8485e-54f5-11e8-bb42-00266cff0048-yhircw03-1820297p7jdw   2/2       Running   0          4m
node-55e8485e-54f5-11e8-bb42-00266cff0048-yhircw03-1820297r97kw   2/2       Running   0          4m
node-55e8485e-54f5-11e8-bb42-00266cff0048-yhircw03-1820297s7vs0   2/2       Running   0          4m


2.创建Function,Function是Fission的核心,Function就是需要执行的业务代码。

准备一个简单的node代码hello.js。

module.exports = async function(context) {
return {
    status: 200,
    body: "Hello, world!\n"
};
}

调用命令指定代码来创建Function:
$ fission fn create --name hello --code hello.js --env node --executortype poolmgr


最好可以测试下Function
$ fission fn test --name hello
Hello, world!


3.创建Trigger,FaaS是一种事件驱动框架,Trigger也就是事件的触发器,Fission中支持HTTP触发器、Time触发器和MQ触发器。其中HTTP触发器类似AWS APIGateway+Lambda。

创建一个HTTP访问触发,。
$ fission ht create --url /hello --method GET --function hello


然后访问router
$ curl 10.254.61.137/hello
Hello, world!


参考
https://docs.fission.io/0.7.2/usage/
https://www.kubernetes.org.cn/2523.html
 

EPLAN工具栏隐藏技巧:这样调整让你的工作区更清爽 本文深入探讨了如何通过深度自定义EPLAN工具栏来打造高效清爽的工作区。文章不仅介绍了基础的隐藏技巧,更重点讲解了如何通过创建动态工作区域、构建个人专属工具栏以及与快捷键协同,系统性地优化设计工作流,从而显著提升电气设计效率。 阅读详情

相关推荐

loadStop的原因导致的SSUSP

Total内存值是可用来调度的可用内存,当前可用内存为 0M。 loadSched和loadStop的阈值是根据 Total 内存和节点内存来做限制的。 loadStop 50G,现在有大量作业SSUSP,说明之前某个时间点该节点内存可能有低于50G的时候,导致作业SSUSP,具体是否是这个原因引起的需要用 bjobs -l JobID 看下作业的详细信息。 如果是loadStop的原因导致的 SSUSP,根据loadStop设置的阈值,Total 值高于loadStop值后,将逐步恢复挂起的作业

Blueberry521的博客 667

fission使用指南

Fission 是由私有云服务提供商Platform9领导开源的 serverless 产品,它借助 kubernetes 灵活强大的编排能力完成容器的管理调度工作,而将重心投入到 FaaS 功能的开发上,其发展目标是成为 AWS lambda 的开源替代品。从 CNCF 视角,fission 属于 serverless 平台型产品。

cbmljs的博客 1792

SRAM compiler中 Number of banks 设置

的值时,需要考虑应用的性能需求、功耗要求和面积限制。设计者应根据具体的应用场景选择合适的bank数量,以优化整体系统性能。bank是一种用于分离存储器访问的设计结构,允许同时对不同的存储区域进行读写操作,从而提高存储器的并发访问性能。选项用于指定 SRAM 存储器的 并发存储区域。在 SRAM 编译器中,

hzmscut的博客 1876

Fission使用过程中遇到的问题

Fission使用

helin2018的博客 1971

SQLite → PostgreSQL 迁移脚本与踩坑清单

本文提供了SQLite迁移到PostgreSQL的两种可靠路径:首选使用pgloader工具自动转换schema和数据,支持类型映射和并行复制;备选方案通过sqlite3导出CSV再用PostgreSQL的COPY命令导入,适合需要自定义清洗的场景。重点介绍了数据类型映射规则、迁移步骤、校验方法和常见问题,包括自增主键、布尔值、时间类型等关键差异处理。迁移后需进行行数核对、哈希抽样等校验,并给出了性能优化建议。最后强调迁移不仅是数据转移,更需要同步升级数据模型和索引策略,根据业务场景选择合适的数据库方案。

aifs2025的博客 1886

PCB 传输线教程(上):基于 Polar Si9000 与嘉立创工艺的传输线设计

理论线宽是W1,但在实际制作时,铜线顶部会有部分被刻蚀掉,表面被刻蚀后的宽度表示为W2,一般取经验值W2=W1-1,单位为 mil,Si9000 里面默认也是采用 W1,W2 相差 1 mil 的方式进行计算。表面阻抗结构就是简单的在一个平面上走信号线,以另外一个平面为地平面,信号线所在平面不进行铺铜(或铺铜间距大到可以忽略不计),这是最简单的一种结构,只需要知道介质层的厚度和介电常数、信号线厚度就可以进行阻抗计算。这个也是经验值,一般保持默认,或者可以填入 C1 相同的值(即忽略堆积)。

Surrea1的博客 1万+

fission源码分析--fission调用http请求流程分析

fission源码分析

cbmljs的博客 1062

深入Android构建系统:一次修改ro.vendor.build.fingerprint失败的排查与解决记录

本文深入探讨了Android构建系统中修改ro.vendor.build.fingerprint的完整解决方案。通过分析vendor分区的特殊地位和构建指纹的生成路径,提供了三种实战修改方法,并揭示了指纹修改可能遇到的陷阱与对策,帮助开发者彻底解决这一常见问题。

weixin_30621711的博客 144

Fission:基于 Kubernetes 的 Serverless 函数框架

本文编译自 Kubernetes 的官方博文,原文为 Platform9 的软件工程师 Soam Vasani 所写,讲解了一个基于 Kubernetes 的 Serverless 函数(FaaS)框架——Fission。 简单的来讲,Fission 是一个构建在 Kubernetes 之上的 FaaS/Serverless 函数框架。 注:Faas 即 Function

Kubernetes中文社区 2674

使用ST-LINK烧录stm32教程说明

使用ST-LINK烧录stm32

qq_34426854的博客 1万+

uniapp [安卓苹果App端] - 实现APP开发后台保活+息屏后台持续运行效果,强制后台保活手机黑屏后进程存活后台保持网络连接或持续定位等功能提供支持(app后台运行休眠仍然可以确保一直运行)

uniapp APP开发后台保活,Uniapp-APP后台保活插件(安卓苹果ios后台保活)保证应用在后台继续运行,uniapp实现app保活 保后台运行 避免系统主动杀进程,如何让安卓APP一直在后台运行?uniapp 安卓 APP 后台持续运行(保活)iOS App后台保活,Android 后台运行白名单实现保活,保活息屏后台运行,uniapp后台保活,uniapp熄屏 后台运行,Android/ios进程保活/息屏后后台保持定位、网络运行,uniapp在android ios保活,挂后台可运行,安卓A

🏆 前端领域优质创作者 1万+

Fission Dump Analyzer 使用指南:基于 CI 支持包的故障排查与 Prometheus 时序数据分析

`hack/dump-analyzer` 是 Fission 仓库内置的一个 Bash 脚本,用于**下载、解压和分析 Fission CI(GitHub Actions)产出的支持包(dump)归档**。本文围绕 [hack/dump-analyzer.md](https://link.gitcode.com/i/04c8e02da2b823d1b86026505de23fb2) 展开,完整讲解

gitblog_00392的博客 255

Open3D——平面点云凸多边形轮廓提取【2025最新版】

平面点云凸多边形轮廓提起,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 6754

fission事件驱动模型

Fission是一种开源框架,它允许开发者快速地在云环境中开发、部署并运行函数代码,无需管理底层基础设施。特别的是,Fission支持使用事件来触发函数执行,从而实现了响应式和自动扩展的能力。

2501_92375421的博客 371

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Fission 端到端基准测试套件实战:用 fission-benchmark 做纯 Go 压测、SLO 门禁与版本趋势对比

Fission(Fast and Simple Serverless Functions for Kubernetes)在 [docs/rfc/0020-e2e-benchmarking-suite.md](https://link.gitcode.com/i/453ffd910ac7efdd66da5f887dc48d64) 中落地了一套 Go 原生的端到端性能基准测试系统,其可移植的入口是独立

gitblog_00944的博客 673

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Fission vs Knative:Kubernetes Serverless框架终极对决指南

Kubernetes Serverless框架正在彻底改变云原生应用开发的方式。在众多选择中,Fission和Knative无疑是两个最受关注的解决方案。本文将深入对比这两个强大的Kubernetes无服务器框架,帮助您根据具体需求做出最佳选择。Fission作为快速轻量的Serverless Functions平台,以其极简设计和卓越性能在Kubernetes生态中脱颖而出。 ## 🚀 什么

gitblog_00389的博客 369

探索未来服务器less之路:Fission Workflows深度解析与推荐

探索未来服务器less之路:Fission Workflows深度解析与推荐 在云计算的广阔天地上,有一颗璀璨的新星正在升起——Fission Workflows。这是一款基于广受欢迎的Fission Function-as-a-Service(FaaS)平台构建的流程化无服务器函数编排框架。本文将带您深入了解这一技术革新者,从它的核心理念到应用场景,再到独特的项目特点,让您一览其魅力所在。 项...

gitblog_00255的博客 909

CMakeLists.txt配置全指南:如何正确使用add_library和target_link_libraries避免链接错误

本文深入解析CMake构建系统中add_library与target_link_libraries命令的正确使用方法,帮助开发者避免常见的“undefined reference to”链接错误。通过详解库目标创建、依赖关系管理及PRIVATE/PUBLIC/INTERFACE关键字的传递性,指导读者构建清晰、健壮的项目结构,提升C/C++项目的可维护性与跨平台构建效率。

ice55的博客 481

开源无服务器:Fission,Fn,Kubeless和OpenWhisk

如果曾经有“无服务器”一词,那是一个令人困惑的流行词,因为服务器有点痛苦。 所有这些安全漏洞的补丁程序都在收件箱中的一百万封电子邮件中用数十亿个单词描述了吗? 如果您可以摆脱服务器,则可以忘记那些补丁。 您必须记住要保持防火墙上所有这些端口的关闭状态? 他们也不再是您的烦恼。 无服务器世界将使您自由。 至少这就是这个词的承诺。 无服务器世界看起来轻松而充裕,全神贯注于您的一项真正使命:无论...

cxu0262的博客 390

Kubernetes上领先的开源Serverless解决方案有哪些

在去年年底的一次YC Startup School采访中,YC软件工程师Kyle Corbitt,询问了亚马逊的首席技术官Werner Vogels,关于容器和Kubernetes的问题。Werner在台上待了44多分钟,显得很困惑,他详述了AWS的最低限度可行的容器产品, 然后突然转了一个弯,说道:“容器的一个问题是,它几乎让你又回到了云出现之前的那个时代。”他说,“虽然容器对开发人员来说是一个...

weixin_33786077的博客 133

【译】Kubernetes Serverless 框架的全面对比(OpennFaas,OpenWhisk,Fission,Kubeless 等)...

原文链接:A Comparison of Serverless Frameworks for Kubernetes: OpenFaas, OpenWhisk, Fission, Kubeless and more AWS Lambda 已经成为 Serverless(无服务)的代名词。但与 AWS 分离有两个好处:能避免了一些限制和更加灵活。 Serverless(无服务)其实是个伪名词,它实...

weixin_30432179的博客 1145

终极指南:Fission函数性能基准测试与优化策略

Fission作为Kubernetes原生的无服务器框架,其函数性能表现直接关系到应用的整体响应能力。本文将深入分析Fission函数性能基准测试的关键指标,并提供实用的优化建议。🚀 ## Fission性能基准测试概述 Fission的基准测试系统位于[test/benchmark](https://link.gitcode.com/i/06a4e117741107830b01885a6b

gitblog_00417的博客 320

Fission 测试套件全指南:Go 集成测试、envtest 控制器测试与升级压测基准

Fission 的 `test/` 目录承载着三类定位互补的测试体系:针对真实 Kind 集群的 Go 集成测试(`test/integration/`)、基于 envtest 的控制器级端到端测试(`test/e2e/`),以及 RFC-0020 驱动的 Go 原生性能基准套件(`test/benchmark/`,含 RFC-0028 的 `upgrade-under-load` 升级压测场景)

gitblog_00749的博客 472

Fission 集成测试迁移中的 flake 排雷手册:从 bash 到 Go 测试框架的工程陷阱与竞态修复

Fission 在 2026 年 4—5 月完成了 bash 集成测试到 Go 测试的迁移,迁移过程暴露出一大批此前从未被注意的测试工程问题——尤其是环境(Environment)创建后立刻发起源码构建所触发的 builder 就绪竞态。本文以 [.claude/resources/fission-integration-test-quirks.md](https://link.gitcode.c

gitblog_00764的博客 79
上一篇: Summit系统简介
下一篇: Serverless无服务应用架构纵横谈
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值