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

[need #12] Refactor DNS name extraction #13

Open
wants to merge 1 commit into
base: maiao.I5f01e93edd2b8c48689588a871905047d4fbed8f
Choose a base branch
from

Conversation

tjamet
Copy link
Contributor

@tjamet tjamet commented Nov 29, 2024

Goal

Ease the implementation of CRD based multi-ingress controller traffic routing

Committer details Local-Branch: main
Related changes
Parent changes
Extract ingress and endpoints test builders to dedicated files (#7) Goal ---

Increase the visibility of those helpers for future tests

Enable make generate manifests (#8) This was broken in the current state
refactor: extract setting owner reference to a helper (#9)
refactor the way healtcheck is added (#10) Goal ---

Ease tests and increase code readability

refactor ingress backend pod detection (#11) Move the detection at the ingress level rather than per rule

Goals

  • Prepare the case to support multiple ingress controllers through CRDs
  • Increase code readability and testeability
Prevent changing dnsEndpoint name and namespace attributes in createOrUpdate (#12) This is not permitted by controllerRuntime and should not be performed
Future changes
Add fine-grain ingress DNS control through CRD (#14) Context ---

Handling usual cluster operations, we often come to operate higher risk changes like bumping ingress controller
versions, changing the underneath ingress service type (for example moving from an AWS ELB to an AWS NLB).

Doing so, the safest way would be to be able to provision a new ingress controller and progressively migrating traffic
to the new instance.

Problems

Currently, traffic controller reads the host and load balancer reference using
the ingress status.

This prevents from being able to handle and control weighted records across the different ingress controllers.

Goal

Enable fine-grained routing between various ingress controllers in the same cluster.

Unblocked use-cases

  • Progressively change and test the ingress infrastructure (load balancer, ...) and versions
  • Allow sharding ingress controllers at the DNS level

Goal
---

Ease the implementation of CRD based multi-ingress controller traffic routing

Change-Id: I46f513341ce01ec6e9d67897c6d0cb58aeec3021
@tjamet tjamet force-pushed the maiao.I46f513341ce01ec6e9d67897c6d0cb58aeec3021 branch from cdf930a to d1b3f8e Compare November 29, 2024 20:01
@tjamet tjamet force-pushed the maiao.I5f01e93edd2b8c48689588a871905047d4fbed8f branch from 832eea3 to c76cc2b Compare November 29, 2024 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants