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

fog-view - blue/green and zone based deployments. #4009

Merged
merged 6 commits into from
Oct 1, 2024

Conversation

jgreat
Copy link
Contributor

@jgreat jgreat commented Sep 26, 2024

Motivation

Set up deployments to allow us to specify blue/green and specific availability zones.

Instead of a monolithic install for fog-view components we break the install out into shared network components and the "stacks" that container the shard sets.

  • fog-view-services - which contains the ingress and supporting routing objects. The ingress routing can be updated by modifying the color: selector label on the fog-view-service-router service object.
  • fog-view-fsg - the fogShardGenerator object. This object will now be deployed as a blue/green set and statically tied to an Availability Zone so we can ensure balancing.

A common deployment will use these helm deployments.

fog-view-service  # Ingress and network objects

fog-view-fsg-bl-z1  # fogShardGenerator blue on zone 1
fog-view-fsg-bl-z2  # fogShardGenerator blue on zone 2
fog-view-fsg-bl-z3  # fogShardGenerator blue on zone 3

On an upgrade we will add a green set. Once the green set is loaded we can switch the selector labels on the fog-view-service-router service to start routing traffic.

fog-view-fsg-gr-z1  # fogShardGenerator green on zone 1
fog-view-fsg-gr-z2  # fogShardGenerator green on zone 2
fog-view-fsg-gr-z3  # fogShardGenerator green on zone 3

Future Work

  • rework fog-ledger to use this deployment pattern

Copy link

⚠️ Downstream repo mobilecoinofficial/full-service failed to build. Check actions status for details.

Copy link

⚠️ Downstream repo mobilecoinofficial/full-service failed to build. Check actions status for details.

Copy link

⚠️ Downstream repo mobilecoinofficial/full-service failed to build. Check actions status for details.

Copy link
Contributor

@joekottke joekottke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a blocking comment, but I remember that we ran into issues with the store names getting too long in the past, does this change still fit within the character limit?

@jgreat
Copy link
Contributor Author

jgreat commented Oct 1, 2024

I believe so. I tested it up to 1m block. If we do run into a limitation we can use fullnameOverride to tweak the runtime names.

@jgreat jgreat merged commit da6ff85 into release/v6.1 Oct 1, 2024
108 checks passed
@jgreat jgreat deleted the jgreat/fog-view-fsg branch October 1, 2024 16:21
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