feat(NFS Server): add support to configure resource requirements on NFS Server#92
Merged
mynktl merged 3 commits intoopenebs-archive:developfrom Aug 24, 2021
Merged
Conversation
…FS Server
This PR adds support to configure resource requirements[requests & limits]
for NFS Server via NFS StorageClass. Values specified in StorageClass annotation
will be propogated to NFS Server deployment.
**Sample NFS SC YAML**:
```yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: openebs-rwx
annotations:
openebs.io/cas-type: nfsrwx
cas.openebs.io/config: |
- name: NFSServerType
value: "kernel"
- name: BackendStorageClass
value: "openebs-hostpath"
# NFSServerResourceRequests defines the resource requests for NFS Server
- name: NFSServerResourceRequests
value: |-
memory: 50Mi
cpu: 50m
# NFSServerResourceLimits defines the resource limits for NFS Server
- name: NFSServerResourceLimits
value: |-
memory: 100Mi
cpu: 100m
provisioner: openebs.io/nfsrwx
reclaimPolicy: Delete
```
Signed-off-by: mittachaitu <sai.chaithanya@mayadata.io>
Codecov Report
@@ Coverage Diff @@
## develop #92 +/- ##
===========================================
+ Coverage 46.85% 46.89% +0.03%
===========================================
Files 29 29
Lines 2356 2380 +24
===========================================
+ Hits 1104 1116 +12
- Misses 1174 1185 +11
- Partials 78 79 +1
Continue to review full report at Codecov.
|
mynktl
reviewed
Aug 23, 2021
mynktl
reviewed
Aug 23, 2021
…st & limits Signed-off-by: mittachaitu <sai.chaithanya@mayadata.io>
2a81ff6 to
3b12d29
Compare
Signed-off-by: mittachaitu <sai.chaithanya@mayadata.io>
3b12d29 to
204a8d9
Compare
kmova
approved these changes
Aug 24, 2021
Merged
7 tasks
mynktl
approved these changes
Aug 24, 2021
8 tasks
mittachaitu
pushed a commit
that referenced
this pull request
Aug 30, 2021
…FS Server (#92) This PR adds support to configure resource requirements[requests & limits] for NFS Server via NFS StorageClass. Values specified in StorageClass annotation will be propagated to NFS Server deployment. **Sample NFS SC YAML**: ```yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: openebs-rwx annotations: openebs.io/cas-type: nfsrwx cas.openebs.io/config: | - name: NFSServerType value: "kernel" - name: BackendStorageClass value: "openebs-hostpath" # NFSServerResourceRequests defines the resource requests for NFS Server - name: NFSServerResourceRequests value: |- memory: 50Mi cpu: 50m # NFSServerResourceLimits defines the resource limits for NFS Server - name: NFSServerResourceLimits value: |- memory: 100Mi cpu: 100m provisioner: openebs.io/nfsrwx reclaimPolicy: Delete ``` Signed-off-by: mittachaitu <sai.chaithanya@mayadata.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request template
Why is this PR required? What issue does it fix?:
This PR ensures the QoS of NFS server by providing a way to configure
resource requests & limits on server deployment via NFS SC.
What this PR does?:
This PR adds support to configure resource requirements[requests & limits]
for NFS Server via NFS StorageClass. Values specified in StorageClass
annotation(
.metadata.annotation.cas\.openebs\.io/config) will be propagatedto NFS Server deployment.
Sample StorageClass With Limits & Requests:
Does this PR require any upgrade changes?:
No
If the changes in this PR are manually verified, list down the scenarios covered::
Any additional information for your reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
fio tests on NFS mount point. It was observed that user process running in
NFS server pod doesn't consume much RAM & CPU, moreover, it was observed
that CPU usage went to ~8millicores and RAM is at ~5Mb(Irrespective of workload).
To have a definite QoS NFS Server request can have 50Mi memory and 50m cpu and
limits can go till 100Mi memory and 100m cpu.
peak time) more information and stats are available in this doc.
TODO
Checklist:
<type>(<scope>): <subject>