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

K8S中Pod为何未使用配置的CPU/内存请求值?

问题原因及解决办法

你看到的elastic-internal-init-filesystem是Elasticsearch Operator自动注入的初始化容器,用来完成文件系统权限配置、目录准备等前置工作,它的资源限制(100m CPU、50Mi内存)是Operator的默认值,和你在主elasticsearch容器里配置的资源请求完全是两回事。

你的配置文件里已经正确给主容器elasticsearch设置了资源请求:

containers:
- name: elasticsearch
  resources:
    requests:
      cpu: 1
      memory: 4Gi

要验证主容器的资源配置是否生效,你可以:

  • 执行 kubectl describe pod <你的Pod名称> -c elasticsearch,查看主容器的Resources部分
  • 或者用JSONPath直接提取:kubectl get pod <你的Pod名称> -o jsonpath='{.spec.containers[0].resources}'

如果需要自定义这个自动注入的初始化容器的资源,你可以在CR的podTemplate.spec.initContainers里添加同名容器并指定resources,Operator会覆盖默认配置,示例:

podTemplate:
  spec:
    initContainers:
    - name: sysctl
      # 你的sysctl容器配置...
    - name: elastic-internal-init-filesystem
      resources:
        requests:
          cpu: 200m
          memory: 100Mi
        limits:
          cpu: 200m
          memory: 100Mi

内容的提问来源于stack exchange,提问作者Joey Yi Zhao

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:08:29