Admission controller + memoryQuota

Here’s my bucket spec on my cluster:

  buckets:
    - name: pos.data
      type: couchbase
      memoryQuota: 100
      replicas: 2
      ioPriority: high
      evictionPolicy: fullEviction
      conflictResolution: seqno
      enableFlush: true
      enableIndexReplica: true
    - name: pos.config
      type: couchbase
      memoryQuota: 100
      replicas: 2
      ioPriority: high
      evictionPolicy: fullEviction
      conflictResolution: seqno
      enableFlush: true
      enableIndexReplica: true
    - name: test
      type: ephemeral
      memoryQuota: 100
      replicas: 0
      ioPriority: low
      evictionPolicy: nruEviction
      conflictResolution: seqno
      enableFlush: true
      enableIndexReplica: false

When I deploy this cluster the admission controller is rejecting with the following error:

failed to create resource in kubernetes: admission webhook "couchbase-operator-admission.default.svc" denied the request: validation failure list:
spec.buckets[*].memoryQuota in body should be less than or equal to 256

I don’t get this – is it saying that the sum of all buckets has to add up to <= 256? How can I even do that because my understanding is that the min value you can put there is 100.

This k8s cluster is running locally with 8GB physical ram. Why am I being limited to 256 – what does that really mean, even?

It’s actually implying that you should increase the value of spe.cluster.dataServiceMemoryQuota. Try changing it to 512. The reason for the error is because the sum of all buckets memoryQuota (300mb) has to be less than dataServiceMemoryQuota which I assume is 256.