You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为OpenWhisk Python运行时创建预预热容器?

如何为OpenWhisk配置Python运行时的预预热容器

我已经在Docker Kubernetes集群中部署了OpenWhisk,能够使用wsk工具成功创建并调用函数。为缩短函数调用时间,我尝试为Python运行时创建预预热容器,但未找到相关配置文档。当前集群默认存在node10预预热容器,使用node10执行函数时速度很快,希望能指导如何配置Python预预热容器。

我的Pod列表如下:

owdev-alarmprovider-6bf499454d-9dpt4      1/1     Running     2 (3h15m ago)   6d23h
owdev-apigateway-6cc4fdf844-bhmn9         1/1     Running     2 (3h15m ago)   6d23h
owdev-controller-0                        1/1     Running     9 (3h15m ago)   6d23h
owdev-couchdb-65886c6f99-5trcq            1/1     Running     2 (3h15m ago)   6d23h
owdev-gen-certs-hgngp                     0/1     Completed   0               6d23h
owdev-init-couchdb-wds94                  0/1     Completed   0               6d23h
owdev-install-packages-jbh9d              0/1     Error       0               6d23h
owdev-install-packages-kgnsf              0/1     Error       0               6d23h
owdev-install-packages-p9klf              0/1     Error       0               6d23h
owdev-install-packages-tshwc              0/1     Error       0               6d23h
owdev-invoker-0                           1/1     Running     2 (3h15m ago)   6d23h
owdev-kafka-0                             1/1     Running     2 (3h15m ago)   6d23h
owdev-kafkaprovider-568d8b8958-tm2wf      1/1     Running     2 (3h15m ago)   6d23h
owdev-nginx-547f4fb7bc-ddkjr              1/1     Running     2 (3h15m ago)   6d23h
owdev-redis-7c9c9bcb48-hlwhp              1/1     Running     2 (3h15m ago)   6d23h
owdev-wskadmin                            1/1     Running     2 (3h15m ago)   6d23h
owdev-zookeeper-0                         1/1     Running     2 (3h15m ago)   6d23h
wskowdev-invoker-00-14-prewarm-nodejs10   1/1     Running     0               50m
wskowdev-invoker-00-15-prewarm-nodejs10   1/1     Running     0               40m

配置步骤

  • 修改Invoker部署配置
    OpenWhisk的预预热容器由Invoker组件管理,需通过环境变量指定要预热的运行时:

    1. 编辑Invoker的Deployment:
      kubectl edit deployment owdev-invoker
      
    2. 在容器的env字段中,找到或添加PREWARM_CONTAINERS变量,格式为运行时名称:数量,多个运行时用逗号分隔。比如要预热2个Python3.8容器,同时保留原有node10的配置:
      - name: PREWARM_CONTAINERS
        value: "nodejs10:2,python3.8:2"
      
    3. 保存退出后,Kubernetes会自动重启Invoker Pod加载新配置。
  • 验证预预热容器生成状态
    等待Invoker重启完成后,查看集群内的Pod:

    kubectl get pods
    

    如果配置生效,会看到类似wskowdev-invoker-00-xx-prewarm-python3.8的运行中Pod。

  • 可选:自定义预预热容器资源配额
    若需要调整Python预预热容器的CPU和内存限制,可添加PREWARM_RESOURCES变量,格式为运行时名称:CPU配额:内存配额:

    - name: PREWARM_RESOURCES
      value: "python3.8:0.25:256Mi"
    

    示例中设置每个Python3.8预预热容器使用0.25核CPU和256Mi内存,可根据实际需求调整数值。


内容的提问来源于stack exchange,提问作者karthick raja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:35:10