serverless - OpenWhisk 调用程序代理暂停时间
问题描述
在 Rancher 上部署 Openwhisk,启用 kubernetesContainerFactory 和 Invoker Agent。调用 hello.js 操作并 wsk 创建了 pod wskowdev-invoker-00-1-prewarm-nodejs10 和 wskowdev-invoker-00-2-prewarm-nodejs10。Pod 1 在 15 分钟后被移除,但 Pod 2 从未被调用者代理移除。我的理解是在指定的时间段后应该暂停豆荚。请阐明调用程序代理和 pod 暂停/删除的工作原理。
解决方案
其中一个预热的容器在使用后被移除。另一个仍然是原始的并且仍然存在/未回收。这称为干细胞容器。一旦容器被专门化(用用户代码初始化),它就会在以后进行垃圾收集。
但是,默认空闲超时为 10 分钟,而不是每个此配置的 15 分钟,除非被覆盖。
干细胞的数量特定于运行时并由运行时清单确定。例如:https ://github.com/apache/incubator-openwhisk/blob/ce45d54c824ef6c3e5d98ce0b220b924c81e688b/ansible/files/runtimes.json#L45-L50
一旦使用了干细胞容器,保姆程序将用一个新容器替换它,因此预热容器的数量通常应该是恒定的。
推荐阅读
- angular - 如何在图像 URL HTML 中传递用户名和密码。?
- node.js - Mongoose 查询列出用户加入的所有组
- c# - WPF - 具有从抽象类派生的不同对象的列的 DataGrid
- c - librdkafka 消费者没有收到来自代理的消息
- wordpress - 支付成功后订单状态仍为“Pending Payment”(自定义支付网关)
- database - oracle中的外部表和全局临时表有什么区别?
- google-app-engine - Appengine / 限制服务仅在单个域下可用
- php - Yii2 发送邮件:未显示来自电子邮件
- php - 会话数据文件在 session.gc_maxlifetime 和 session.cookie_lifetime 之前意外删除
- css - `cloudicon` 字体库在哪里?