Tag: seeder, clouds


The Kublr Seeder component is a SystemD service written in Go, running on managed cluster nodes, and responsible for updating the Kublr agent binary and configuration based on the cluster specification.

Unlike the Kublr agent and Kubernetes, the seeder functionality is very static and its significant changes are very rare, so it does not need to be updated often. Seeder installation and configuration is a part of infrastructure (VM) initialization script (e.g. cloud-init script specified in the cloud configuration). For all intents and purposes the seeder setup and configuration should be considered a part of (virtual) hardware (VM) configuration.


In most cases seeder does not need to be updated or reinstalled, and in most cases the seeder version will remain unchanged from the moment of the cluster creation; so for example it is not unusual to see kublr-seeder v1.17.0 in Kublr cluster with Kublr agent and Kubernetes v1.26.1.


At the same time sometimes seeder update is necessary due to issues or vulnerabilities discovered.

A latest example of such an issue is kubernetes go-client v0.26.0 memory leak issue.


Please follow this instruction, if your current Kublr Seeder versions is one of 1.25.6-4, 1.25.6-5, 1.24.9-4, 1.24.9-5, 1.23.15-4, 1.23.15-5, 1.22.17-4, 1.22.17-5, 1.22.17-6, 1.22.17-7, 1.21.14-22, 1.21.14-23


1. Upgrade Kublr Controlplane to v1.25.4 or above


2. Modify cluster specification to use correct Seeder version, for example 1.25.9-13, and update the cluster:


spec:
  kublrSeederBinary:
    kublrAgentRef: 1.25.9-13


3. Go to the cloud console and terminate impacted nodes one by one waiting for the nodes to restart and recover in Kubernetes. The nodes should restart with the new version of the seeder.