Skip to content

Commit 97a6149

Browse files
authored
Merge pull request #51995 from iamNoah1/localize-best-practice-cluster-large
[DE] localize best practice big cluster page
2 parents 3ff9dc5 + 021fc73 commit 97a6149

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
---
2+
reviewers:
3+
- lavalamp
4+
title: Überlegungen für große Cluster
5+
weight: 10
6+
---
7+
8+
Ein Cluster ist ein Satz von {{< glossary_tooltip text="Nodes" term_id="node" >}} (physikalisch oder virtuell), auf denen Kubernetes-Agents laufen.
9+
Diese ermöglichen es der Kubernetes-{{< glossary_tooltip text="Control Plane" term_id="control-plane" >}}, die Nodes zu steuern.
10+
Kubernetes {{< param "version" >}} unterstützt Cluster mit bis zu 5000 Nodes. Genauer gesagt ist Kubernetes auf folgende Konfigurationen ausgelegt:
11+
12+
- Nicht mehr als 110 Pods pro Node
13+
- Nicht mehr als 5000 Nodes
14+
- Nicht mehr als 150000 Pods insgesamt
15+
- Nicht mehr als 300000 Container insgesamt
16+
17+
Ein Cluster kann skaliert werden, indem weitere Nodes hinzugefügt werden. Wie man Nodes hinzufügen kann, hängt von der Art und Weise ab, wie das Cluster initial aufgesetzt wurde.
18+
19+
20+
## Ressourcenlimits von Cloud-Providern {#quota-issues}
21+
22+
Um Probleme mit Quota von Cloud-Providern zu vermeiden, sollten Sie bei der Erstellung eines Clusters mit vielen Nodes Folgendes in Betracht ziehen:
23+
24+
- Beantragen Sie eine Erhöhung der Quota für Cloud-Ressourcen wie:
25+
- Compute-Instanzen
26+
- CPUs
27+
- Speichervolumes
28+
- Verwendete IP-Adressen
29+
- Regelwerke zur Paketfilterung
30+
- Anzahl der Load Balancer
31+
- Netzwerk-Subnetze
32+
- Log-Streams
33+
- Skalierungsaktionen in Batches durchzuführen, mit einer Pause zwischen den Batches, da einige Cloud-Provider die Erstellung neuer Instanzen mit Rate Limits versehen.
34+
35+
## Komponenten der Control Plane
36+
37+
Für ein großes Cluster benötigen Sie eine Control Plane mit ausreichenden Rechen- und weiteren Ressourcen.
38+
39+
Typischerweise betreiben Sie eine oder zwei Control-Plane-Instanzen pro Ausfallzone, wobei Sie diese Instanzen zunächst vertikal skalieren und anschließend horizontal erweitern, wenn vertikale Skalierung keine Verbesserungen mehr bringt.
40+
41+
Sie sollten mindestens eine Instanz pro Ausfallzone betreiben, um Fehlertoleranz zu gewährleisten.
42+
Kubernetes-Nodes leiten den Datenverkehr nicht automatisch zu Control-Plane-Endpunkten in derselben Ausfallzone um; allerdings könnte Ihr Cloud-Provider eigene Mechanismen hierfür anbieten.
43+
44+
Beispielsweise können Sie mit einem Managed Load Balancer den Datenverkehr, der von Kubelets und Pods in der Ausfallzone _A_ stammt, so konfigurieren, dass er nur an die Control-Plane-Hosts in Zone _A_ weitergeleitet wird.
45+
Fällt ein einzelner Control-Plane-Host oder ein Endpunkt in Zone _A_ aus, bedeutet das, dass der gesamte Control-Plane-Datenverkehr der Nodes in Zone _A_ nun zwischen den Zonen geleitet wird.
46+
Mehrere Control-Plane-Hosts in jeder Zone reduzieren die Wahrscheinlichkeit dieses Szenarios.
47+
48+
### etcd-Speicher
49+
50+
Um die Leistung großer Cluster zu verbessern, können Sie Event-Objekte in einer separaten, dedizierten etcd-Instanz speichern.
51+
52+
Bei der Erstellung eines Clusters können Sie (mit benutzerdefinierten Tools):
53+
54+
- eine zusätzliche etcd-Instanz starten und konfigurieren
55+
- den {{< glossary_tooltip term_id="kube-apiserver" text="API-Server" >}} so konfigurieren, dass er diese Instanz zur Speicherung von Ereignissen nutzt
56+
57+
Siehe [Betrieb von etcd-Clustern für Kubernetes](/docs/tasks/administer-cluster/configure-upgrade-etcd/) und
58+
[Einrichten eines hochverfügbaren etcd-Clusters mit kubeadm](/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/) für Details zur Konfiguration und Verwaltung von etcd für große Cluster.
59+
60+
## Addon-Ressourcen
61+
62+
Kubernetes-[Ressourcenlimits](/docs/concepts/configuration/manage-resources-containers/) helfen dabei, die Auswirkungen von Speicherlecks und anderer Probleme zu minimieren,
63+
bei denen Pods und Container andere Komponenten beeinträchtigen können.
64+
65+
Diese Ressourcenlimits gelten auch für {{< glossary_tooltip text="Addons" term_id="addons" >}} ebenso wie für Anwendungs-Workloads.
66+
67+
Beispielsweise können Sie CPU- und Speicherlimits für eine Logging-Komponente festlegen:
68+
69+
```yaml
70+
...
71+
containers:
72+
- name: fluentd-cloud-logging
73+
image: fluent/fluentd-kubernetes-daemonset:v1
74+
resources:
75+
limits:
76+
cpu: 100m
77+
memory: 200Mi
78+
```
79+
80+
Die Standardlimits von Addons basieren in der Regel auf Daten, die aus dem Betrieb auf kleinen oder mittleren Kubernetes-Clustern gesammelt wurden.
81+
Bei großen Clustern verbrauchen Addons oft mehr Ressourcen als ihre Standardlimits.
82+
Wenn ein großer Cluster ohne Anpassung dieser Werte bereitgestellt wird, können Addons kontinuierlich beendet werden, da sie ihr Speicherlimit überschreiten.
83+
Alternativ laufen die Addons zwar, liefern aber eine schlechte Performance aufgrund von CPU-Zeit-Slice-Beschränkungen.
84+
85+
Um Probleme mit Addon-Ressourcen in großen Clustern zu vermeiden, sollten Sie Folgendes beachten:
86+
87+
- Einige Addons skalieren vertikal – es gibt eine Replik des Addons für das Cluster oder für eine gesamte Ausfallzone. Für diese Addons sollten Sie Anfragen und Limits erhöhen, wenn Sie Ihr Cluster erweitern.
88+
- Viele Addons skalieren horizontal – Sie erhöhen die Kapazität, indem Sie mehr Pods ausführen – aber bei einem sehr großen Cluster müssen Sie möglicherweise auch die CPU- oder Speicherlimits leicht anheben. Der [Vertical Pod Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler#readme) kann im *Recommender*-Modus ausgeführt werden, um empfohlene Werte für Anfragen und Limits bereitzustellen.
89+
- Einige Addons laufen als eine Instanz pro Node, gesteuert durch ein {{< glossary_tooltip text="DaemonSet" term_id="daemonset" >}}, z. B. ein Node-level Log-Aggregator. Ähnlich wie bei horizontal skalierten Addons müssen Sie eventuell CPU- oder Speicherlimits leicht erhöhen.
90+
91+
## {{% heading "whatsnext" %}}
92+
93+
- `VerticalPodAutoscaler` ist eine benutzerdefinierte Ressource, die Sie in Ihr Cluster deployen können, um Ressourcenanforderungen und Limits für Pods zu verwalten.
94+
Erfahren Sie mehr über den [Vertical Pod Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler#readme) und wie Sie ihn nutzen können,
95+
um Cluster-Komponenten einschließlich clusterkritischer Addons zu skalieren.
96+
97+
- Lesen Sie mehr über [Node-Autoscaling](/docs/concepts/cluster-administration/node-autoscaling/)
98+
99+
- [Addon Resizer](https://github.com/kubernetes/autoscaler/tree/master/addon-resizer#readme) unterstützt Sie dabei, die Addons automatisch an die Clustergröße anzupassen.

0 commit comments

Comments
 (0)