Releases: mongodb/mongodb-kubernetes-operator
MongoDB Kubernetes Operator 0.6.0
MongoDB Kubernetes Operator 0.6.0
Kubernetes Operator
-
Breaking Changes
-
A new VolumeClaimTemplate has been added
logs-volume
. When you deploy the operator, if there is an existing StatefulSet the operator will attempt to perform an invalid update. The existing StatefulSet must be deleted before upgrading the operator. -
The user of the mongod and mongodb-agent containers has changed. This means that there will be permissions
issues when upgrading from an earlier version of the operator. In order to update the permissions in the volume, you can use an init container.
-
-
Upgrade instructions
Remove the current operator deployment
kubectl delete deployment <operator-deployment>
Delete the existing StatefulSet for the MongoDBCommunity resource
Note: to ensure existing data is not lost, ensure that the retain policy of your Persistent Volumes is configured correctly. Please reference the official docs for these configuration options.kubectl delete statefulset <mdb-resource-name>
Install the new operator- follow the regular installation instruction
Patch the StatefulSet once it has been created. This will add an init container that will update the permissions of the existing volume. kubectl patch statefulset <sts-name> --type='json' --patch '[ {"op":"add","path":"/spec/template/spec/initContainers/-", "value": { "name": "change-data-dir-permissions", "image": "busybox", "command": [ "chown", "-R", "2000", "/data" ], "securityContext": { "runAsNonRoot": false, "runAsUser": 0, "runAsGroup":0 }, "volumeMounts": [ { "mountPath": "/data", "name" : "data-volume" } ] } } ]'
-
Bug fixes
- Fixes an issue that prevented the agents from reaching goal state when upgrading minor version of MongoDB.
Updated Image Tags
- mongodb-kubernetes-operator:0.6.0
- mongodb-agent:0.29.0.6830-1
- mongodb-kubernetes-readinessprobe:1.0.3
MongoDB Kubernetes Operator 0.5.2
MongoDB Kubernetes Operator 0.5.2
Kubernetes Operator
- Changes
- Readiness probe has been moved into an init container from the Agent image.
- Security context is now added when the
MANAGED_SECURITY_CONTEXT
environment variable is not set.
- Bug fixes
- Removed unnecessary environment variable configuration in the openshift samples.
- Fixed an issue where the operator would perform unnecessary reconcilliations when Secrets were modified.
- Fixed an issue where a race condition could cause the deployment to get into a bad state when TLS
settings when being changed at the same time as a scaling operation was happening. - Fixed an issue where the agent pod would panic when running as a non-root user.
MongoDBCommunity Resource
- Changes
- Added
spec.security.authentication.ignoreUnknownUsers
field. This value defaults totrue
. When enabled,
any MongoDB users added through external sources will not be removed.
Miscellaneous
- Changes
- Internal code refactorings to allow libraries to be imported into other projects.
Updated Image Tags
- mongodb-kubernetes-operator:0.5.2
- mongodb-agent:10.27.0.6772-1
- mongodb-kubernetes-readinessprobe:1.0.1 [new image]
MongoDB Kubernetes Operator 0.5.1
MongoDB Kubernetes Operator 0.5.1
Kubernetes Operator
- Changes
- Upgrades operator-sdk version to v1.4.0
- The version of MongoDB specified in MongoDBCommunity resources no longer needs to be present in the version manifest.
Updated Image Tags
- mongodb-kubernetes-operator:0.5.1
- mongodb-agent:10.27.0.6772-1
All the images can be found in:
https://quay.io/mongodb
v0.5.0
MongoDB Kubernetes Operator 0.5.0
Kubernetes Operator
- Breaking Changes
- The CRD has been renamed from MongoDB to MongoDBCommunity. To upgrade to this version, there will be downtime as it will be necessary to:
- Delete the old cr:
kubectl delete -f <old-cr>
- Delete the operator:
kubectl delete -f deploy/operator
- Create the new crd:
kubectl create -f deploy/crds/mongodb.com_mongodbcommunity_crd.yaml
- Deploy the new version of the operator
kubectl create -f deploy/operator
- Update your old cr to change the
kind
field fromMongoDB
toMongoDBCommunity
- Create the new cr:
kubectl create -f <new-cr>
- Delete the old cr:
- The CRD has been renamed from MongoDB to MongoDBCommunity. To upgrade to this version, there will be downtime as it will be necessary to:
- Changes
- Upgraded operator-sdk version to v0.19.4.
- Bug fixes
- Fixed sorting of volume mounts.
Updated Image Tags
- mongodb-kubernetes-operator:0.5.0
All the images can be found in:
MongoDB Kubernetes Operator v0.4.0
Note, that any section that doesn’t have content should be omitted
MongoDB Kubernetes Operator 0.4.0
Kubernetes Operator
- Changes
- Support cross-namespace deployments.
- Bug fixes
- Fix issue with log pollution.
MongoDB Resource
- Changes
- Support custom MongoDB roles via the spec.security.roles field in the crd.
Updated Image Tags
- mongodb-kubernetes-operator:0.4.0
All the images can be found in:
MongoDB Kubernetes Operator v0.3.0
MongoDB CRD Changes
- The field spec.users[n].scramCredentialsSecretName must be specified for each resource. This will be used to determine the name of the generated secret which stores MongoDB user credentials. This field must comply with DNS-1123 rules (must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character).
Breaking Changes
- Existing resources will need the scramCredentialsSecretName field added.
Miscellaneous Changes
- The Agent Licence was updated to clarify that the Community Operator may be used commercially.
MongoDB Kubernetes Operator 0.2.2
Improvements
- Default permissions for secret volumes have been changed to 0416
Bug Fixes
- Fixed an issue where scaling down could break the deployment (Note: The scale down process can be slow, but the deployment stays in a good state)
- Fixed an issue where the volume source of custom volumes was not merged correctly.
- Fixed an issue which prevented scaling up to work with versions of MongoDB > 4.4
MongoDB Kubernetes Operator v0.2.1
Features:
Keyfile internal cluster authentication
By default, all deployments are now configured keyfile internal cluster authentication
- Added instructions and examples for how to deploy to OpenShift
- Added support for configuring the mongod image and registry
Internal Improvements
- Extended E2E framework to make it more flexible for arbitrary MongoDB connection options
- Refactored main reconciliation loop to support arbitrary status subresource updates on a per field basis
Bug Fixes
- Fixed issue where volumes would be added twice to StatefulSet when merging with a non-default name
MongoDB Kubernetes Operator v0.2.0
Features:
SCRAM-SHA authentication
By default, all deployments are now configured with SCRAM-SHA authentication enabled.
Note: Existing deployments will need to have users added to them in order to function correctly. The easiest way to do this is to follow the follow steps
- Scale down or remove the existing operator deployment
- Apply the new CRD
- Update your resource definition with the users you want, and create their passwords
- Deploy v0.2.0 of the operator
Authentication will now be configured for your deployments.
Bug Fixes
- Fixed an issue where Persistent Volume Claims were not being merged correctly when applying a custom StatefulSet override
- Fixed an issue where Environment variables were not correctly being merged together when applying a custom StatefulSet override
MongoDB Kubernetes Operator v0.1.1
Features:
- Arbitrary StatefulSet Spec Configuration via spec.statefulSet