Skip to content

Commit 7d6cc70

Browse files
committed
Merge branch 'main' of github.com:kubernetes/website into k8s-gcr-io-banner-1
2 parents f89b55e + 1d514a5 commit 7d6cc70

File tree

183 files changed

+4759
-1990
lines changed

Some content is hidden

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

183 files changed

+4759
-1990
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

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

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ updated to newer versions that support cgroup v2. For example:
103103
* If you run [cAdvisor](https://github.com/google/cadvisor) as a stand-alone
104104
DaemonSet for monitoring pods and containers, update it to v0.43.0 or later.
105105
* If you use JDK, prefer to use JDK 11.0.16 and later or JDK 15 and later, which [fully support cgroup v2](https://bugs.openjdk.org/browse/JDK-8230305).
106+
* If you are using the [uber-go/automaxprocs](https://github.com/uber-go/automaxprocs) package, make sure
107+
the version you use is v1.5.1 or higher.
106108

107109
## Identify the cgroup version on Linux Nodes {#check-cgroup-version}
108110

content/en/docs/concepts/architecture/cloud-controller.md

Lines changed: 42 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ components.
1717
The cloud-controller-manager is structured using a plugin
1818
mechanism that allows different cloud providers to integrate their platforms with Kubernetes.
1919

20-
21-
2220
<!-- body -->
2321

2422
## Design
@@ -48,10 +46,10 @@ when new servers are created in your cloud infrastructure. The node controller o
4846
hosts running inside your tenancy with the cloud provider. The node controller performs the following functions:
4947

5048
1. Update a Node object with the corresponding server's unique identifier obtained from the cloud provider API.
51-
2. Annotating and labelling the Node object with cloud-specific information, such as the region the node
49+
1. Annotating and labelling the Node object with cloud-specific information, such as the region the node
5250
is deployed into and the resources (CPU, memory, etc) that it has available.
53-
3. Obtain the node's hostname and network addresses.
54-
4. Verifying the node's health. In case a node becomes unresponsive, this controller checks with
51+
1. Obtain the node's hostname and network addresses.
52+
1. Verifying the node's health. In case a node becomes unresponsive, this controller checks with
5553
your cloud provider's API to see if the server has been deactivated / deleted / terminated.
5654
If the node has been deleted from the cloud, the controller deletes the Node object from your Kubernetes
5755
cluster.
@@ -88,13 +86,13 @@ to read and modify Node objects.
8886

8987
`v1/Node`:
9088

91-
- Get
92-
- List
93-
- Create
94-
- Update
95-
- Patch
96-
- Watch
97-
- Delete
89+
- get
90+
- list
91+
- create
92+
- update
93+
- patch
94+
- watch
95+
- delete
9896

9997
### Route controller {#authorization-route-controller}
10098

@@ -103,37 +101,42 @@ routes appropriately. It requires Get access to Node objects.
103101

104102
`v1/Node`:
105103

106-
- Get
104+
- get
107105

108106
### Service controller {#authorization-service-controller}
109107

110-
The service controller listens to Service object Create, Update and Delete events and then configures Endpoints for those Services appropriately (for EndpointSlices, the kube-controller-manager manages these on demand).
108+
The service controller watches for Service object **create**, **update** and **delete** events and then
109+
configures Endpoints for those Services appropriately (for EndpointSlices, the
110+
kube-controller-manager manages these on demand).
111111

112-
To access Services, it requires List, and Watch access. To update Services, it requires Patch and Update access.
112+
To access Services, it requires **list**, and **watch** access. To update Services, it requires
113+
**patch** and **update** access.
113114

114-
To set up Endpoints resources for the Services, it requires access to Create, List, Get, Watch, and Update.
115+
To set up Endpoints resources for the Services, it requires access to **create**, **list**,
116+
**get**, **watch**, and **update**.
115117

116118
`v1/Service`:
117119

118-
- List
119-
- Get
120-
- Watch
121-
- Patch
122-
- Update
120+
- list
121+
- get
122+
- watch
123+
- patch
124+
- update
123125

124126
### Others {#authorization-miscellaneous}
125127

126-
The implementation of the core of the cloud controller manager requires access to create Event objects, and to ensure secure operation, it requires access to create ServiceAccounts.
128+
The implementation of the core of the cloud controller manager requires access to create Event
129+
objects, and to ensure secure operation, it requires access to create ServiceAccounts.
127130

128131
`v1/Event`:
129132

130-
- Create
131-
- Patch
132-
- Update
133+
- create
134+
- patch
135+
- update
133136

134137
`v1/ServiceAccount`:
135138

136-
- Create
139+
- create
137140

138141
The {{< glossary_tooltip term_id="rbac" text="RBAC" >}} ClusterRole for the cloud
139142
controller manager looks like:
@@ -206,12 +209,21 @@ rules:
206209
[Cloud Controller Manager Administration](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager)
207210
has instructions on running and managing the cloud controller manager.
208211
209-
To upgrade a HA control plane to use the cloud controller manager, see [Migrate Replicated Control Plane To Use Cloud Controller Manager](/docs/tasks/administer-cluster/controller-manager-leader-migration/).
212+
To upgrade a HA control plane to use the cloud controller manager, see
213+
[Migrate Replicated Control Plane To Use Cloud Controller Manager](/docs/tasks/administer-cluster/controller-manager-leader-migration/).
210214
211215
Want to know how to implement your own cloud controller manager, or extend an existing project?
212216
213-
The cloud controller manager uses Go interfaces to allow implementations from any cloud to be plugged in. Specifically, it uses the `CloudProvider` interface defined in [`cloud.go`](https://github.com/kubernetes/cloud-provider/blob/release-1.21/cloud.go#L42-L69) from [kubernetes/cloud-provider](https://github.com/kubernetes/cloud-provider).
217+
The cloud controller manager uses Go interfaces to allow implementations from any cloud to be plugged in.
218+
Specifically, it uses the `CloudProvider` interface defined in
219+
[`cloud.go`](https://github.com/kubernetes/cloud-provider/blob/release-1.26/cloud.go#L43-L69) from
220+
[kubernetes/cloud-provider](https://github.com/kubernetes/cloud-provider).
221+
222+
The implementation of the shared controllers highlighted in this document (Node, Route, and Service),
223+
and some scaffolding along with the shared cloudprovider interface, is part of the Kubernetes core.
224+
Implementations specific to cloud providers are outside the core of Kubernetes and implement the
225+
`CloudProvider` interface.
214226

215-
The implementation of the shared controllers highlighted in this document (Node, Route, and Service), and some scaffolding along with the shared cloudprovider interface, is part of the Kubernetes core. Implementations specific to cloud providers are outside the core of Kubernetes and implement the `CloudProvider` interface.
227+
For more information about developing plugins, see
228+
[Developing Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/).
216229

217-
For more information about developing plugins, see [Developing Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/).

content/en/docs/concepts/architecture/control-plane-node-communication.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ aliases:
1111

1212
<!-- overview -->
1313

14-
This document catalogs the communication paths between the API server and the Kubernetes cluster.
14+
This document catalogs the communication paths between the {{< glossary_tooltip term_id="kube-apiserver" text="API server" >}}
15+
and the Kubernetes {{< glossary_tooltip text="cluster" term_id="cluster" length="all" >}}.
1516
The intent is to allow users to customize their installation to harden the network configuration
1617
such that the cluster can be run on an untrusted network (or on fully public IPs on a cloud
1718
provider).
@@ -30,28 +31,28 @@ enabled, especially if [anonymous requests](/docs/reference/access-authn-authz/a
3031
or [service account tokens](/docs/reference/access-authn-authz/authentication/#service-account-tokens)
3132
are allowed.
3233

33-
Nodes should be provisioned with the public root certificate for the cluster such that they can
34+
Nodes should be provisioned with the public root {{< glossary_tooltip text="certificate" term_id="certificate" >}} for the cluster such that they can
3435
connect securely to the API server along with valid client credentials. A good approach is that the
3536
client credentials provided to the kubelet are in the form of a client certificate. See
3637
[kubelet TLS bootstrapping](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/)
3738
for automated provisioning of kubelet client certificates.
3839

39-
Pods that wish to connect to the API server can do so securely by leveraging a service account so
40+
{{< glossary_tooltip text="Pods" term_id="pod" >}} that wish to connect to the API server can do so securely by leveraging a service account so
4041
that Kubernetes will automatically inject the public root certificate and a valid bearer token
4142
into the pod when it is instantiated.
4243
The `kubernetes` service (in `default` namespace) is configured with a virtual IP address that is
43-
redirected (via `kube-proxy`) to the HTTPS endpoint on the API server.
44+
redirected (via `{{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}`) to the HTTPS endpoint on the API server.
4445

4546
The control plane components also communicate with the API server over the secure port.
4647

47-
As a result, the default operating mode for connections from the nodes and pods running on the
48+
As a result, the default operating mode for connections from the nodes and pod running on the
4849
nodes to the control plane is secured by default and can run over untrusted and/or public
4950
networks.
5051

5152
## Control plane to node
5253

5354
There are two primary communication paths from the control plane (the API server) to the nodes.
54-
The first is from the API server to the kubelet process which runs on each node in the cluster.
55+
The first is from the API server to the {{< glossary_tooltip text="kubelet" term_id="kubelet" >}} process which runs on each node in the cluster.
5556
The second is from the API server to any node, pod, or service through the API server's _proxy_
5657
functionality.
5758

@@ -89,7 +90,7 @@ connections **are not currently safe** to run over untrusted or public networks.
8990

9091
### SSH tunnels
9192

92-
Kubernetes supports SSH tunnels to protect the control plane to nodes communication paths. In this
93+
Kubernetes supports [SSH tunnels](https://www.ssh.com/academy/ssh/tunneling) to protect the control plane to nodes communication paths. In this
9394
configuration, the API server initiates an SSH tunnel to each node in the cluster (connecting to
9495
the SSH server listening on port 22) and passes all traffic destined for a kubelet, node, pod, or
9596
service through the tunnel.
@@ -117,3 +118,12 @@ connections.
117118
Follow the [Konnectivity service task](/docs/tasks/extend-kubernetes/setup-konnectivity/) to set
118119
up the Konnectivity service in your cluster.
119120

121+
## {{% heading "whatsnext" %}}
122+
123+
* Read about the [Kubernetes control plane components](/docs/concepts/overview/components/#control-plane-components)
124+
* Learn more about [Hubs and Spoke model](https://book.kubebuilder.io/multiversion-tutorial/conversion-concepts.html#hubs-spokes-and-other-wheel-metaphors)
125+
* Learn how to [Secure a Cluster](/docs/tasks/administer-cluster/securing-a-cluster/)
126+
* Learn more about the [Kubernetes API](/docs/concepts/overview/kubernetes-api/)
127+
* [Set up Konnectivity service](/docs/tasks/extend-kubernetes/setup-konnectivity/)
128+
* [Use Port Forwarding to Access Applications in a Cluster](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/)
129+
* Learn how to [Fetch logs for Pods](/docs/tasks/debug/debug-application/debug-running-pod/#examine-pod-logs), [use kubectl port-forward](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/#forward-a-local-port-to-a-port-on-the-pod)

content/en/docs/concepts/scheduling-eviction/pod-priority-preemption.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ The name of a PriorityClass object must be a valid
6363
and it cannot be prefixed with `system-`.
6464

6565
A PriorityClass object can have any 32-bit integer value smaller than or equal
66-
to 1 billion. Larger numbers are reserved for critical system Pods that should
67-
not normally be preempted or evicted. A cluster admin should create one
68-
PriorityClass object for each such mapping that they want.
66+
to 1 billion. This means that the range of values for a PriorityClass object is
67+
from -2147483648 to 1000000000 inclusive. Larger numbers are reserved for
68+
built-in PriorityClasses that represent critical system Pods. A cluster
69+
admin should create one PriorityClass object for each such mapping that they want.
6970

7071
PriorityClass also has two optional fields: `globalDefault` and `description`.
7172
The `globalDefault` field indicates that the value of this PriorityClass should

0 commit comments

Comments
 (0)