4.3.3. 为日志存储配置 CPU 和内存请求
每个组件规格都允许调整 CPU 和内存请求。您不应该手动调整这些值,因为 OpenShift Elasticsearch Operator 会设置适当的值以满足环境的要求。
注意
在大型集群中,Elasticsearch 代理容器的默认内存限值可能不足,从而导致代理容器被 OOMKilled。如果您遇到这个问题,请提高 Elasticsearch 代理的内存请求和限值。
每个 Elasticsearch 节点都可以在较低的内存设置下运行,但在生产部署中不建议这样做。对于生产环境,为每个 pod 应该分配的数量应不少于默认的 16Gi。最好为每个 pod 分配不超过 64Gi 的尽量多的数量。
先决条件
- 必须安装 OpenShift Logging 和 Elasticsearch。
流程
编辑
openshift-logging项目中的ClusterLogging自定义资源(CR):$ oc edit ClusterLogging instanceapiVersion: "logging.openshift.io/v1" kind: "ClusterLogging" metadata: name: "instance" .... spec: logStore: type: "elasticsearch" elasticsearch:1 resources: limits:2 memory: "32Gi" requests:3 cpu: "1" memory: "16Gi" proxy:4 resources: limits: memory: 100Mi requests: memory: 100Mi
在调整 Elasticsearch 内存量时,请求和 限值 应使用相同的值。
例如:
resources:
limits:
memory: "32Gi"
requests:
cpu: "8"
memory: "32Gi"
Kubernetes 一般遵循节点配置,不允许 Elasticsearch 使用指定的限值。为 请求(request) 和 限值(limit) 设置相同的值可确保 Elasticsearch 可以使用您想要的内存,假设节点具有可用内存。