Skip to content

Commit f14c309

Browse files
authored
Merge pull request #51454 from rashansmith/merged-main-dev-1.34
Merge main branch into dev-1.34
2 parents e20b18f + d232a77 commit f14c309

File tree

44 files changed

+1212
-227
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

+1212
-227
lines changed

content/bn/examples/secret/tls-auth-secret.yaml

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,6 @@ type: kubernetes.io/tls
66
data:
77
# values are base64 encoded, which obscures them but does NOT provide
88
# any useful level of confidentiality
9-
tls.crt: |
10-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNVakNDQWJzQ0FnMytNQTBHQ1NxR1NJYjNE
11-
UUVCQlFVQU1JR2JNUXN3Q1FZRFZRUUdFd0pLVURFT01Bd0cKQTFVRUNCTUZWRzlyZVc4eEVEQU9C
12-
Z05WQkFjVEIwTm9kVzh0YTNVeEVUQVBCZ05WQkFvVENFWnlZVzVyTkVSRQpNUmd3RmdZRFZRUUxF
13-
dzlYWldKRFpYSjBJRk4xY0hCdmNuUXhHREFXQmdOVkJBTVREMFp5WVc1ck5FUkVJRmRsCllpQkRR
14-
VEVqTUNFR0NTcUdTSWIzRFFFSkFSWVVjM1Z3Y0c5eWRFQm1jbUZ1YXpSa1pDNWpiMjB3SGhjTk1U
15-
TXcKTVRFeE1EUTFNVE01V2hjTk1UZ3dNVEV3TURRMU1UTTVXakJMTVFzd0NRWURWUVFHREFKS1VE
16-
RVBNQTBHQTFVRQpDQXdHWEZSdmEzbHZNUkV3RHdZRFZRUUtEQWhHY21GdWF6UkVSREVZTUJZR0Ex
17-
VUVBd3dQZDNkM0xtVjRZVzF3CmJHVXVZMjl0TUlHYU1BMEdDU3FHU0liM0RRRUJBUVVBQTRHSUFE
18-
Q0JoQUo5WThFaUhmeHhNL25PbjJTbkkxWHgKRHdPdEJEVDFKRjBReTliMVlKanV2YjdjaTEwZjVN
19-
Vm1UQllqMUZTVWZNOU1vejJDVVFZdW4yRFljV29IcFA4ZQpqSG1BUFVrNVd5cDJRN1ArMjh1bklI
20-
QkphVGZlQ09PekZSUFY2MEdTWWUzNmFScG04L3dVVm16eGFLOGtCOWVaCmhPN3F1TjdtSWQxL2pW
21-
cTNKODhDQXdFQUFUQU5CZ2txaGtpRzl3MEJBUVVGQUFPQmdRQU1meTQzeE15OHh3QTUKVjF2T2NS
22-
OEtyNWNaSXdtbFhCUU8xeFEzazlxSGtyNFlUY1JxTVQ5WjVKTm1rWHYxK2VSaGcwTi9WMW5NUTRZ
23-
RgpnWXcxbnlESnBnOTduZUV4VzQyeXVlMFlHSDYyV1hYUUhyOVNVREgrRlowVnQvRGZsdklVTWRj
24-
UUFEZjM4aU9zCjlQbG1kb3YrcE0vNCs5a1h5aDhSUEkzZXZ6OS9NQT09Ci0tLS0tRU5EIENFUlRJ
25-
RklDQVRFLS0tLS0K
26-
# In this example, the key data is not a real PEM-encoded private key
27-
tls.key: |
28-
RXhhbXBsZSBkYXRhIGZvciB0aGUgVExTIGNydCBmaWVsZA==
9+
# Note: Replace the following values with your own base64-encoded certificate and key.
10+
tls.crt: "REPLACE_WITH_BASE64_CERT"
11+
tls.key: "REPLACE_WITH_BASE64_KEY"

content/en/blog/_posts/2025-06-25-image-compatibility-in-cloud-native-environments/index.md

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ A container image is built on a base image, which provides a minimal runtime env
2727
Host driver versions must match the supported range of a library version inside the container to avoid compatibility problems. Examples include GPUs and network drivers.
2828
- **Libraries or Software**:
2929
The container must come with a specific version or range of versions for a library or software to run optimally in the environment. Examples from high performance computing are MPI, EFA, or Infiniband.
30-
- **Kernel Modules or Features:**:
30+
- **Kernel Modules or Features**:
3131
Specific kernel features or modules must be present. Examples include having support of write protected huge page faults, or the presence of VFIO
3232
- And more…
3333

@@ -121,33 +121,41 @@ Additionally, it could potentially enable automatic node configuration to some e
121121
122122
### Examples of usage
123123
124-
1. **Define image compatibility metadata**
125-
A [container image](/docs/concepts/containers/images) can have metadata that describes its requirements based on features discovered from nodes, like kernel modules or CPU models.
126-
The previous compatibility specification example in this article exemplified this use case.
127-
128-
2. **Attach the artifact to the image**
129-
The image compatibility specification is stored as an OCI artifact.
130-
You can attach this metadata to your container image using the [oras](https://oras.land/) tool.
131-
The registry only needs to support OCI artifacts, support for arbitrary types is not required.
132-
Keep in mind that the container image and the artifact must be stored in the same registry.
133-
Use the following command to attach the artifact to the image:
134-
135-
```bash
136-
oras attach \
137-
--artifact-type application/vnd.nfd.image-compatibility.v1alpha1 <image-url> \
138-
<path-to-spec>.yaml:application/vnd.nfd.image-compatibility.spec.v1alpha1+yaml
139-
```
124+
1. **Define image compatibility metadata**
125+
126+
A [container image](/docs/concepts/containers/images) can have metadata that describes
127+
its requirements based on features discovered from nodes, like kernel modules or CPU models.
128+
The previous compatibility specification example in this article exemplified this use case.
129+
130+
2. **Attach the artifact to the image**
131+
132+
The image compatibility specification is stored as an OCI artifact.
133+
You can attach this metadata to your container image using the [oras](https://oras.land/) tool.
134+
The registry only needs to support OCI artifacts, support for arbitrary types is not required.
135+
Keep in mind that the container image and the artifact must be stored in the same registry.
136+
Use the following command to attach the artifact to the image:
137+
138+
```bash
139+
oras attach \
140+
--artifact-type application/vnd.nfd.image-compatibility.v1alpha1 <image-url> \
141+
<path-to-spec>.yaml:application/vnd.nfd.image-compatibility.spec.v1alpha1+yaml
142+
```
143+
144+
3. **Validate image compatibility**
145+
146+
After attaching the compatibility specification, you can validate whether a node meets the
147+
image's requirements. This validation can be done using the
148+
[nfd client](https://kubernetes-sigs.github.io/node-feature-discovery/v0.17/reference/node-feature-client-reference.html):
140149

141-
3. **Validate image compatibility**
142-
After attaching the compatibility specification, you can validate whether a node meets the image's requirements.
143-
This validation can be done using the [nfd client](https://kubernetes-sigs.github.io/node-feature-discovery/v0.17/reference/node-feature-client-reference.html):
150+
```bash
151+
nfd compat validate-node --image <image-url>
152+
```
144153

145-
`nfd compat validate-node --image <image-url>`
154+
4. **Read the output from the client**
146155

147-
4. **Read the output from the client**
148-
Finally you can read the report generated by the tool or use your own tools to act based on the generated JSON report.
156+
Finally you can read the report generated by the tool or use your own tools to act based on the generated JSON report.
149157

150-
![validate-node command output](validate-node-output.png)
158+
![validate-node command output](validate-node-output.png)
151159

152160
## Conclusion
153161

content/en/blog/_posts/2025-01-14-devices-failure-handling/index.md renamed to content/en/blog/_posts/2025-07-03-devices-failure-handling/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
layout: blog
33
title: "Navigating Failures in Pods With Devices"
4-
date: 2025-04-01
4+
date: 2025-07-03
55
slug: navigating-failures-in-pods-with-devices
6-
draft: true
6+
draft: false
77
author: >
88
Sergey Kanzhelev (Google)
99
Mrunal Patel (RedHat)
File renamed without changes.
File renamed without changes.
File renamed without changes.

content/en/docs/concepts/architecture/cri.md

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,22 @@ each Node in your cluster, so that the
2626
The kubelet acts as a client when connecting to the container runtime via gRPC.
2727
The runtime and image service endpoints have to be available in the container
2828
runtime, which can be configured separately within the kubelet by using the
29-
`--image-service-endpoint` [command line flags](/docs/reference/command-line-tools-reference/kubelet).
29+
`--container-runtime-endpoint`
30+
[command line flag](/docs/reference/command-line-tools-reference/kubelet/).
3031

31-
For Kubernetes v{{< skew currentVersion >}}, the kubelet prefers to use CRI `v1`.
32-
If a container runtime does not support `v1` of the CRI, then the kubelet tries to
33-
negotiate any older supported version.
34-
The v{{< skew currentVersion >}} kubelet can also negotiate CRI `v1alpha2`, but
35-
this version is considered as deprecated.
36-
If the kubelet cannot negotiate a supported CRI version, the kubelet gives up
37-
and doesn't register as a node.
32+
For Kubernetes v1.26 and later, the kubelet requires that the container runtime
33+
supports the `v1` CRI API. If a container runtime does not support the `v1` API,
34+
the kubelet will not register the node.
3835

3936
## Upgrading
4037

41-
When upgrading Kubernetes, the kubelet tries to automatically select the
42-
latest CRI version on restart of the component. If that fails, then the fallback
43-
will take place as mentioned above. If a gRPC re-dial was required because the
44-
container runtime has been upgraded, then the container runtime must also
45-
support the initially selected version or the redial is expected to fail. This
46-
requires a restart of the kubelet.
38+
When upgrading the Kubernetes version on a node, the kubelet restarts. If the
39+
container runtime does not support the `v1` CRI API, the kubelet will fail to
40+
register and report an error. If a gRPC re-dial is required because the container
41+
runtime has been upgraded, the runtime must support the `v1` CRI API for the
42+
connection to succeed. This might require a restart of the kubelet after the
43+
container runtime is correctly configured.
4744

4845
## {{% heading "whatsnext" %}}
4946

50-
- Learn more about the CRI [protocol definition](https://github.com/kubernetes/cri-api/blob/c75ef5b/pkg/apis/runtime/v1/api.proto)
47+
- Learn more about the CRI [protocol definition](https://github.com/kubernetes/cri-api/blob/v0.33.1/pkg/apis/runtime/v1/api.proto)

content/en/docs/concepts/cluster-administration/addons.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ installation instructions. The list does not try to be exhaustive.
8282
* [Spiderpool](https://github.com/spidernet-io/spiderpool) is an underlay and RDMA
8383
networking solution for Kubernetes. Spiderpool is supported on bare metal, virtual machines,
8484
and public cloud environments.
85+
* [Terway](https://github.com/AliyunContainerService/terway/) is a suite of CNI plugins
86+
based on AlibabaCloud's VPC and ECS network products. It provides native VPC networking
87+
and network policies in AlibabaCloud environments.
8588
* [Weave Net](https://github.com/rajch/weave#using-weave-on-kubernetes)
8689
provides networking and network policy, will carry on working on both sides
8790
of a network partition, and does not require an external database.

content/en/docs/concepts/policy/resource-quotas.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ _Resource quotas_ are a tool for administrators to address this concern.
1818

1919
A resource quota, defined by a ResourceQuota object, provides constraints that limit
2020
aggregate resource consumption per {{< glossary_tooltip text="namespace" term_id="namespace" >}}. A ResourceQuota can also
21-
limit the [quantity of objects that can be created in a namespace](#quota-on-object-count) by API kind, as well as the total
21+
limit the [quantity of objects that can be created in a namespace](#object-count-quota) by API kind, as well as the total
2222
amount of {{< glossary_tooltip text="infrastructure resources" term_id="infrastructure-resource" >}} that may be consumed by
2323
API objects found in that namespace.
2424

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -975,7 +975,7 @@ spec:
975975

976976
## Resources
977977

978-
The storage media (such as Disk or SSD) of an `emptyDir` volume is determined by the
978+
The storage medium (such as Disk or SSD) of an `emptyDir` volume is determined by the
979979
medium of the filesystem holding the kubelet root dir (typically
980980
`/var/lib/kubelet`). There is no limit on how much space an `emptyDir` or
981981
`hostPath` volume can consume, and no isolation between containers or

0 commit comments

Comments
 (0)