Skip to content

Commit 38f33cd

Browse files
authored
Merge branch 'kubernetes:main' into update-daemonset
2 parents 646bc62 + 3af1865 commit 38f33cd

File tree

279 files changed

+9143
-2494
lines changed

Some content is hidden

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

279 files changed

+9143
-2494
lines changed

README-zh.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,34 @@ cd website
6060
<!--
6161
The Kubernetes website uses the [Docsy Hugo theme](https://github.com/google/docsy#readme). Even if you plan to run the website in a container, we strongly recommend pulling in the submodule and other development dependencies by running the following:
6262
-->
63-
6463
Kubernetes 网站使用的是 [Docsy Hugo 主题](https://github.com/google/docsy#readme)
6564
即使你打算在容器中运行网站,我们也强烈建议你通过运行以下命令来引入子模块和其他开发依赖项:
6665

67-
```bash
68-
# 引入 Docsy 子模块
66+
<!--
67+
### Windows
68+
```powershell
69+
# fetch submodule dependencies
6970
git submodule update --init --recursive --depth 1
70-
```
71+
```
72+
-->
73+
### Windows
74+
```powershell
75+
# 获取子模块依赖
76+
git submodule update --init --recursive --depth 1
77+
```
78+
79+
<!--
80+
### Linux / other Unix
81+
```bash
82+
# fetch submodule dependencies
83+
make module-init
84+
```
85+
-->
86+
### Linux / 其它 Unix
87+
```bash
88+
# 获取子模块依赖
89+
make module-init
90+
```
7191

7292
<!--
7393
## Running the website using a container

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ This will start the local Hugo server on port 1313. Open up your browser to <htt
7070

7171
## Building the API reference pages
7272

73-
The API reference pages located in `content/en/docs/reference/kubernetes-api` are built from the Swagger specification, using <https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs>.
73+
The API reference pages located in `content/en/docs/reference/kubernetes-api` are built from the Swagger specification, also known as OpenAPI specification, using <https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs>.
7474

7575
To update the reference pages for a new Kubernetes release follow these steps:
7676

content/de/docs/concepts/containers/images.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ Pods können nur eigene Image Pull Secret in ihrem eigenen Namespace referenzier
277277

278278
#### Referenzierung eines imagePullSecrets bei einem Pod
279279

280-
Nun können Sie Pods erstellen, die dieses Secret referenzieren, indem Sie einen Aschnitt `imagePullSecrets` zu ihrer Pod - Definition hinzufügen.
280+
Nun können Sie Pods erstellen, die dieses Secret referenzieren, indem Sie einen Abschnitt `imagePullSecrets` zu ihrer Pod - Definition hinzufügen.
281281

282282
```shell
283283
cat <<EOF > pod.yaml

content/en/blog/_posts/2018-12-04-kubeadm-ga-release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ General Availability means different things for different projects. For kubeadm,
3333
We now consider kubeadm to have achieved GA-level maturity in each of these important domains:
3434

3535
* **Stable command-line UX** --- The kubeadm CLI conforms to [#5a GA rule of the Kubernetes Deprecation Policy](/docs/reference/using-api/deprecation-policy/#deprecating-a-flag-or-cli), which states that a command or flag that exists in a GA version must be kept for at least 12 months after deprecation.
36-
* **Stable underlying implementation** --- kubeadm now creates a new Kubernetes cluster using methods that shouldn't change any time soon. The control plane, for example, is run as a set of static Pods, bootstrap tokens are used for the [`kubeadm join`](/docs/reference/setup-tools/kubeadm/kubeadm-join/) flow, and [ComponentConfig](https://github.com/kubernetes/enhancements/blob/master/keps/sig-cluster-lifecycle/wgs/0014-20180707-componentconfig-api-types-to-staging.md) is used for configuring the [kubelet](/docs/reference/command-line-tools-reference/kubelet/).
36+
* **Stable underlying implementation** --- kubeadm now creates a new Kubernetes cluster using methods that shouldn't change any time soon. The control plane, for example, is run as a set of static Pods, bootstrap tokens are used for the [`kubeadm join`](/docs/reference/setup-tools/kubeadm/kubeadm-join/) flow, and [ComponentConfig](https://github.com/kubernetes/enhancements/blob/master/keps/sig-cluster-lifecycle/wgs/115-componentconfig) is used for configuring the [kubelet](/docs/reference/command-line-tools-reference/kubelet/).
3737
* **Configuration file schema** --- With the new **v1beta1** API version, you can now tune almost every part of the cluster declaratively and thus build a "GitOps" flow around kubeadm-built clusters. In future versions, we plan to graduate the API to version **v1** with minimal changes (and perhaps none).
3838
* **The "toolbox" interface of kubeadm** --- Also known as **phases**. If you don't want to perform all [`kubeadm init`](/docs/reference/setup-tools/kubeadm/kubeadm-init/) tasks, you can instead apply more fine-grained actions using the `kubeadm init phase` command (for example generating certificates or control plane [Static Pod](/docs/tasks/administer-cluster/static-pod/) manifests).
3939
* **Upgrades between minor versions** --- The [`kubeadm upgrade`](/docs/reference/setup-tools/kubeadm/kubeadm-upgrade/) command is now fully GA. It handles control plane upgrades for you, which includes upgrades to [etcd](https://etcd.io), the [API Server](/docs/reference/using-api/api-overview/), the [Controller Manager](/docs/reference/command-line-tools-reference/kube-controller-manager/), and the [Scheduler](/docs/reference/command-line-tools-reference/kube-scheduler/). You can seamlessly upgrade your cluster between minor or patch versions (e.g. v1.12.2 -> v1.13.1 or v1.13.1 -> v1.13.3).

content/en/blog/_posts/2022-11-28-registry-k8s-io-change.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Starting with Kubernetes 1.25, our container image registry has changed from k8s
1111

1212
## TL;DR: What you need to know about this change
1313

14-
* Container images for Kubernetes releases from 1.25 onward are no longer published to k8s.gcr.io, only to registry.k8s.io.
14+
* Container images for Kubernetes releases from <del>1.25</del> 1.27 onward are not published to k8s.gcr.io, only to registry.k8s.io.
1515
* In the upcoming December patch releases, the new registry domain default will be backported to all branches still in support (1.22, 1.23, 1.24).
1616
* If you run in a restricted environment and apply strict domain/IP address access policies limited to k8s.gcr.io, the __image pulls will not function__ after the migration to this new registry. For these users, the recommended method is to mirror the release images to a private registry.
1717

@@ -68,8 +68,15 @@ The image used by kubelet for the pod sandbox (`pause`) can be overridden by set
6868
kubelet --pod-infra-container-image=k8s.gcr.io/pause:3.5
6969
```
7070
71+
## Legacy container registry freeze {#registry-freeze}
72+
73+
[k8s.gcr.io Image Registry Will Be Frozen From the 3rd of April 2023](/blog/2023/02/06/k8s-gcr-io-freeze-announcement/) announces the freeze of the
74+
legacy k8s.gcr.io image registry. Read that article for more details.
75+
7176
## Acknowledgments
7277
7378
__Change is hard__, and evolving our image-serving platform is needed to ensure a sustainable future for the project. We strive to make things better for everyone using Kubernetes. Many contributors from all corners of our community have been working long and hard to ensure we are making the best decisions possible, executing plans, and doing our best to communicate those plans.
7479
7580
Thanks to Aaron Crickenberger, Arnaud Meukam, Benjamin Elder, Caleb Woodbine, Davanum Srinivas, Mahamed Ali, and Tim Hockin from SIG K8s Infra, Brian McQueen, and Sergey Kanzhelev from SIG Node, Lubomir Ivanov from SIG Cluster Lifecycle, Adolfo García Veytia, Jeremy Rickard, Sascha Grunert, and Stephen Augustus from SIG Release, Bob Killen and Kaslin Fields from SIG Contribex, Tim Allclair from the Security Response Committee. Also a big thank you to our friends acting as liaisons with our cloud provider partners: Jay Pipes from Amazon and Jon Johnson Jr. from Google.
81+
82+
_This article was updated on the 28th of February 2023._

content/en/blog/_posts/2022-12-12-kubernetes-release-artifact-signing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ files side by side to the artifacts for verifying their integrity.
3131

3232
[tarballs]: https://github.com/kubernetes/kubernetes/blob/release-1.26/CHANGELOG/CHANGELOG-1.26.md#downloads-for-v1260
3333
[binaries]: https://gcsweb.k8s.io/gcs/kubernetes-release/release/v1.26.0/bin
34-
[sboms]: https://storage.googleapis.com/kubernetes-release/release/v1.26.0/kubernetes-release.spdx
35-
[provenance]: https://storage.googleapis.com/kubernetes-release/release/v1.26.0/provenance.json
34+
[sboms]: https://dl.k8s.io/release/v1.26.0/kubernetes-release.spdx
35+
[provenance]: https://dl.k8s.io/kubernetes-release/release/v1.26.0/provenance.json
3636
[cosign]: https://github.com/sigstore/cosign
3737

3838
To verify an artifact, for example `kubectl`, you can download the
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
layout: blog
3+
title: "Introducing KWOK: Kubernetes WithOut Kubelet"
4+
date: 2023-03-01
5+
slug: introducing-kwok
6+
canonicalUrl: https://kubernetes.dev/blog/2023/03/01/introducing-kwok/
7+
---
8+
9+
**Author:** Shiming Zhang (DaoCloud), Wei Huang (Apple), Yibo Zhuang (Apple)
10+
11+
<img style="float: right; display: inline-block; margin-left: 2em; max-width: 15em;" src="/blog/2023/03/01/introducing-kwok/kwok.svg" alt="KWOK logo" />
12+
13+
Have you ever wondered how to set up a cluster of thousands of nodes just in seconds, how to simulate real nodes with a low resource footprint, and how to test your Kubernetes controller at scale without spending much on infrastructure?
14+
15+
If you answered "yes" to any of these questions, then you might be interested in KWOK, a toolkit that enables you to create a cluster of thousands of nodes in seconds.
16+
17+
## What is KWOK?
18+
19+
KWOK stands for Kubernetes WithOut Kubelet. So far, it provides two tools:
20+
21+
`kwok`
22+
: `kwok` is the cornerstone of this project, responsible for simulating the lifecycle of fake nodes, pods, and other Kubernetes API resources.
23+
24+
`kwokctl`
25+
: `kwokctl` is a CLI tool designed to streamline the creation and management of clusters, with nodes simulated by `kwok`.
26+
27+
## Why use KWOK?
28+
29+
KWOK has several advantages:
30+
31+
- **Speed**: You can create and delete clusters and nodes almost instantly, without waiting for boot or provisioning.
32+
- **Compatibility**: KWOK works with any tools or clients that are compliant with Kubernetes APIs, such as kubectl, helm, kui, etc.
33+
- **Portability**: KWOK has no specific hardware or software requirements. You can run it using pre-built images, once Docker or Nerdctl is installed. Alternatively, binaries are also available for all platforms and can be easily installed.
34+
- **Flexibility**: You can configure different node types, labels, taints, capacities, conditions, etc., and you can configure different pod behaviors, status, etc. to test different scenarios and edge cases.
35+
- **Performance**: You can simulate thousands of nodes on your laptop without significant consumption of CPU or memory resources.
36+
37+
## What are the use cases?
38+
39+
KWOK can be used for various purposes:
40+
41+
- **Learning**: You can use KWOK to learn about Kubernetes concepts and features without worrying about resource waste or other consequences.
42+
- **Development**: You can use KWOK to develop new features or tools for Kubernetes without accessing to a real cluster or requiring other components.
43+
- **Testing**:
44+
- You can measure how well your application or controller scales with different numbers of nodes and(or) pods.
45+
- You can generate high loads on your cluster by creating many pods or services with different resource requests or limits.
46+
- You can simulate node failures or network partitions by changing node conditions or randomly deleting nodes.
47+
- You can test how your controller interacts with other components or features of Kubernetes by enabling different feature gates or API versions.
48+
49+
## What are the limitations?
50+
51+
KWOK is not intended to replace others completely. It has some limitations that you should be aware of:
52+
53+
- **Functionality**: KWOK is not a kubelet and may exhibit different behaviors in areas such as pod lifecycle management, volume mounting, and device plugins. Its primary function is to simulate updates of node and pod status.
54+
- **Accuracy**: It's important to note that KWOK doesn't accurately reflect the performance or behavior of real nodes under various workloads or environments. Instead, it approximates some behaviors using simple formulas.
55+
- **Security**: KWOK does not enforce any security policies or mechanisms on simulated nodes. It assumes that all requests from the kube-apiserver are authorized and valid.
56+
57+
## Getting started
58+
59+
If you are interested in trying out KWOK, please check its [documents] for more details.
60+
61+
{{< figure src="/blog/2023/03/01/introducing-kwok/manage-clusters.svg" alt="Animation of a terminal showing kwokctl in use" caption="Using kwokctl to manage simulated clusters" >}}
62+
63+
## Getting Involved
64+
65+
If you're interested in participating in future discussions or development related to KWOK, there are several ways to get involved:
66+
67+
- Slack: [#kwok] for general usage discussion, [#kwok-dev] for development discussion. (visit [slack.k8s.io] for a workspace invitation)
68+
- Open Issues/PRs/Discussions in [sigs.k8s.io/kwok]
69+
70+
We welcome feedback and contributions from anyone who wants to join us in this exciting project.
71+
72+
[documents]: https://kwok.sigs.k8s.io/
73+
[sigs.k8s.io/kwok]: https://sigs.k8s.io/kwok/
74+
[#kwok]: https://kubernetes.slack.com/messages/kwok/
75+
[#kwok-dev]: https://kubernetes.slack.com/messages/kwok-dev/
76+
[slack.k8s.io]: https://slack.k8s.io/
Lines changed: 1 addition & 0 deletions
Loading

content/en/blog/_posts/2023-03-01-introducing-kwok/manage-clusters.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)