CLOUDP-121490 | feat: container resources customization #1713
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.
Summary:
This pull request introduces support for specifying custom resource requirements for MongoDB pods, enabling fine-grained control over resource allocation for different containers. The changes include updates to the CRD, API types, and controller logic to incorporate this functionality.
API Enhancements
ResourcesSpec
type inapi/v1/mongodbcommunity_types.go
to define resource requirements for containers (mongod
,agent
,readinessProbe
, andversionUpgradeHook
). This type is integrated into theMongoDBCommunitySpec
struct. [1] [2]CRD Updates
config/crd/bases/mongodbcommunity.mongodb.com_mongodbcommunity.yaml
to include theresources
field, allowing users to specify resource requirements for individual containers. This includes descriptions and validation rules forlimits
andrequests
.Controller Modifications
BuildMongoDBReplicaSetStatefulSetModificationFunction
incontrollers/construct/mongodbstatefulset.go
to handle the newResourcesSpec
. This includes passing resource specifications to container creation functions formongod
,agent
,readinessProbe
, andversionUpgradeHook
containers. [1] [2] [3]mongodbContainer
,mongodbAgentContainer
,versionUpgradeHookInit
,readinessProbeInit
) to accept and apply resource requirements from theResourcesSpec
. [1] [2] [3] [4]Test Updates
TestMongod_Container
test incontrollers/construct/build_statefulset_test.go
to include aMongoDBCommunity
instance without custom resources, ensuring compatibility with the new functionality.These changes collectively enhance the flexibility and configurability of the MongoDB Kubernetes Operator, allowing users to better manage resource allocation for their deployments.
closes #962
All Submissions:
closes #XXXX
in your comment to auto-close the issue that your PR fixes (if such).