Releases: berops/claudie
Claudie v0.9.0
Most notable changes (TL;DR)
- Support for pluggable external terraform files was added, breaking the dependency of updated terraform files on a new Claudie version. The ability to arbitrarily change the templates used by Claudie was made available to the user. As a result, Claudie has implemented a rolling update of the infrastructure in case a change in the terraform templates is detected, by gradually updating the build cluster one nodepool at a time.
- Merged the Scheduler and Context-box services into a single service called Manager.
- Each Nodepool now has its own SSH keys instead of sharing a single SSH key per kubernetes cluster.
Experimental
- We have added support for an HTTP proxy to be used when building Kubernetes clusters. This was mainly motivated by the issues we encountered while building multi-provider clusters, where some IP addresses assigned to some of the VMs were being misused and blacklisted/blocked in various registries. By using the HTTP proxy, it is possible to work around this and get the cluster built successfully.
Currently the HTTP proxy is experimental, it is made available by modifying the HTTP_PROXY_MODE
in the Claudie config map in the claudie
namespace. The possible values are (on|off|default)
. Default means that if a kubernetes cluster uses hetzner nodepools, it will automatically switch to using the proxy, as we have encountered the most bad IP issues with hetzner. By default the proxy is turned off.
It should be noted that the proxy is still in an experimental phase, where the API for interacting with the proxy may change in the future. Therefore, clusters using this feature in this release run the risk of being backwards incompatible with future 0.9.x
releases, which will further stabilise the proxy API.
v0.9.0
What's changed
-
Support added for Ubuntu 24.04 in Azure and Hetzner #1401
-
Each nodepool now has its own SSH keys, a change from the previous state where all nodepools shared the same SSH keys.. #1442
-
Added support for pluggable external terraform files, breaking the dependency of updated terraform files on a new Claudie version. #1460
-
With the support of external terraform templates, the ability to arbitrarily change the templates used by Claudie was made available to the user. As a result, Claudie has implemented a rolling update of the infrastructure in case a change in the terraform templates is detected, by gradually updating the build cluster one nodepool at a time. #1525
-
The Scheduler and Context-Box microservices were merged into a single service called Manager. This was done because these two services were tightly coupled, and parts of the context box service were causing state correctness issues within Claudie and needed to be fixed. #1498
-
Latest supported kubernetes version is now v1.30.x #1498
-
Logs in all microservices have been changed to always log what is being executed, rather than only when the LOG_LEVEL is set to debug. #1507
-
Longhron version was bumped from 1.6.0 to 1.7.0 #1511
-
When building a Kubernetes cluster without a load balancer for the API server, the generated kubeconfig will now work for all control plane nodes defined in the input manifest, instead of just one. #1546
Experimental
- Support for a HTTP proxy was added. The HTTP Proxy can be turned on by setting the
HTTP_PROXY_MODE
environment variable in the claudie config map toon
#1440
Bug fixes
- In the case when the infrastructure fails to be build or is only partially build
the deletion process was stuck on acquiring a lock which was never created, this issue is no longer present #1463 - The init process was added to the Ansible microservice because previously spawned Ansible playbooks left behind zombie processes that consumed resources. The init process takes care of cleaning up these processes. #1527
- Fixed an edge case where part of the load balancer infrastructure was incorrectly destroyed when a failure occurred in the middle of the workflow. #1533
- The whitespace when generating keys will no longer be trimmed #1539
- GenesisCloud autoscaling will now correctly work #1543
Claudie v0.8.1
v0.8.1
README: Nodepools with genesis cloud provider will trigger a recreation of the cluster due to the change in terraform files. Make a backup of your data if your cluster constains genesis cloud nodepools.
Features
- disable deploying Node Local DNS by default #1382
- Add immutability to nodepools #1385
- More readable validation errors #1397
Bugfixes
Claudie v0.8.0
v0.8.0
README Due to updating terraform files the v0.8.x
clusters build with claudie version v0.7.x
will be forced to be recreated.
Nodepool/cluster names that do not meet the required length of 14 characters for nodepool names and 28 characters for cluster names must be adjusted or the new length validation will fail. You can achieve a rolling update by adding new nodepools with the new names and then removing the old nodepools before updating to version 0.8.
Before updating make backups of your data
Features
- Allow to reaply input manifest after ERROR #1337
- Allow other usernames with root access for static nodes #1335
- Fix substring match resulting in deletion of wrong nodes #1350
- Add validation for provider definitions #1352
- Correctly change the API endpoint #1366
- Restrict nodepool and cluster names to 14 and 28 characters respectively, and add the ability to define and use providers of the same kind in a single cluster #1348
- Prohibit changing the cloud provider in a nodepool #1371
Claudie v0.7.5
Claudie v0.7.4
Claudie v0.7.3
Claudie v0.7.2
Claudie v0.7.1
v0.7.1
Migrate from the legacy package repositories apt.kubernetes.io, yum.kubernetes.io
to the Kubernetes community-hosted repositories pkgs.k8s.io
.
A detailed how to can be found in https://kubernetes.io/blog/2023/08/31/legacy-package-repository-deprecation/
Kubernetes version 1.24 is no longer supported.
1.25.x 1.26.x 1.27.x are the currently supported versions.
Bugfixes
Claudie v0.7.0
v0.7.0
Upgrade procedure:
Before upgrading Claudie, upgrade Longhorn to 1.6.x as per this guide. In most cases this will boil down to running the following command:
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.6.0/deploy/longhorn.yaml
.
Features
- Add possibility to use external s3/dynamo/mongo instances #1191
- Add Genesis Cloud support #1210
- Add annotations support for nodepools in Input Manifest #1238
- Update Longhorn to latest version #1213