Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce k8s controllers #63

Open
jewertow opened this issue Nov 4, 2024 · 1 comment
Open

Introduce k8s controllers #63

jewertow opened this issue Nov 4, 2024 · 1 comment
Labels
area/configuration area/controller enhancement New feature or request epic Given issue is an umbrella for more fine-grained work items

Comments

@jewertow
Copy link
Collaborator

jewertow commented Nov 4, 2024

Currently, we use Helm to manage the controller deployment and its configuration, which is passed as CLI arguments. This approach offers limited flexibility, as any configuration change requires a controller restart and can lead to pod failures in case of misconfiguration.

We create required Istio resources only when necessary, driven exclusively by notifications from the FDS Client. However, this approach has a drawback - it is not reliable and does not ensure the desired state of the cluster after resources are created. Since there is no ongoing reconciliation, any drift from the intended configuration, whether due to user modifications or controller uninstallation will potentially leave the cluster in a broken state.

To address these challenges, we should implement reconciliation-based approach, where the controllers continuously monitor and enforces the desired state of the cluster.

This involves:

  • introducing a declarative API to create Mesh Federation, allowing to:
    • selectively define which services should be exported
    • provide remote mesh details to connect with local instance
    • define which services should be imported from a given remote mesh
  • automating cluster (and Istio) configuration to provide federation functionality
  • implementing a mechanism to detect drifts and correct the configuration to have functional federated meshes
  • gracefully handle uninstallation
@bartoszmajsak bartoszmajsak changed the title Improve k8s config mode Introduce k8s controllers Jan 20, 2025
@bartoszmajsak
Copy link
Collaborator

I reworked this issue to be a top-level epic serving as an umbrella for all the work related to k8s controller machinery.

@bartoszmajsak bartoszmajsak added the epic Given issue is an umbrella for more fine-grained work items label Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/configuration area/controller enhancement New feature or request epic Given issue is an umbrella for more fine-grained work items
Projects
None yet
Development

No branches or pull requests

2 participants