如何为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组件管理,需通过环境变量指定要预热的运行时:- 编辑Invoker的Deployment:
kubectl edit deployment owdev-invoker - 在容器的
env字段中,找到或添加PREWARM_CONTAINERS变量,格式为运行时名称:数量,多个运行时用逗号分隔。比如要预热2个Python3.8容器,同时保留原有node10的配置:- name: PREWARM_CONTAINERS value: "nodejs10:2,python3.8:2" - 保存退出后,Kubernetes会自动重启Invoker Pod加载新配置。
- 编辑Invoker的Deployment:
验证预预热容器生成状态
等待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
相关产品推荐
相关产品推荐

