首页 > 解决方案 > kubernetes部署时如何在mongodb中设置wiredTigerCacheSize

问题描述

我想在我的 kubernetes 部署(linux)中设置 mongodb WiredTigerCacheSize。
在 docker 中,我可以简单地定义:

docker run -d --name my-mongo mongo --wiredTigerCacheSizeGB 0.25

但不是在 kubernetes 中...

我有以下部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-mongo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-mongo-db
  template:
    metadata:
      labels:
        app: my-mongo-db
    spec:
      containers:
      - name: my-mongo-db
        image: mongo
        env:
        ports:
        - containerPort: 27017

到目前为止,我已经尝试过(没有工作):

lifecycle:
      postStart:
        exec:
          command: ["/bin/sh", "-c", "mongod --wiredTigerCacheSizeGB 0.25"]

标签: mongodbkubernetes

解决方案


经过大量阅读(感谢 Minsky 为我指出了正确的方向),我找到了以下可行的解决方案:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-mongo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-mongo-db
  template:
    metadata:
      labels:
        app: my-mongo-db
    spec:
      containers:
      - name: my-mongo-db
        image: mongo
        command: ["docker-entrypoint.sh"]
        args: ["mongod", "--wiredTigerCacheSizeGB", "0.25"]
        env:
        ports:
        - containerPort: 27017

推荐阅读