Releases: berops/claudie
Release list
v0.15.0
Claudie v0.15.0
Readme Before Deploying
Autoscaler changes
The autoscaler will no longer be deployed by Claudie. From now it becomes an opt-in paid feature.
Make sure no tasks are scheduled
Before deploying this Claudie release, make sure no tasks are actively being worked on. You can verify this via
kubectl get inputmanifestsAll of the input manifests should be in state WATCHING_FOR_CHANGES.
You can also scale down the number of replicas for the manager service to 0 to be sure no tasks are scheduled.
kubectl scale deploy/manager -n claudie --replicas=0MongoDB
This version of Claudie updates MongoDB.
It is required that before deploying this new version that the number of
replicas of the current deployment for MongoDB is scaled down to 0.
kubectl scale deploy/mongodb -n claudie --replicas=0After deploying:
- Check if the version running in the primary replica is 8.3 via
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand({ buildInfo: 1 }).version"- Set the feature set to version 8.3
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand( { setFeatureCompatibilityVersion: '8.3', confirm: true } )"This command must perform writes to an internal system collection. If for any reason the command does not complete successfully, you can safely retry the command as the operation is idempotent.
- Verify the command successfully updated the feature set.
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })"What's Changed
-
Updated mongo to version 8.3 #2141
-
Cluster-autoscaler has been removed. From now it becomes an opt-in paid feature. #2146
-
Added support spot instances on AWS, Azure, OCI, Verda, GCP #2151, #2149, #2145
-
Faster handling of nodes with unknown status #2150
-
Fixed nil panic on DNS creation failure #2152
-
Updated template parsing for alternative names #2153
v0.14.1
v0.14.0
Claudie v0.14
Readme Before Deploying
Make sure no tasks are scheduled
Before deploying this Claudie release, make sure no tasks are actively being worked on. You can verify this via
kubectl get inputmanifestsAll of the input manifests should be in state WATCHING_FOR_CHANGES.
You can also scale down the number of replicas for the manager service to 0 to be sure no tasks are scheduled during the update.
kubectl scale deploy/manager -n claudie --replicas=0MongoDB
This version of Claudie updates MongoDB.
It is required that before deploying this new version that the number of
replicas of the current deployment for MongoDB is scaled down to 0.
kubectl scale deploy/mongodb -n claudie --replicas=0After deploying:
- Check if the version running in the primary replica is 8.0 via
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand({ buildInfo: 1 }).version"- Set the feature set to version 8.0
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand( { setFeatureCompatibilityVersion: '8.0', confirm: true } )"This command must perform writes to an internal system collection. If for any reason the command does not complete successfully, you can safely retry the command as the operation is idempotent.
- Verify the command successfully updated the feature set.
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })"What's Changed
v0.13.0
Readme Before Deploying
Make sure no tasks are scheduled
Before deploying this Claudie release, make sure no tasks are actively being worked on. You can verify this via
kubectl get inputmanifestsAll of the input manifests should be in state WATCHING_FOR_CHANGES.
You can also scale down the numbe of replicas for the manager service to 0 to be sure no tasks are scheduled.
kubectl scale deploy/manager -n claudie --replicas=0Kubernetes version changes
The support for kubernetes v1.32.x has been dropped. The currently supported versions are v1.33,v1.34,v1.35.
Make sure to update your kubernetes version to at least v1.33, before updating to this new release.
MongoDB
This version of Claudie updates MongoDB.
It is required that before deploying this new version that the number of
replicas of the current deployment for MongoDB is scaled down to 0.
kubectl scale deploy/mongodb -n claudie --replicas=0After deploying:
- Check if the version running in the primary replica is 7.0 via
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand({ buildInfo: 1 }).version"- Set the feature set to version 7.0
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand( { setFeatureCompatibilityVersion: '7.0', confirm: true } )"This command must perform writes to an internal system collection. If for any reason the command does not complete successfully, you can safely retry the command as the operation is idempotent.
- Verify the command successfully updated the feature set.
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })"CNI changes
After deploying this version of Claudie, the next scheduled task that passes through
the kube-eleven stage will update the CNI, during which kube-proxy will be removed
and replaced by cilium-cni running in eBPF mode.
This update may introduce a short downtime of ~5-10mins, while the kube-proxy is being replaced
Note that claudie has a periodic refresh of the infrastructure every ~30min, thus if until then no task
is scheduled that passes through the kube-eleven stage, this periodic refresh will
take care of it.
What's Changed
-
Updated MongoDB to version 7 #2075
- Before deploying scale down MongoDB to 0 replicas.
kubectl scale deploy/mongodb -n claudie --replicas=0- After deploying, check if the version running in the primary replica is 7.0
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand({ buildInfo: 1 }).version"- Set the feature set to version 7.0
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand( { setFeatureCompatibilityVersion: '7.0', confirm: true } )"This command must perform writes to an internal system collection. If for any reason the command does not complete successfully, you can safely retry the command as the operation is idempotent.
- Verify the command successfully updated the feature set.
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \
-u <username> -p <password> --authenticationDatabase admin \
--eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })"-
The support for kubernetes v1.32.x is dropped. The currently supported version are: v1.33, v1.34, v1.35. Make sure to update to at least
v1.33.xbefore deploying.#2079 -
Added support for a new cloud provider Verda Cloud #2088
-
Added support for OVH as native compute and DNS provider #2117
-
Fixed some of the workflow ordering in scheduled tasks #2115
v0.12.1
v0.12.1
What's Changed
- New feature introduced 'upgrade-lock' label. When set on nodes, it signals to Claudie to skip node drain on those nodes, blocking the workflow of pending changes until the label is removed from the nodes. #2062
# Before triggering an update
kubectl label node <node-name> claudie.io/upgrade-lock=true
# Apply updated InputManifest
kubectl apply -f manifest.yaml
# Claudie drains unlabeled nodes, skips labeled ones, and retries
# Verify replication/health on your workload
# Release the node when safe
kubectl label node <node-name> claudie.io/upgrade-lock-
-
For some of the newly added providers (Openstack), NAT hairpin has been introduced for some of the networking shortcomings as a workaround to make Claudie work correctly. #2066
-
Duplicate Taint definitions for Nodepools will now be removed. #2070
-
For autoscaled nodepools if a scaleup fails at least 3x Claudie will now consider that as a failure and will stop autoscaling instead of retrying indefinitely #2069
v0.12.0
v0.12.0
What's Changed
-
Changing credentials for providers will now be correctly propagated within the reconciliation loop #2056
-
Updated MongoDB to version 6.0 #2053
- After deploying, verify Mongo version is
6.0
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ -u <username> -p <password> --authenticationDatabase admin \ --eval "db.adminCommand({ buildInfo: 1 }).version"- Manually set the feature set to version 6.0
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ -u <username> -p <password> --authenticationDatabase admin \ --eval "db.adminCommand({ setFeatureCompatibilityVersion: '6.0' })"This command must perform writes to an internal system collection. If for any reason the command does not complete successfully, you can safely retry the command as the operation is idempotent.
- Verify the update was processed. The following command should return
6.0for the feature set.
kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ -u <username> -p <password> --authenticationDatabase admin \ --eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })" - After deploying, verify Mongo version is
Bug fixes
- Fixed deletion of zero sized nodepools that would result in an endless reconciliation loop #2049
v0.11.2
v0.11.2
What's Changed
-
Add custom SSH port support for dynamic and static nodepools by #2026
The requirement of the SSH port to be opened at
22has been dropped. It is now possible for external templates to define
their own SSH port to which Claudie will connect to. The same applies to static nodepools which have the option exposed in the InputManifest
static:
- name: control
sshPort: 2222 # Optional: SSH port for connecting to static nodes. Defaults to 22.
nodes:
- endpoint: "192.168.10.1"
secretRef:
name: static-node-key
namespace: <your-namespace>
-
Gracefully handling missing Cloudflare Load Balancing #2029
-
Dynamic nodes within a Kubernetes cluster will now be healthchecked by Claudie and if they're unhealthy for more than 12 mins Claudie will trigger an auto-repair mechanism
in which the node is replaced by first deleting it and subsequently joining a new node into the cluster. #2038
0.11.1
v0.11.0
v0.11.0
What's Changed
-
Updated longhorn to version v1.11.1 #2007
Before upgrading to this Claudie version from v0.10.2, detach all Longhorn volumes and follow the manual checks described here: https://longhorn.io/docs/1.11.1/deploy/upgrade/#manual-checks-before-upgrade -
More validation of the input manifest was moved into the webhook for the operator so that more immediate feedback is given when
kubectl applyis executed #2008 -
When a node is scheduled for deletion, its drain is now limited to a ~30 minute timeout, after which the node will be deleted #2011
-
For node deletion disk scheduling on the longhorn level will now be applied before the node is deleted #2012
v0.10.2
v0.10.2
What's Changed
-
Hetzner DNS will now be considered to be part of the hetzner cloud (
hcloud) provider within claudie #1993
If you're using hetzner for DNS you will also need to use thev0.9.19templates as from
this Claudie version onwards the previous templates will not work with the old hetzner dns solution. -
Claudie will now deploy longhorn with version 1.10.2 #1998
Before upgrading to this Claudie version from
v0.10.1, detach all Longhorn volumes and follow the manual checks described here: https://longhorn.io/docs/1.10.2/deploy/upgrade/#manual-checks-before-upgradeAdditional manual steps may also be required to ensure Longhorn upgrades correctly. To see the necessary steps, look at the
Migration Requirement Before Longhorn v1.10 Upgradesection in Longhorn v1.10.1 release
Bug fixes
- Fix API endpoint changes with proxy turned on
#1996