Skip to content

Commit edf6a64

Browse files
authored
Merge pull request #49881 from Urvashi0109/merged-main-dev-1.33
Merge main branch into dev 1.33
2 parents af7cde7 + 480b1db commit edf6a64

File tree

44 files changed

+712
-301
lines changed

Some content is hidden

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

44 files changed

+712
-301
lines changed

assets/scss/_custom.scss

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1183,38 +1183,27 @@ body.cid-community #cncf-code-of-conduct h2:after {
11831183
}
11841184
}
11851185

1186-
#caseStudies body > #deprecation-warning, body.cid-casestudies > #deprecation-warning, body.cid-community > #deprecation-warning {
1187-
display: inline-block;
1188-
vertical-align: top;
1189-
position: relative;
1190-
background-color: $primary;
1191-
color: #fff;
1186+
body.cid-casestudies, body.cid-community, body.cid-partners {
1187+
section#deprecation-warning {
11921188
padding: 0;
11931189
margin: 0;
11941190
width: 100%;
1191+
1192+
border-top: solid 1em $primary;
1193+
border-bottom: solid 1em $primary;
1194+
1195+
// Center the pageinfo
1196+
padding-left: calc(max(1rem, (100vw - 60rem) / 2));
1197+
padding-right: calc(max(1rem, (100vw - 60rem) / 2));
1198+
}
1199+
/* Ensure color overrides */
1200+
section#deprecation-warning, section#deprecation-warning > .pageinfo.deprecation-warning {
1201+
background-color: $primary;
1202+
color: #fff;
1203+
}
11951204
}
1196-
#caseStudies body > #deprecation-warning, body.cid-casestudies > #deprecation-warning {
1197-
padding-top: 32px;
1198-
}
1205+
11991206
body.cid-partners {
1200-
> #deprecation-warning {
1201-
padding: 0;
1202-
margin-right: 0;
1203-
margin-left: 0;
1204-
margin-top: 0;
1205-
width: 100vw;
1206-
> .content {
1207-
width: 100%;
1208-
max-width: initial;
1209-
margin-right: 0;
1210-
margin-left: 0;
1211-
margin-top: 0;
1212-
padding-left: 5vw;
1213-
padding-right: 5vw;
1214-
padding-top: 2rem;
1215-
padding-bottom: 2rem;
1216-
}
1217-
}
12181207
/* SECTIONS */
12191208
.section {
12201209
clear: both;

content/de/docs/contribute/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ weight: 80
1010

1111
Wenn Sie an der Dokumentation oder der Website von Kubernetes mitwirken möchten, freuen wir uns über Ihre Hilfe!
1212
Jeder kann seinen Beitrag leisten, unabhängig davon ob Sie neu im Projekt sind oder schon lange dabei sind, und ob Sie sich als
13-
Entwickler, Endbenutzer oder einfach jemanden, der es einfach nicht aushält, Tippfehler zu sehen sehen.
13+
Entwickler, Endbenutzer oder einfach jemanden, der es einfach nicht aushält, Tippfehler zu sehen sehen ;)
1414

1515
Weitere Möglichkeiten, sich in der Kubernetes-Community zu engagieren oder mehr über uns zu erfahren, finden Sie auf der [Kubernetes-Community-Seite](/community/).
1616
Informationen zum Handbuch zur Dokumentation von Kubernetes finden Sie im [Gestaltungshandbuch](/docs/contribute/style/style-guide/).
@@ -42,7 +42,7 @@ Dies ist keine vollständige Liste von Möglichkeiten, wie Sie zur Kubernetes-Do
4242
- Ideen zur Verbesserung in [Slack](http://slack.k8s.io/) oder der [SIG docs Mailingliste](https://groups.google.com/forum/#!forum/kubernetes-sig-docs) einbringen
4343
- Den Zugriff auf Dokumente verbessern
4444
- Unverbindliches Feedback zu PRs verfassen
45-
- Enen Blogbeitrag oder eine Fallstudie schreiben
45+
- Einen Blogbeitrag oder eine Fallstudie schreiben
4646
- [Reviewer](/docs/contribute/intermediate/)
4747
- Neue Funktionen dokumentieren
4848
- Auswerten und Kategorisieren von Problemen

content/en/docs/concepts/storage/volumes.md

Lines changed: 120 additions & 102 deletions
Large diffs are not rendered by default.

content/en/docs/concepts/workloads/controllers/deployment.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,6 +1079,16 @@ Explicitly setting this field to 0, will result in cleaning up all the history o
10791079
thus that Deployment will not be able to roll back.
10801080
{{< /note >}}
10811081

1082+
The cleanup only starts **after** a Deployment reaches a
1083+
[complete state](/docs/concepts/workloads/controllers/deployment/#complete-deployment).
1084+
If you set `.spec.revisionHistoryLimit` to 0, any rollout nonetheless triggers creation of a new
1085+
ReplicaSet before Kubernetes removes the old one.
1086+
1087+
Even with a non-zero revision history limit, you can have more ReplicaSets than the limit
1088+
you configure. For example, if pods are crash looping, and there are multiple rolling updates
1089+
events triggered over time, you might end up with more ReplicaSets than the
1090+
`.spec.revisionHistoryLimit` because the Deployment never reaches a complete state.
1091+
10821092
## Canary Deployment
10831093

10841094
If you want to roll out releases to a subset of users or servers using the Deployment, you

content/en/docs/concepts/workloads/pods/sidecar-containers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Provided that your cluster has the `SidecarContainers`
3232
for containers listed in a Pod's `initContainers` field.
3333
These restartable _sidecar_ containers are independent from other init containers and from
3434
the main application container(s) within the same pod.
35-
These can be started, stopped, or restarted without effecting the main application container
35+
These can be started, stopped, or restarted without affecting the main application container
3636
and other init containers.
3737

3838
You can also run a Pod with multiple containers that are not marked as init or sidecar

content/en/docs/reference/access-authn-authz/admission-control-phases.svg

Lines changed: 5 additions & 0 deletions
Loading

content/en/docs/reference/access-authn-authz/admission-controllers.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,16 @@ corresponding reclamation or reconciliation process, as a given admission
7979
controller does not know for sure that a given request will pass all of the
8080
other admission controllers.
8181

82+
The ordering of these calls can be seen below.
8283

84+
{{< figure src="/docs/reference/access-authn-authz/admission-control-phases.svg" alt="Sequence diagram for kube-apiserver handling requests during the admission phase showing mutation webhooks, followed by validatingadmissionpolicies and finally validating webhooks. It shows that the continue until the first rejection, or being accepted by all of them. It also shows that mutations by mutating webhooks cause all previously called webhooks to be called again." class="diagram-large" link="[https://mermaid.live/edit#pako:eNqtVm1r3DgQ_iuDj9CUc3aPlBa6HIFeSu_CEQhNr4XiL7I9a6srSz5J3mQb9r93RrK9jjcp9-H8xdZoXh7N80jyQ1KYEpNV4vDfDnWB76WorGgynemTE_hLbBG8AYce1kb7W_kdoVImF0rtQDjwtXQgnX7hwaJrsfBYQtmFoNr71q2Wy0r6ussXhWmWDdpGyPLsmxs-l9K5Dt3y1du3v3HJB6mlXz1kia-xwSxZZYnGzluhsiTNkgEETUCWnJ-392SmrwE-2ym4kdYa-67wxjoyedvhPs000NNn_iysFLlCFyPCVJwWHPXHpgq1f3l1_qbA11x77vIJ7_2lUcYGx7taepy5KWPaqRc8l08bj1Rx4ldZ3M2cnlp6pvf7_ckJsxVdibNPkRKiBkEof-YJAZFnQRQFOidzqaTfpSB0Ca42nSohR-jaUjB3uEW7Ay8bDAnKKAfKt4gFKMl7dIWd9uy2b_7ozdU2XY5nopUOLaWEmsopqSuSCTk770gllscBZtmQDKTR0NbCIcO647mm88Kz-Q7z2piNSym1UuaOgOY72AolCTV5jglao2Qh0YXVraUOOj34jYkWcIB_5UNB7pjwAU9BrZaaVNzRWwXTWlrHGv9GEqc6KdASc-SU3NbWR0RUDsyaA5pZBaGcmZYZluY4LA4m8KAQncOQrrW4laZztI6CxlRndKI9Rsz1VlEJqXuS9oMcWmE99aMV2sM_xARv2fA-nn53c8WzfxNtVqOnFrLlNrD3hHfna3bnN1KTisjTr8FgrPwexqMmH4WWzaW3KkSPvF9Sx61RMSA39_Anrcblxho49oLfc3txGZcdGZqxc4z3uu_wl9g7Lj6YoLedupfHcZ9H6dyYAPlgmOC66VX3s_hJ5UmOeW3U5WEzB6bOLi4CEyv4GHcOnOKiWqRQWKQdCwJaU77sCWXHEEAsrKbkkJQD_bQruHlFjcUmmlo6h-My3FCXzy34wCcG6W_eJneQdRABl5t1dwVXems2-LPYOSEH1NemlOsd76_IJ5g8vE7lGjRiieW0V0d4J819TMuI9hGnI9Zn4x5L4IDz439ER3J4CtzQEpCaXVjN6lmg88Y-kef_ATvWJiWRgPisnTDRn92DToLa2JmFyjVcSypCGBTqunDjcALk-5iKJWnSX_z0zxGukMNNT5-lsJtwq5Gf6Ly53ekiXt9pYk1X1clqTScpjeJ91f-tjFYsJd3M1_GXJvzZpAntw6_GDD77H6uICLI](https://mermaid.live/edit#pako:eNqtVm1r3DgQ_iuDj9CUc3aPlBa6HIFeSu_CEQhNr4XiL7I9a6srSz5J3mQb9r93RrK9jjcp9-H8xdZoXh7N80jyQ1KYEpNV4vDfDnWB76WorGgynemTE_hLbBG8AYce1kb7W_kdoVImF0rtQDjwtXQgnX7hwaJrsfBYQtmFoNr71q2Wy0r6ussXhWmWDdpGyPLsmxs-l9K5Dt3y1du3v3HJB6mlXz1kia-xwSxZZYnGzluhsiTNkgEETUCWnJ-392SmrwE-2ym4kdYa-67wxjoyedvhPs000NNn_iysFLlCFyPCVJwWHPXHpgq1f3l1_qbA11x77vIJ7_2lUcYGx7taepy5KWPaqRc8l08bj1Rx4ldZ3M2cnlp6pvf7_ckJsxVdibNPkRKiBkEof-YJAZFnQRQFOidzqaTfpSB0Ca42nSohR-jaUjB3uEW7Ay8bDAnKKAfKt4gFKMl7dIWd9uy2b_7ozdU2XY5nopUOLaWEmsopqSuSCTk770gllscBZtmQDKTR0NbCIcO647mm88Kz-Q7z2piNSym1UuaOgOY72AolCTV5jglao2Qh0YXVraUOOj34jYkWcIB_5UNB7pjwAU9BrZaaVNzRWwXTWlrHGv9GEqc6KdASc-SU3NbWR0RUDsyaA5pZBaGcmZYZluY4LA4m8KAQncOQrrW4laZztI6CxlRndKI9Rsz1VlEJqXuS9oMcWmE99aMV2sM_xARv2fA-nn53c8WzfxNtVqOnFrLlNrD3hHfna3bnN1KTisjTr8FgrPwexqMmH4WWzaW3KkSPvF9Sx61RMSA39_Anrcblxho49oLfc3txGZcdGZqxc4z3uu_wl9g7Lj6YoLedupfHcZ9H6dyYAPlgmOC66VX3s_hJ5UmOeW3U5WEzB6bOLi4CEyv4GHcOnOKiWqRQWKQdCwJaU77sCWXHEEAsrKbkkJQD_bQruHlFjcUmmlo6h-My3FCXzy34wCcG6W_eJneQdRABl5t1dwVXems2-LPYOSEH1NemlOsd76_IJ5g8vE7lGjRiieW0V0d4J819TMuI9hGnI9Zn4x5L4IDz439ER3J4CtzQEpCaXVjN6lmg88Y-kef_ATvWJiWRgPisnTDRn92DToLa2JmFyjVcSypCGBTqunDjcALk-5iKJWnSX_z0zxGukMNNT5-lsJtwq5Gf6Ly53ekiXt9pYk1X1clqTScpjeJ91f-tjFYsJd3M1_GXJvzZpAntw6_GDD77H6uICLI)" >}}
85+
86+
## Why do I need them?
87+
88+
Several important features of Kubernetes require an admission controller to be enabled in order
89+
to properly support the feature. As a result, a Kubernetes API server that is not properly
90+
configured with the right set of admission controllers is an incomplete server and will not
91+
support all the features you expect.
8392

8493
## How do I turn on an admission controller?
8594

content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,17 +1247,52 @@ object.
12471247

12481248
### Avoiding deadlocks in self-hosted webhooks
12491249

1250-
A webhook running inside the cluster might cause deadlocks for its own deployment if it is configured
1251-
to intercept resources required to start its own pods.
1252-
1253-
For example, a mutating admission webhook is configured to admit `CREATE` pod requests only if a certain label is set in the
1254-
pod (e.g. `"env": "prod"`). The webhook server runs in a deployment which doesn't set the `"env"` label.
1255-
When a node that runs the webhook server pods
1256-
becomes unhealthy, the webhook deployment will try to reschedule the pods to another node. However the requests will
1257-
get rejected by the existing webhook server since the `"env"` label is unset, and the migration cannot happen.
1258-
1259-
It is recommended to exclude the namespace where your webhook is running with a
1260-
[namespaceSelector](#matching-requests-namespaceselector).
1250+
There are several ways that webhooks can cause deadlocks, where the cluster cannot make progress in
1251+
scheduling pods:
1252+
1253+
* A webhook running inside the cluster might cause deadlocks for its own deployment if it is configured
1254+
to intercept resources required to start its own pods.
1255+
1256+
For example, a mutating admission webhook is configured to admit **create** Pod requests only if a certain label is set in the
1257+
pod (such as `env: "prod"`). However, the webhook server runs as a Deployment that doesn't set the `env` label.
1258+
When a node that runs the webhook server pods
1259+
becomes unhealthy, the webhook deployment will try to reschedule the pods to another node. However the requests will
1260+
get rejected by the existing webhook server since the `env` label is unset, and the replacement Pod
1261+
cannot be created. Eventually, the entire Deployment for the webhook server may become unhealthy.
1262+
1263+
If you use admission webhooks to check Pods, consider excluding the namespace where your webhook
1264+
listener is running, by specifying a
1265+
[namespaceSelector](#matching-requests-namespaceselector).
1266+
1267+
* If the cluster has multiple webhooks configured (possibly from independent applications deployed on
1268+
the cluster), they can form a cycle. Webhook A must be called to process startup of webhook B's
1269+
pods and vice versa. If both webhook A and webhook B ever become unavailable at the same time (for
1270+
example, due to a cluster-wide outage or a node failure where both pods run on the same node)
1271+
deadlock occurs because neither webhook pod can be recreated without the other already running.
1272+
1273+
One way to prevent this is to exclude webhook A's pods from being acted on be webhook B. This
1274+
allows webhook A's pods to start, which in turn allows webhook B's pods to start. If you had a
1275+
third webhook, webhook C, you'd need to exclude both webhook A and webhook B's pods from
1276+
webhook C. This ensures that webhook A can _always_ start, which then allows webhook B's pods
1277+
to start, which in turn allows webhook C's pods to start.
1278+
1279+
If you want to ensure protection that avoids these risks, [ValidatingAdmissionPolicies](/docs/reference/access-authn-authz/validating-admission-policy/)
1280+
can
1281+
provide many protection capabilities without introducing dependency cycles.
1282+
1283+
* Admission webhooks can intercept resources used by critical cluster add-ons, such as CoreDNS,
1284+
network plugins, or storage plugins. These add-ons may be required to schedule or successfully run the
1285+
pods for a particular admission webhook on the cluster. This can cause a deadlock if both the
1286+
webhook and critical add-on is unavailable at the same time.
1287+
1288+
You may wish to exclude cluster infrastructure namespaces from webhooks, or make sure that
1289+
the webhook does not depend on the particular add-on that it acts on. For exmaple, running
1290+
a webhook as a host-networked pod ensures that it does not depend on a networking plugin.
1291+
1292+
If you want to ensure protection for a core add-on / or its namespace,
1293+
[ValidatingAdmissionPolicies](/docs/reference/access-authn-authz/validating-admission-policy/)
1294+
can
1295+
provide many protection capabilities without any dependency on worker nodes and Pods.
12611296

12621297
### Side effects
12631298

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: API resource
3+
id: api-resource
4+
date: 2025-02-09
5+
full_link: /docs/reference/using-api/api-concepts/#standard-api-terminology
6+
short_description: >
7+
A Kubernetes entity, representing an endpoint on the Kubernetes API server.
8+
9+
aka:
10+
- Resource
11+
tags:
12+
- architecture
13+
---
14+
An entity in the Kubernetes type system, corresponding to an endpoint on the {{< glossary_tooltip text="Kubernetes API" term_id="kubernetes-api" >}}.
15+
A resource typically represents an {{< glossary_tooltip text="object" term_id="object" >}}.
16+
Some resources represent an operation on other objects, such as a permission check.
17+
<!--more-->
18+
Each resource represents an HTTP endpoint (URI) on the Kubernetes API server, defining the schema for the objects or operations on that resource.

content/en/docs/reference/glossary/device-plugin.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ tags:
1212
---
1313
Device plugins run on worker
1414
{{< glossary_tooltip term_id="node" text="Nodes">}} and provide
15-
{{< glossary_tooltip term_id="pod" text="Pods ">}} with access to resources,
15+
{{< glossary_tooltip term_id="pod" text="Pods">}} with access to resources,
1616
such as local hardware, that require vendor-specific initialization or setup
1717
steps.
1818

0 commit comments

Comments
 (0)