我有一个烧瓶应用程序,其中包含一些 NLP 包,并且在启动服务器之前需要一段时间来初始构建一些向量。我过去在使用 Google App Engine 时注意到了这一点,并且我能够在 app.yaml 文件中设置最大超时来解决这个问题。
问题是当我使用这个应用程序在 Kubernetes 上启动我的集群时,我注意到工作人员在日志中不断超时。这是有道理的,因为我确定默认的时间量是不够的。但是,我不知道如何配置 GKE 以让工作人员有足够的时间在开始服务之前完成它需要做的所有事情。
如何增加工作人员在超时之前可以花费的时间?
我删除了旧实例,所以我现在无法获取日志,但如果有人想查看日志,我可以启动它。
是这样的:
I 2020-06-26T01:16:04.603060653Z Computing vectors for all products
E 2020-06-26T01:16:05.660331982Z
95it [00:05, 17.84it/s][2020-06-26 01:16:05 +0000] [220] [INFO] Booting worker with pid: 220
E 2020-06-26T01:16:31.198002748Z [nltk_data] Downloading package stopwords to /root/nltk_data...
E 2020-06-26T01:16:31.198056691Z [nltk_data] Package stopwords is already up-to-date!
100it 2020-06-26T01:16:35.696015992Z [CRITICAL] WORKER TIMEOUT (pid:220)
E 2020-06-26T01:16:35.696015992Z [2020-06-26 01:16:35 +0000] [220] [INFO] Worker exiting (pid: 220)
我也看到了这个:
The node was low on resource: memory. Container thoughtful-sha256-1 was using 1035416Ki, which exceeds its request of 0.
显然我不完全知道我在做什么。为什么它说我正在请求 0 内存,我可以为 Kubernetes 节点设置超时量吗?
谢谢您的帮助!