Skip to content

Implement Pool Health Proposal #1472

@friegger

Description

@friegger

Summary

To determine the availability and health of each pool (compute, storage), we propose introducing heartbeats and status conditions of pools.

Similar to Kubernetes' node heartbeats & status conditions, there are 2 parties involved in this:

  • The pool itself, regularly reporting its status by patching the *Pool resource's status and acquiring / keeping a lease object within the ironcore--lease namespace (with type being either machinepool, volumepool or bucketpool). For references on leases, see the leases Kubernetes documentation.
  • A pool controller within the IronCore control plane that updates a pool object's status conditions depending on the heartbeats of the pool.

ToDos

  • heartbeats
    • machinepoollet creates and updates Lease in ironcore-machinepool-lease namespace
    • volumepoollet creates and updates Lease in ironcore-volumepool-lease namespace
    • bucketpoollet creates and updates Lease in ironcore-bucketpool-lease namespace
  • controllers ironcore/controller/*pool
    • machinepool-lifecycle-controller that monitors the Lease and Ready Condition
    • x-pool-lifecycle-controller that monitors the Lease and Ready Condition
  • kustomize config adjustments

Motivation

See the proposal's motivation section

Metadata

Metadata

Assignees

Labels

area/iaasIssues related to IronCore IaaS development.enhancementNew feature or request

Type

No fields configured for Task.

Projects

Status

🧑‍💻 In Progress

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions