Skip to content

Optional Health Check Add-on for LoadBalancer API #946

@afritzler

Description

@afritzler

Background

In the IronCore project, the LoadBalancer API currently manages network traffic distribution. We aim to introduce an optional health check feature for NetworkInterface targets to enhance this functionality, ensuring it remains an optional add-on that preserves existing behavior when not configured.

Goal

Implement an optional health check mechanism for NetworkInterface targets attached to the LoadBalancer. This feature aims to improve reliability when enabled, while keeping the current behavior as the default when not configured.

Proposed Feature

Optional Health Check for NetworkInterfaces:

  • Objective: Provide an optional mechanism to assess the health status of NetworkInterface targets.
  • Mechanism:
    • Health Check Parameters (Optional):
      • Port: Port on the NetworkInterface for the health check.
      • Protocol: Protocol used (e.g., TCP, HTTP, HTTPS).
      • Interval: Frequency of health check.
      • Timeout: Duration to wait for a response.
      • Unhealthy Threshold: Consecutive failed checks before marking as unhealthy.
      • Healthy Threshold: Consecutive successful checks before marking as healthy again.
    • Default Behavior:
      • Without health check configuration, the LoadBalancer assumes all targets are viable for traffic.

Expected Outcomes

  1. Enhanced Flexibility and Reliability: Optional health check mechanism to direct traffic to healthy targets, maintaining existing functionality when not used.
  2. Dynamic and Efficient Traffic Management: Real-time adjustments in traffic distribution based on target health status.
  3. User Configurability: Ability for users to opt-in and tailor health check parameters.
  4. API Enhancement Proposal: Develop a comprehensive enhancement proposal documenting the changes to the LoadBalancer API, detailing the new health check feature, its configuration options, and integration with existing functionality.

Preparatory Tasks

  1. Research on Kubernetes Service Endpoint Availability:
    • Examine Kubernetes approaches to health checks and endpoint availability.
  2. Study of Other IaaS Implementations:
    • Explore health check implementations in other IaaS contexts.
  3. Analysis of Integration Challenges:
    • Identify potential challenges in integrating this feature with current LoadBalancer API and NetworkInterface setups.

Request for Comments

We seek feedback on:

  • Proposed health check structure and behavior.
  • Insights from Kubernetes and other IaaS implementations.
  • Additional tasks or considerations for effective implementation.

Conclusion

This proposal for an optional health check add-on aims to enhance the IronCore project's LoadBalancer API with improved reliability and user control. Community collaboration is key to refining and successfully integrating this feature.


This issue is created to reflect the evolving requirements of the IronCore project. We value community expertise and collaboration for this initiative.

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    Status

    📋 Todo

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions