You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Standards/scs-0214-v2-k8s-node-distribution.md
+17-5Lines changed: 17 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,15 +41,15 @@ of the whole cluster.
41
41
## Design Considerations
42
42
43
43
Most design considerations of this standard follow the previously written Decision Record
44
-
[Kubernetes Nodes Anti Affinity](https://github.com/SovereignCloudStack/standards/blob/main/Standards/scs-0213-v1-k8s-nodes-anti-affinity.md) as well as the Kubernetes documents about
45
-
[High Availability](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/) and [Best practices for large clusters](https://kubernetes.io/docs/setup/best-practices/cluster-large/).
44
+
[Kubernetes Nodes Anti Affinity][scs-0213-v1] as well as the Kubernetes documents about
45
+
[High Availability][k8s-ha] and [Best practices for large clusters][k8s-large-clusters].
46
46
47
47
SCS wishes to prefer distributed, highly-available systems due to their obvious advantages
48
48
like fault-tolerance and data redundancy. But it also understands the costs and overhead
49
49
for the providers associated with this effort, since the infrastructure needs to have
50
50
hardware which will just be used to provide fail-over safety or duplication.
51
51
52
-
The document [Best practices for large clusters](https://kubernetes.io/docs/setup/best-practices/cluster-large/) describes the concept of a failure zone.
52
+
The document [Best practices for large clusters][k8s-large-clusters] describes the concept of a failure zone.
53
53
This term isn't defined any further, but can in this context be described as a number of
54
54
physical (computing) machines in such a vicinity to each other (either through physical
55
55
or logical interconnection in some way), that specific problems inside this zone would put
@@ -67,7 +67,7 @@ This standard formulates the requirement for the distribution of Kubernetes node
67
67
to provide a fault-tolerant and available Kubernetes cluster infrastructure.
68
68
69
69
The control plane nodes MUST be distributed over multiple physical machines.
70
-
Kubernetes provides [best-practices](https://kubernetes.io/docs/setup/best-practices/multiple-zones/) on this topic, which are also RECOMMENDED by SCS.
70
+
Kubernetes provides [best-practices][k8s-zones] on this topic, which are also RECOMMENDED by SCS.
71
71
72
72
At least one control plane instance MUST be run in each "failure zone" used for the cluster,
73
73
more instances per "failure zone" are possible to provide fault-tolerance inside a zone.
@@ -83,10 +83,16 @@ These labels MUST be kept up to date with the current state of the deployment.
83
83
84
84
-`topology.kubernetes.io/zone`
85
85
86
+
Corresponds with the label described in [K8s labels documentation][k8s-labels-docs].
87
+
It provides a logical zone of failure on the side of the provider, e.g. a server rack
88
+
in the same electrical circuit or multiple machines bound to the internet through a
89
+
singular network structure. How this is defined exactly is up to the plans of the provider.
90
+
The field gets autopopulated most of the time by either the kubelet or external mechanisms
91
+
like the cloud controller.
86
92
87
93
-`topology.kubernetes.io/region`
88
94
89
-
Corresponds with the label described in [K8s labels documentation](https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesiozone).
95
+
Corresponds with the label described in [K8s labels documentation][k8s-labels-docs].
90
96
It describes the combination of one or more failure zones into a region or domain, therefore
91
97
showing a larger entity of logical failure zone. An example for this could be a building
92
98
containing racks that are put into such a zone, since they're all prone to failure, if e.g.
@@ -115,3 +121,9 @@ It also produces warnings and informational outputs, e.g., if labels don't seem
115
121
116
122
This is version 2 of the standard; it extends [version 1](scs-0214-v1-k8s-node-distribution.md) with the
0 commit comments