Skip to content

Commit 053185f

Browse files
authored
Merge pull request #44764 from drewhagen/merged-main-dev-1.30
Merged main into dev 1.30
2 parents 0ad51e4 + 73cb97b commit 053185f

File tree

391 files changed

+51500
-5190
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

391 files changed

+51500
-5190
lines changed

OWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ emeritus_approvers:
1313
# - jaredbhatti, commented out to disable PR assignments
1414
# - jimangel, commented out to disable PR assignments
1515
# - kbarnard10, commented out to disable PR assignments
16+
# - kbhawkey, commented out to disable PR assignments
1617
# - steveperry-53, commented out to disable PR assignments
1718
- stewart-yu
1819
# - zacharysarah, commented out to disable PR assignments

OWNERS_ALIASES

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ aliases:
55
- onlydole
66
- sftim
77
sig-docs-blog-reviewers: # Reviewers for blog content
8+
- Gauravpadam
89
- mrbobbytables
910
- nate-double-u
1011
- onlydole
1112
- sftim
1213
sig-docs-localization-owners: # Admins for localization content
1314
- a-mccarthy
1415
- divya-mohan0209
15-
- kbhawkey
1616
- natalisucks
1717
- onlydole
1818
- reylejano
@@ -27,8 +27,8 @@ aliases:
2727
- rlenferink
2828
sig-docs-en-owners: # Admins for English content
2929
- divya-mohan0209
30-
- katcosgrove # RT 1.29 Docs Lead
31-
- kbhawkey
30+
- katcosgrove # RT 1.30 Lead
31+
- drewhagen # RT 1.30 Docs Lead
3232
- natalisucks
3333
- nate-double-u
3434
- onlydole
@@ -124,7 +124,6 @@ aliases:
124124
- ysyukr
125125
sig-docs-leads: # Website chairs and tech leads
126126
- divya-mohan0209
127-
- kbhawkey
128127
- natalisucks
129128
- onlydole
130129
- reylejano

README-pl.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ W tym repozytorium znajdziesz wszystko, czego potrzebujesz do zbudowania [strony
99

1010
## Jak używać tego repozytorium
1111

12-
Możesz uruchomić serwis lokalnie poprzez Hugo (Extended version) lub ze środowiska kontenerowego. Zdecydowanie zalecamy korzystanie z kontenerów, bo dzięki temu lokalna wersja będzie spójna z tym, co jest na oficjalnej stronie.
12+
Możesz uruchomić serwis lokalnie poprzez [Hugo (Extended version)](https://gohugo.io/) lub ze środowiska kontenerowego. Zdecydowanie zalecamy korzystanie z kontenerów, bo dzięki temu lokalna wersja będzie spójna z tym, co jest na oficjalnej stronie.
1313

1414
## Wymagania wstępne
1515

@@ -29,17 +29,24 @@ cd website
2929

3030
Strona Kubernetesa używa [Docsy Hugo theme](https://github.com/google/docsy#readme). Nawet jeśli planujesz uruchomić serwis w środowisku kontenerowym, zalecamy pobranie podmodułów i innych zależności za pomocą polecenia:
3131

32-
```bash
33-
# pull in the Docsy submodule
32+
### Windows
33+
```powershell
34+
# aktualizuj podrzędne moduły
3435
git submodule update --init --recursive --depth 1
3536
```
3637

38+
### Linux / inne systemy Unix
39+
```bash
40+
# aktualizuj podrzędne moduły
41+
make module-init
42+
```
43+
3744
## Uruchomienie serwisu w kontenerze
3845

3946
Aby zbudować i uruchomić serwis wewnątrz środowiska kontenerowego, wykonaj następujące polecenia:
4047

4148
```bash
42-
make container-image
49+
# Możesz ustawić zmienną $CONTAINER_ENGINE wskazującą na dowolne narzędzie obsługujące kontenery podobnie jak Docker
4350
make container-serve
4451
```
4552

@@ -53,11 +60,16 @@ Upewnij się, że zainstalowałeś odpowiednią wersję Hugo "extended", określ
5360

5461
Aby uruchomić i przetestować serwis lokalnie, wykonaj:
5562

56-
```bash
57-
# install dependencies
58-
npm ci
59-
make serve
60-
```
63+
- macOS i Linux
64+
```bash
65+
npm ci
66+
make serve
67+
```
68+
- Windows (PowerShell)
69+
```powershell
70+
npm ci
71+
hugo.exe server --buildFuture --environment development
72+
```
6173

6274
Zostanie uruchomiony lokalny serwer Hugo na porcie 1313. Otwórz w przeglądarce adres <http://localhost:1313>, aby obejrzeć zawartość serwisu. Po każdej zmianie plików źródłowych, Hugo automatycznie aktualizuje stronę i odświeża jej widok w przeglądarce.
6375

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ For more information about contributing to the Kubernetes documentation, see:
178178
- [Page Content Types](https://kubernetes.io/docs/contribute/style/page-content-types/)
179179
- [Documentation Style Guide](https://kubernetes.io/docs/contribute/style/style-guide/)
180180
- [Localizing Kubernetes Documentation](https://kubernetes.io/docs/contribute/localization/)
181+
- [Introduction to Kubernetes Docs](https://www.youtube.com/watch?v=pprMgmNzDcw)
181182

182183
### New contributor ambassadors
183184

assets/scss/_custom.scss

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,3 +1003,32 @@ div.alert > em.javascript-required {
10031003
margin: 0.25em;
10041004
}
10051005
}
1006+
1007+
// Adjust Search-bar search-icon
1008+
.search-bar {
1009+
display: flex;
1010+
align-items: center;
1011+
background-color: #fff;
1012+
border: 1px solid #4c4c4c;
1013+
border-radius: 20px;
1014+
vertical-align: middle;
1015+
flex-grow: 1;
1016+
overflow-x: hidden;
1017+
width: auto;
1018+
}
1019+
1020+
.search-bar:focus-within {
1021+
border: 2.5px solid rgba(47, 135, 223, 0.7);
1022+
}
1023+
1024+
.search-bar i.search-icon {
1025+
padding: .5em .5em .5em .75em;
1026+
opacity: .75;
1027+
}
1028+
1029+
.search-input {
1030+
flex: 1;
1031+
border: none;
1032+
outline: none;
1033+
padding: .5em 0 .5em 0;
1034+
}
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
---
2+
title: Über cgroup v2
3+
content_type: concept
4+
weight: 50
5+
---
6+
7+
<!-- overview -->
8+
9+
Auf Linux beschränken {{< glossary_tooltip text="control groups" term_id="cgroup" >}} die Ressourcen, die einem Prozess zugeteilt werden.
10+
11+
Das {{< glossary_tooltip text="kubelet" term_id="kubelet" >}} und die zugrundeliegende Container Runtime müssen mit cgroups interagieren um
12+
[Ressourcen-Verwaltung für Pods und Container](/docs/concepts/configuration/manage-resources-containers/) durchzusetzen. Das schließt CPU/Speicher Anfragen und Limits für containerisierte Arbeitslasten ein.
13+
14+
Es gibt zwei Versionen cgroups in Linux: cgroup v1 und cgroup v2. cgroup v2 ist die neue Generation der `cgroup` API.
15+
16+
<!-- body -->
17+
18+
19+
## Was ist cgroup v2? {#cgroup-v2}
20+
{{< feature-state for_k8s_version="v1.25" state="stable" >}}
21+
22+
cgroup v2 ist die nächste Version der Linux `cgroup` API. cgroup v2 stellt ein einheitliches Kontrollsystem mit erweiterten Ressourcenmanagement Fähigkeiten bereit.
23+
24+
cgroup v2 bietet einige Verbesserungen gegenüber cgroup v1, zum Beispiel folgende:
25+
26+
- Einzelnes vereinheitlichtes Hierarchiendesign in der API
27+
- Erhöhte Sicherheit bei sub-tree Delegierung zu Container
28+
- Neuere Features, wie [Pressure Stall Information](https://www.kernel.org/doc/html/latest/accounting/psi.html)
29+
- Erweitertes Ressourcen Zuteilungsmanagement und Isolierung über mehrfache Ressourcen
30+
- Einheitliche Erfassung für verschiedene Arten der Speicherzuteilung (Netzwerkspeicher, Kernelspeicher, usw.)
31+
- Erfassung nicht-unmittelbarer Ressourcenänderungen wie "page cache write backs"
32+
33+
Manche Kubernetes Funktionen verwenden ausschließlich cgroup v2 für erweitertes Ressourcenmanagement und Isolierung. Die [MemoryQoS](/blog/2021/11/26/qos-memory-resources/) Funktion, zum Beispiel, verbessert Speicher QoS und setzt dabei auf cgroup v2 Primitives.
34+
35+
36+
## cgroup v2 verwenden {#cgroupv2-verwenden}
37+
38+
Die empfohlene Methode um cgroup v2 zu verwenden, ist eine Linux Distribution zu verwenden, die cgroup v2 standardmäßig aktiviert und verwendet.
39+
40+
Um zu Kontrollieren ob ihre Distribution cgroup v2 verwendet, siehe [Identifizieren der cgroup Version auf Linux Knoten](#cgroup-version-identifizieren).
41+
42+
### Voraussetzungen {#Voraussetzungen}
43+
44+
cgroup v2 hat folgende Voraussetzungen:
45+
46+
* Betriebssystem Distribution ermöglicht cgroup v2
47+
* Linux Kernel Version ist 5.8 oder neuer
48+
* Container Runtime unterstützt cgroup v2. Zum Besipiel:
49+
* [containerd](https://containerd.io/) v1.4 und neuer
50+
* [cri-o](https://cri-o.io/) v1.20 und neuer
51+
* Das kubelet und die Container Runtime sind konfiguriert, um den [systemd cgroup Treiber](/docs/setup/production-environment/container-runtimes#systemd-cgroup-driver) zu verwenden
52+
53+
### Linux Distribution cgroup v2 Support
54+
55+
Für eine Liste der Linux Distributionen, die cgroup v2 verwenden, siehe die [cgroup v2 Dokumentation](https://github.com/opencontainers/runc/blob/main/docs/cgroup-v2.md)
56+
57+
<!-- the list should be kept in sync with https://github.com/opencontainers/runc/blob/main/docs/cgroup-v2.md -->
58+
* Container Optimized OS (seit M97)
59+
* Ubuntu (seit 21.10, 22.04+ empfohlen)
60+
* Debian GNU/Linux (seit Debian 11 bullseye)
61+
* Fedora (seit 31)
62+
* Arch Linux (seit April 2021)
63+
* RHEL und RHEL-basierte Distributionen (seit 9)
64+
65+
Zum Überprüfen ob Ihre Distribution cgroup v2 verwendet, siehe die Dokumentation Ihrer Distribution, oder folge den Anweisungen in [Identifizieren der cgroup Version auf Linux Knoten](#cgroup-version-identifizieren).
66+
67+
Man kann auch manuell cgroup v2 aktivieren, indem man die Kernel Boot Argumente anpasst. Wenn Ihre Distribution GRUB verwendet, muss `systemd.unified_cgroup_hierarchy=1` in `GRUB_CMDLINE_LINUX` unter `/etc/default/grub` hinzugefügt werden. Danach muss man `sudo update-grub` ausführen. Die empfohlene Methode ist aber das Verwenden einer Distribution, die schon standardmäßig cgroup v2 aktiviert.
68+
69+
### Migrieren zu cgroup v2 {#cgroupv2-migrieren}
70+
71+
Um zu cgroup v2 zu migrieren, müssen Sie erst sicherstellen, dass die [Voraussetzungen](#Voraussetzungen) erfüllt sind. Dann müssen Sie auf eine Kernel Version aktualisieren, die cgroup v2 standardmäßig aktiviert.
72+
73+
Das kubelet erkennt automatisch, dass das Betriebssystem auf cgroup v2 läuft, und verhält sich entsprechend, ohne weitere Konfiguration.
74+
75+
Nach dem Umschalten auf cgroup v2 sollte es keinen erkennbaren Unterschied in der Benutzererfahrung geben, es sei denn, die Benutzer greifen auf das cgroup Dateisystem direkt zu, entweder auf dem Knoten oder in den Containern.
76+
77+
cgroup v2 verwendet eine andere API als cgroup v1. Wenn es also Anwendungen gibt, die direkt auf das cgroup Dateisystem zugreifen, müssen sie aktualisiert werden, um cgroup v2 zu unterstützen. Zum Beispiel:
78+
79+
* Manche Überwachungs- und Sicherheitsagenten von Drittanbietern können vom cgroup Dateisystem abhängig sein.
80+
Diese müssen aktualisiert werden um cgroup v2 zu unterstützen.
81+
* Wenn Sie [cAdvisor](https://github.com/google/cadvisor) als eigenständigen DaemonSet verwenden, zum Überwachen von Pods und Container, muss es auf v0.43.0 oder neuer aktualisiert werden.
82+
* Wenn Sie Java Applikationen bereitstellen, sollten Sie bevorzugt Versionen verwenden, die cgroup v2 vollständig unterstützen:
83+
* [OpenJDK / HotSpot](https://bugs.openjdk.org/browse/JDK-8230305): jdk8u372, 11.0.16, 15 und neuer
84+
* [IBM Semeru Runtimes](https://www.ibm.com/support/pages/apar/IJ46681): 8.0.382.0, 11.0.20.0, 17.0.8.0, und neuer
85+
* [IBM Java](https://www.ibm.com/support/pages/apar/IJ46681): 8.0.8.6 und neuer
86+
* Wenn Sie das [uber-go/automaxprocs](https://github.com/uber-go/automaxprocs) Paket verwenden, vergewissern Sie sich, dass Sie v1.5.1 oder höher verwenden.
87+
88+
## Identifizieren der cgroup Version auf Linux Knoten {#cgroup-version-identifizieren}
89+
90+
Die cgroup Version hängt von der verwendeten Linux Distribution und der standardmäßig auf dem Betriebssystem konfigurierten cgroup Version ab. Zum Überprüfen der cgroup Version, die ihre Distribution verwendet, führen Sie den Befehl `stat -fc %T /sys/fs/cgroup/` auf dem Knoten aus:
91+
92+
```shell
93+
stat -fc %T /sys/fs/cgroup/
94+
```
95+
96+
Für cgroup v2, ist das Ergebnis `cgroup2fs`.
97+
98+
Für cgroup v1, ist das Ergebnis `tmpfs.`
99+
100+
## {{% heading "whatsnext" %}}
101+
102+
- Erfahre mehr über [cgroups](https://man7.org/linux/man-pages/man7/cgroups.7.html)
103+
- Erfahre mehr über [container runtime](/docs/concepts/architecture/cri)
104+
- Erfahre mehr über [cgroup drivers](/docs/setup/production-environment/container-runtimes#cgroup-drivers)
105+

content/de/docs/concepts/architecture/master-node-communication.md renamed to content/de/docs/concepts/architecture/control-plane-node-communication.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
11
---
2-
title: Master-Node Kommunikation
2+
title: Control-Plane-Node Kommunikation
33
content_type: concept
44
weight: 20
55
---
66

77
<!-- overview -->
88

9-
Dieses Dokument katalogisiert die Kommunikationspfade zwischen dem Master (eigentlich dem Apiserver) und des Kubernetes-Clusters.
9+
Dieses Dokument katalogisiert die Kommunikationspfade zwischen dem Control Plane (eigentlich dem Apiserver) und des Kubernetes-Clusters.
1010
Die Absicht besteht darin, Benutzern die Möglichkeit zu geben, ihre Installation so anzupassen, dass die Netzwerkkonfiguration so abgesichert wird, dass der Cluster in einem nicht vertrauenswürdigen Netzwerk (oder mit vollständig öffentlichen IP-Adressen eines Cloud-Providers) ausgeführt werden kann.
1111

1212

1313

1414

1515
<!-- body -->
1616

17-
## Cluster zum Master
17+
## Cluster zum Control Plane
1818

19-
Alle Kommunikationspfade vom Cluster zum Master enden beim Apiserver (keine der anderen Master-Komponenten ist dafür ausgelegt, Remote-Services verfügbar zu machen).
19+
Alle Kommunikationspfade vom Cluster zum Control Plane enden beim Apiserver (keine der anderen Control-Plane-Komponenten ist dafür ausgelegt, Remote-Services verfügbar zu machen).
2020
In einem typischen Setup ist der Apiserver so konfiguriert, dass er Remote-Verbindungen an einem sicheren HTTPS-Port (443) mit einer oder mehreren Formen der [Clientauthentifizierung](/docs/reference/access-authn-authz/authentication/) überwacht.
21-
Eine oder mehrere Formene von [Autorisierung](/docs/reference/access-authn-authz/authorization/) sollte aktiviert sein, insbesondere wenn [anonyme Anfragen](/docs/reference/access-authn-authz/authentication/#anonymous-requests) oder [Service Account Tokens](/docs/reference/access-authn-authz/authentication/#service-account-tokens) aktiviert sind.
21+
Eine oder mehrere Formen von [Autorisierung](/docs/reference/access-authn-authz/authorization/) sollte aktiviert sein, insbesondere wenn [anonyme Anfragen](/docs/reference/access-authn-authz/authentication/#anonymous-requests) oder [Service Account Tokens](/docs/reference/access-authn-authz/authentication/#service-account-tokens) aktiviert sind.
2222

23-
Nodes sollten mit dem öffentlichen Stammzertifikat für den Cluster konfiguriert werden, sodass sie eine sichere Verbindung zum Apiserver mit gültigen Client-Anmeldeinformationen herstellen können.
23+
Knoten sollten mit dem öffentlichen Stammzertifikat für den Cluster konfiguriert werden, sodass sie eine sichere Verbindung zum Apiserver mit gültigen Client-Anmeldeinformationen herstellen können.
2424
Beispielsweise bei einer gewöhnlichen GKE-Konfiguration enstprechen die dem kubelet zur Verfügung gestellten Client-Anmeldeinformationen eines Client-Zertifikats.
2525
Lesen Sie über [kubelet TLS bootstrapping](/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/) zur automatisierten Bereitstellung von kubelet-Client-Zertifikaten.
2626

2727
Pods, die eine Verbindung zum Apiserver herstellen möchten, können dies auf sichere Weise tun, indem sie ein Dienstkonto verwenden, sodass Kubernetes das öffentliche Stammzertifikat und ein gültiges Trägertoken automatisch in den Pod einfügt, wenn er instanziiert wird.
2828
Der `kubernetes`-Dienst (in allen Namespaces) ist mit einer virtuellen IP-Adresse konfiguriert, die (über den Kube-Proxy) an den HTTPS-Endpunkt auf dem Apiserver umgeleitet wird.
2929

30-
Die Master-Komponenten kommunizieren auch über den sicheren Port mit dem Cluster-Apiserver.
30+
Die Control-Plane-Komponenten kommunizieren auch über den sicheren Port mit dem Cluster-Apiserver.
3131

32-
Der Standardbetriebsmodus für Verbindungen vom Cluster (Knoten und Pods, die auf den Knoten ausgeführt werden) zum Master ist daher standardmäßig gesichert und kann über nicht vertrauenswürdige und/oder öffentliche Netzwerke laufen.
32+
Der Standardbetriebsmodus für Verbindungen vom Cluster (Knoten und Pods, die auf den Knoten ausgeführt werden) zum Control Plane ist daher standardmäßig gesichert und kann über nicht vertrauenswürdige und/oder öffentliche Netzwerke laufen.
3333

34-
## Master zum Cluster
34+
## Control Plane zum Cluster
3535

36-
Es gibt zwei primäre Kommunikationspfade vom Master (Apiserver) zum Cluster.
37-
Der Erste ist vom Apiserver hin zum Kubelet-Prozess, der auf jedem Node im Cluster ausgeführt wird.
38-
Der Zweite ist vom Apiserver zu einem beliebigen Node, Pod oder Dienst über die Proxy-Funktionalität des Apiservers.
36+
Es gibt zwei primäre Kommunikationspfade vom Control Plane (Apiserver) zum Cluster.
37+
Der Erste ist vom Apiserver hin zum Kubelet-Prozess, der auf jedem Knoten im Cluster ausgeführt wird.
38+
Der Zweite ist vom Apiserver zu einem beliebigen Knoten, Pod oder Dienst über die Proxy-Funktionalität des Apiservers.
3939

4040
### Apiserver zum kubelet
4141

@@ -55,16 +55,16 @@ zwischen dem Apiserver und dem kubelet, falls es erforderlich ist eine Verbindun
5555

5656
Außerdem sollte [Kubelet Authentifizierung und/oder Autorisierung](/docs/admin/kubelet-authentication-authorization/) aktiviert sein, um die kubelet-API abzusichern.
5757

58-
### Apiserver zu Nodes, Pods und Services
58+
### Apiserver zu Knoten, Pods und Services
5959

60-
Die Verbindungen vom Apiserver zu einem Node, Pod oder Dienst verwenden standardmäßig einfache HTTP-Verbindungen und werden daher weder authentifiziert noch verschlüsselt.
60+
Die Verbindungen vom Apiserver zu einem Knoten, Pod oder Dienst verwenden standardmäßig einfache HTTP-Verbindungen und werden daher weder authentifiziert noch verschlüsselt.
6161
Sie können über eine sichere HTTPS-Verbindung ausgeführt werden, indem dem Node, dem Pod oder dem Servicenamen in der API-URL "https:" vorangestellt wird. Das vom HTTPS-Endpunkt bereitgestellte Zertifikat wird jedoch nicht überprüft, und es werden keine Clientanmeldeinformationen bereitgestellt. Die Verbindung wird zwar verschlüsselt, garantiert jedoch keine Integrität.
6262
Diese Verbindungen **sind derzeit nicht sicher** innerhalb von nicht vertrauenswürdigen und/oder öffentlichen Netzen.
6363

64-
### SSH Tunnels
64+
### SSH-Tunnel
6565

66-
Kubernetes unterstützt SSH-Tunnel zum Schutz der Master -> Cluster Kommunikationspfade.
67-
In dieser Konfiguration initiiert der Apiserver einen SSH-Tunnel zu jedem Node im Cluster (Verbindung mit dem SSH-Server, der mit Port 22 läuft), und leitet den gesamten Datenverkehr für ein kubelet, einen Node, einen Pod oder einen Dienst durch den Tunnel.
66+
Kubernetes unterstützt SSH-Tunnel zum Schutz der Control Plane -> Cluster Kommunikationspfade.
67+
In dieser Konfiguration initiiert der Apiserver einen SSH-Tunnel zu jedem Knoten im Cluster (Verbindung mit dem SSH-Server, der mit Port 22 läuft), und leitet den gesamten Datenverkehr für ein kubelet, einen Knoten, einen Pod oder einen Dienst durch den Tunnel.
6868
Dieser Tunnel stellt sicher, dass der Datenverkehr nicht außerhalb des Netzwerks sichtbar ist, in dem die Knoten ausgeführt werden.
6969

7070
SSH-Tunnel werden zur Zeit nicht unterstützt. Sie sollten also nicht verwendet werden, sei denn, man weiß, was man tut. Ein Ersatz für diesen Kommunikationskanal wird entwickelt.

0 commit comments

Comments
 (0)