01
The starting point
A small, long-established biotech company ran its applications in two Kubernetes clusters on AWS with RKE1. With RKE1 reaching end-of-life in 2025, a different Kubernetes distribution was needed. On top of that came legacy issues: the Jenkins agents for the functional tests still ran on a local server, Jenkins itself could no longer be updated because of old Java dependencies, and even small changes to the deployment pipeline took a lot of administration effort. Credentials, for example for the database, were managed decentrally in the repositories.
02
Our approach
- 01 Migration of both Kubernetes clusters from RKE1 to Amazon EKS, without downtime for ongoing operations
- 02 Moving the local Jenkins agents to an EC2 instance in AWS as a first step, so the local server can be switched off
- 03 Updating Jenkins and its agents to a current, supported version
- 04 Switching deployments from Jenkins to GitOps with Rancher Fleet, while the build pipeline for the Docker images stays in Jenkins
- 05 Central credential management in HashiCorp Vault
03
The result
- Two clusters on Amazon EKS, migrated without downtime
- A supported Kubernetes platform instead of a distribution at the end of its life cycle
- Jenkins back on a supported version, and with it current security updates
- Deployments via GitOps instead of a Jenkins pipeline that was costly to maintain
- Credentials stored centrally and encrypted in HashiCorp Vault
- The way is clear to switch off the local server