|
| 1 | +# Claudie `v0.13` |
| 2 | + |
| 3 | +!!! warning "Upgrade to this release from previous `v0.12` version requires manual intervention (due to the MongoDB version upgrade and changes to the CNI)." |
| 4 | + |
| 5 | +## Readme Before Deploying |
| 6 | + |
| 7 | +### Kubernetes version changes |
| 8 | + |
| 9 | +The support for kubernetes `v1.32.x` has been dropped. The currently supported versions are `v1.33`,`v1.34`,`v1.35`. |
| 10 | +Make sure to update your kubernetes version to at least `v1.33`, before updating to this new release. |
| 11 | + |
| 12 | +### MongoDB |
| 13 | + |
| 14 | +This version of Claudie updates MongoDB. |
| 15 | + |
| 16 | +It is required that before deploying this new version that the number of |
| 17 | +replicas of the current deployment for MongoDB is scaled down to 0. |
| 18 | + |
| 19 | +```bash |
| 20 | +kubectl scale deploy/mongodb -n claudie --replicas=0 |
| 21 | +``` |
| 22 | + |
| 23 | + |
| 24 | +After deploying: |
| 25 | + |
| 26 | +- Check if the version running in the primary replica is 7.0 via |
| 27 | + |
| 28 | +```bash |
| 29 | +kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ |
| 30 | + -u <username> -p <password> --authenticationDatabase admin \ |
| 31 | + --eval "db.adminCommand({ buildInfo: 1 }).version" |
| 32 | +``` |
| 33 | + |
| 34 | +- Set the feature set to version 7.0 |
| 35 | + |
| 36 | +```bash |
| 37 | +kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ |
| 38 | + -u <username> -p <password> --authenticationDatabase admin \ |
| 39 | + --eval "db.adminCommand( { setFeatureCompatibilityVersion: '7.0', confirm: true } )" |
| 40 | +``` |
| 41 | + |
| 42 | +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. |
| 43 | + |
| 44 | +- Verify the command successfully updated the feature set. |
| 45 | + |
| 46 | +```bash |
| 47 | +kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ |
| 48 | + -u <username> -p <password> --authenticationDatabase admin \ |
| 49 | + --eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })" |
| 50 | +``` |
| 51 | + |
| 52 | +### CNI changes |
| 53 | + |
| 54 | +After deploying this version of Claudie, the next scheduled task that passes through |
| 55 | +the `kube-eleven` stage will update the CNI, during which `kube-proxy` will be removed |
| 56 | +and replaced by cilium-cni running in `eBPF` mode. |
| 57 | + |
| 58 | +**This update may introduce a short downtime of ~5-10mins, while the `kube-proxy` is being replaced** |
| 59 | + |
| 60 | +Note that claudie has a periodic refresh of the infrastructure every ~30min, thus if until then no task |
| 61 | +is scheduled that passes through the `kube-eleven` stage, this periodic refresh will |
| 62 | +take care of it. |
| 63 | + |
| 64 | +## Deployment |
| 65 | + |
| 66 | +To deploy Claudie `v0.13.x`, please: |
| 67 | + |
| 68 | +1. Download Claudie.yaml from [release page](https://github.com/berops/claudie/releases) |
| 69 | + |
| 70 | +2. Verify the checksum with `sha256` (optional) |
| 71 | + |
| 72 | + We provide checksums in `claudie_checksum.txt` you can verify the downloaded yaml files against the provided checksums. |
| 73 | + |
| 74 | +3. Install Claudie using `kubectl` |
| 75 | + |
| 76 | +> We strongly recommend changing the default credentials for MongoDB, MinIO before you deploy it. |
| 77 | +
|
| 78 | +``` |
| 79 | +kubectl apply -f https://github.com/berops/claudie/releases/latest/download/Claudie.yaml |
| 80 | +``` |
| 81 | + |
| 82 | +To further harden Claudie, you may want to deploy our pre-defined network policies: |
| 83 | + ```bash |
| 84 | + # for clusters using cilium as their CNI |
| 85 | + kubectl apply -f https://github.com/berops/claudie/releases/latest/download/network-policy-cilium.yaml |
| 86 | + ``` |
| 87 | + ```bash |
| 88 | + # other |
| 89 | + kubectl apply -f https://github.com/berops/claudie/releases/latest/download/network-policy.yaml |
| 90 | + ``` |
| 91 | + |
| 92 | + |
| 93 | +## What's Changed |
| 94 | +- Updated MongoDB to version 7 [#2075](https://github.com/berops/claudie/pull/2075) |
| 95 | + |
| 96 | + - Before deploying scale down MongoDB to 0 replicas. |
| 97 | +```bash |
| 98 | +kubectl scale deploy/mongodb -n claudie --replicas=0 |
| 99 | +``` |
| 100 | + |
| 101 | + - After deploying, check if the version running in the primary replica is 7.0 |
| 102 | +```bash |
| 103 | +kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ |
| 104 | + -u <username> -p <password> --authenticationDatabase admin \ |
| 105 | + --eval "db.adminCommand({ buildInfo: 1 }).version" |
| 106 | +``` |
| 107 | + |
| 108 | + - Set the feature set to version 7.0 |
| 109 | +```bash |
| 110 | +kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ |
| 111 | + -u <username> -p <password> --authenticationDatabase admin \ |
| 112 | + --eval "db.adminCommand( { setFeatureCompatibilityVersion: '7.0', confirm: true } )" |
| 113 | +``` |
| 114 | +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. |
| 115 | + |
| 116 | + - Verify the command successfully updated the feature set. |
| 117 | +```bash |
| 118 | +kubectl exec -it <primary-mongo-pod> -n claudie -- mongosh \ |
| 119 | + -u <username> -p <password> --authenticationDatabase admin \ |
| 120 | + --eval "db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })" |
| 121 | +``` |
| 122 | + |
| 123 | +- 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.x` before deploying.[`#2079`](https://github.com/berops/claudie/pull/2079) |
| 124 | + |
| 125 | +- Added support for a new cloud provider Verda Cloud [#2088](https://github.com/berops/claudie/pull/2088) |
| 126 | + |
| 127 | +- Added support for OVH as native compute and DNS provider [#2117](https://github.com/berops/claudie/pull/2117) |
| 128 | + |
| 129 | +- Cilium will now be deployed in `eBPF` mode [#2091](https://github.com/berops/claudie/pull/2091) [#2109](https://github.com/berops/claudie/pull/2109) |
| 130 | + |
| 131 | +- General maintenance update of dependencies. [`#2080`](https://github.com/berops/claudie/pull/2080), [`#2107`](https://github.com/berops/claudie/pull/2107) |
| 132 | + |
| 133 | +- Fixed some of the workflow ordering in scheduled tasks [#2115](https://github.com/berops/claudie/pull/2115) |
0 commit comments