-
Notifications
You must be signed in to change notification settings - Fork 2
MEP-19: Zone Awareness #147
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
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for metal-stack-io ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Gerrit91
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for writing this up. Here is a first set of suggestions, mainly for the introductory sections.
| To support explicit region and zone concepts in metal-stack, several functional and architectural requirements must be met. The following considerations focus primarily on the Kubernetes integration and cluster topology aspects: | ||
| - Proper spreading of worker nodes and control plane components across [multiple zones](https://kubernetes.io/docs/setup/best-practices/multiple-zones/) and regions must be possible. | ||
| - Nodes that belong to the same Kubernetes cluster must have the capability to communicate directly with each other, even if they are located in different partitions, provided that network configurations allow this communication using their respective Node CIDRs. | ||
| - It must be possible for nodes within a single Kubernetes cluster to use different Node CIDR ranges, depending on their partition or zone assignment. Major cloud providers use node groups to configure Node CIRDs differently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this required? In GCP this is not the case, node IPs are not in different CIDR ranges.
| - It must be possible for nodes within a single Kubernetes cluster to use different Node CIDR ranges, depending on their partition or zone assignment. Major cloud providers use node groups to configure Node CIRDs differently. | |
| - It must be possible for nodes within a single Kubernetes cluster to use different Node CIDR ranges, depending on their partition or zone assignment. Major cloud providers use node groups to configure Node CIDRs differently. |
| - Zones stay separate failure domains (e.g. a failure in the EVPN control-plane of one zone should not affect the other to avoid EVPN fate-sharing) | ||
|
|
||
| ## Criteria | ||
| - Number of hops: for communication btw. worker nodes, to the internet and to the storage. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Introduction sentence is necessary. Which criteria do we talk about?
|
Some feedback from "the outside": This MEP so far focuses heavily on how the traffic between the zones could be routed. What seems to be missing is how zone awareness would work on a conceptual level, how would it look like in the CLI etc. Some questions:
|
Spreading of machines is a actually done only on a partition level, which would not change with this MEP. Instead the caller must decide how in how many partitions of a zone machines should be created. So the logic you are referring to is up to a higher level, like CAPI or Gardener.
Firewall references to a firewall created by metal-stack.
metal-stack could create multiple firewalls per cluster, there is one open feature called "distance aware routing" which must be implemented during this MEP.
|
Co-authored-by: Gerrit <Gerrit91@users.noreply.github.com>
Co-authored-by: Gerrit <Gerrit91@users.noreply.github.com>
Co-authored-by: Gerrit <Gerrit91@users.noreply.github.com>
Co-authored-by: Gerrit <Gerrit91@users.noreply.github.com>
Description
This PR adds the new MEP-19: Zone Awareness in metal-stack.io.