[英]Should I pass any memory options to nodejs application running on Kubernetes pod with limits?
我在 Kubernetes 上運行的 nodejs 應用程序有限制:
apiVersion: apps/v1
kind: Deployment
..
spec:
..
template:
..
spec:
containers:
- name: mynodejsapp
..
resources:
requests:
memory: "1000Mi"
cpu: "500m"
limits:
memory: "2000Mi"
cpu: "1000m"
..
我的 nodejs 應用程序的 Dockerfile 基於node:10-slim
:
FROM node:10-slim
..
COPY . .
RUN npm run build
EXPOSE 3000
ENTRYPOINT ["dumb-init", "--"]
CMD [ "node", "./build/index.js" ]
我發現應該設置--max_old_space_size
一些較舊的帖子。 那是對的嗎? 還是 nodejs 進程會自動找到現有的內存限制?
使用 Nodejs 10 很糟糕,因為在 64 位操作系統上它可能會超過您的限制值。 Nodejs 12 應該沒問題,但是如果您想使用 CPU 活動來擴展 pod,設置最大舊內存是個好主意。 GC 將嘗試保持在此值以下(因此在您的 k8s 請求內存下)並且 CPU 活動將增長。 我在這里寫了一篇關於這個主題的帖子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.