Skip to content

Commit 17df75d

Browse files
authored
Merge pull request #27438 from sftim/20210406_merge_from_primary_branch_api_sync
Branch sync for dev-1.21: primary branch changes, latest API reference
2 parents dfaf833 + 965aa51 commit 17df75d

File tree

213 files changed

+69778
-2211
lines changed

Some content is hidden

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

213 files changed

+69778
-2211
lines changed

assets/scss/_base.scss

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,3 +869,22 @@ body.td-documentation {
869869
display: none;
870870
}
871871
}
872+
873+
// nav-tabs and tab-content
874+
.nav-tabs {
875+
border-bottom: none !important;
876+
}
877+
878+
.td-content .tab-content .highlight {
879+
margin: 0;
880+
}
881+
882+
.tab-pane {
883+
border-radius: 0.25rem;
884+
padding: 0 16px 16px;
885+
886+
border: 1px solid #dee2e6;
887+
&:first-of-type.active {
888+
border-top-left-radius: 0;
889+
}
890+
}

content/de/docs/setup/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ content_type: concept
99

1010
Diese Sektion umfasst verschiedene Optionen zum Einrichten und Betrieb von Kubernetes.
1111

12-
Verschiedene Kubernetes Lösungen haben verschiedene Anforderungen: Einfache Wartung, Sicherheit, Kontrolle, verfügbare Resourcen und erforderliches Fachwissen zum Betrieb und zur Verwaltung dess folgende Diagramm zeigt die möglichen Abstraktionen eines Kubernetes-Clusters und ob eine Abstraktion selbst verwaltet oder von einem Anbieter verwaltet wird.
12+
Verschiedene Kubernetes Lösungen haben verschiedene Anforderungen: Einfache Wartung, Sicherheit, Kontrolle, verfügbare Resourcen und erforderliches Fachwissen zum Betrieb und zur Verwaltung. Das folgende Diagramm zeigt die möglichen Abstraktionen eines Kubernetes-Clusters und ob eine Abstraktion selbst verwaltet oder von einem Anbieter verwaltet wird.
1313

1414
Sie können einen Kubernetes-Cluster auf einer lokalen Maschine, Cloud, On-Prem Datacenter bereitstellen; oder wählen Sie einen verwalteten Kubernetes-Cluster. Sie können auch eine individuelle Lösung über eine grosse Auswahl an Cloud Anbietern oder Bare-Metal-Umgebungen nutzen.
1515

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,16 @@ delete the Node object to stop that health checking.
6767
The name of a Node object must be a valid
6868
[DNS subdomain name](/docs/concepts/overview/working-with-objects/names#dns-subdomain-names).
6969

70+
### Node name uniqueness
71+
72+
The [name](/docs/concepts/overview/working-with-objects/names#names) identifies a Node. Two Nodes
73+
cannot have the same name at the same time. Kubernetes also assumes that a resource with the same
74+
name is the same object. In case of a Node, it is implicitly assumed that an instance using the
75+
same name will have the same state (e.g. network settings, root disk contents). This may lead to
76+
inconsistencies if an instance was modified without changing its name. If the Node needs to be
77+
replaced or updated significantly, the existing Node object needs to be removed from API server
78+
first and re-added after the update.
79+
7080
### Self-registration of Nodes
7181

7282
When the kubelet flag `--register-node` is true (the default), the kubelet will attempt to
@@ -381,4 +391,3 @@ reserved for terminating [critical pods](/docs/tasks/administer-cluster/guarante
381391
* Read the [Node](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node)
382392
section of the architecture design document.
383393
* Read about [taints and tolerations](/docs/concepts/scheduling-eviction/taint-and-toleration/).
384-

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ This page lists some of the available add-ons and links to their respective inst
1616
## Networking and Network Policy
1717

1818
* [ACI](https://www.github.com/noironetworks/aci-containers) provides integrated container networking and network security with Cisco ACI.
19+
* [Antrea](https://antrea.io/) operates at Layer 3/4 to provide networking and security services for Kubernetes, leveraging Open vSwitch as the networking data plane.
1920
* [Calico](https://docs.projectcalico.org/latest/introduction/) is a networking and network policy provider. Calico supports a flexible set of networking options so you can choose the most efficient option for your situation, including non-overlay and overlay networks, with or without BGP. Calico uses the same engine to enforce network policy for hosts, pods, and (if using Istio & Envoy) applications at the service mesh layer.
2021
* [Canal](https://github.com/tigera/canal/tree/master/k8s-install) unites Flannel and Calico, providing networking and network policy.
2122
* [Cilium](https://github.com/cilium/cilium) is a L3 network and network policy plugin that can enforce HTTP/API/L7 policies transparently. Both routing and overlay/encapsulation mode are supported, and it can work on top of other CNI plugins.

content/en/docs/concepts/configuration/configmap.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ When a ConfigMap currently consumed in a volume is updated, projected keys are e
224224
The kubelet checks whether the mounted ConfigMap is fresh on every periodic sync.
225225
However, the kubelet uses its local cache for getting the current value of the ConfigMap.
226226
The type of the cache is configurable using the `ConfigMapAndSecretChangeDetectionStrategy` field in
227-
the [KubeletConfiguration struct](https://github.com/kubernetes/kubernetes/blob/{{< param "docsbranch" >}}/staging/src/k8s.io/kubelet/config/v1beta1/types.go).
227+
the [KubeletConfiguration struct](/docs/reference/config-api/kubelet-config.v1beta1/)).
228228
A ConfigMap can be either propagated by watch (default), ttl-based, or by redirecting
229229
all requests directly to the API server.
230230
As a result, the total delay from the moment when the ConfigMap is updated to the moment
@@ -233,6 +233,7 @@ propagation delay, where the cache propagation delay depends on the chosen cache
233233
(it equals to watch propagation delay, ttl of cache, or zero correspondingly).
234234

235235
ConfigMaps consumed as environment variables are not updated automatically and require a pod restart.
236+
236237
## Immutable ConfigMaps {#configmap-immutable}
237238

238239
{{< feature-state for_k8s_version="v1.21" state="stable" >}}

content/en/docs/concepts/configuration/manage-resources-containers.md

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ allowed to use more of that resource than the limit you set. The kubelet also re
2121
at least the _request_ amount of that system resource specifically for that container
2222
to use.
2323

24-
25-
26-
2724
<!-- body -->
2825

2926
## Requests and limits
@@ -442,12 +439,15 @@ If you want to use project quotas, you should:
442439

443440
* Enable the `LocalStorageCapacityIsolationFSQuotaMonitoring=true`
444441
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
445-
in the kubelet configuration.
442+
using the `featureGates` field in the
443+
[kubelet configuration](/docs/reference/config-api/kubelet-config.v1beta1/)
444+
or the `--feature-gates` command line flag.
446445

447446
* Ensure that the root filesystem (or optional runtime filesystem)
448447
has project quotas enabled. All XFS filesystems support project quotas.
449448
For ext4 filesystems, you need to enable the project quota tracking feature
450449
while the filesystem is not mounted.
450+
451451
```bash
452452
# For ext4, with /dev/block-device not mounted
453453
sudo tune2fs -O project -Q prjquota /dev/block-device
@@ -518,8 +518,7 @@ Cluster-level extended resources are not tied to nodes. They are usually managed
518518
by scheduler extenders, which handle the resource consumption and resource quota.
519519

520520
You can specify the extended resources that are handled by scheduler extenders
521-
in [scheduler policy
522-
configuration](https://github.com/kubernetes/kubernetes/blob/release-1.10/pkg/scheduler/api/v1/types.go#L31).
521+
in [scheduler policy configuration](/docs/reference/config-api/kube-scheduler-policy-config.v1/)
523522

524523
**Example:**
525524

@@ -742,23 +741,14 @@ LastState: map[terminated:map[exitCode:137 reason:OOM Killed startedAt:2015-07-0
742741

743742
You can see that the Container was terminated because of `reason:OOM Killed`, where `OOM` stands for Out Of Memory.
744743

745-
746-
747-
748-
749-
750744
## {{% heading "whatsnext" %}}
751745

752-
753746
* Get hands-on experience [assigning Memory resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-memory-resource/).
754-
755747
* Get hands-on experience [assigning CPU resources to Containers and Pods](/docs/tasks/configure-pod-container/assign-cpu-resource/).
756-
757748
* For more details about the difference between requests and limits, see
758749
[Resource QoS](https://git.k8s.io/community/contributors/design-proposals/node/resource-qos.md).
759-
760750
* Read the [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core) API reference
761-
762751
* Read the [ResourceRequirements](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcerequirements-v1-core) API reference
763-
764752
* Read about [project quotas](https://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/xfs-quotas.html) in XFS
753+
* Read more about the [kube-scheduler Policy reference (v1)](/docs/reference/config-api/kube-scheduler-policy-config.v1/)
754+

content/en/docs/concepts/configuration/secret.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ When a secret currently consumed in a volume is updated, projected keys are even
668668
The kubelet checks whether the mounted secret is fresh on every periodic sync.
669669
However, the kubelet uses its local cache for getting the current value of the Secret.
670670
The type of the cache is configurable using the `ConfigMapAndSecretChangeDetectionStrategy` field in
671-
the [KubeletConfiguration struct](https://github.com/kubernetes/kubernetes/blob/{{< param "docsbranch" >}}/staging/src/k8s.io/kubelet/config/v1beta1/types.go).
671+
the [KubeletConfiguration struct](/docs/reference/config-api/kubelet-config.v1beta1/).
672672
A Secret can be either propagated by watch (default), ttl-based, or by redirecting
673673
all requests directly to the API server.
674674
As a result, the total delay from the moment when the Secret is updated to the moment
@@ -760,8 +760,8 @@ data has the following advantages:
760760
- improves performance of your cluster by significantly reducing load on kube-apiserver, by
761761
closing watches for secrets marked as immutable.
762762

763-
This feature is controlled by the `ImmutableEphemeralVolumes` [feature
764-
gate](/docs/reference/command-line-tools-reference/feature-gates/),
763+
This feature is controlled by the `ImmutableEphemeralVolumes`
764+
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/),
765765
which is enabled by default since v1.19. You can create an immutable
766766
Secret by setting the `immutable` field to `true`. For example,
767767
```yaml
@@ -865,6 +865,7 @@ start until all the Pod's volumes are mounted.
865865
### Use-Case: As container environment variables
866866

867867
Create a secret
868+
868869
```yaml
869870
apiVersion: v1
870871
kind: Secret
@@ -877,6 +878,7 @@ data:
877878
```
878879

879880
Create the Secret:
881+
880882
```shell
881883
kubectl apply -f mysecret.yaml
882884
```
@@ -992,7 +994,7 @@ For example, if your actual password is `S!B\*d$zDsb=`, you should execute the c
992994
kubectl create secret generic dev-db-secret --from-literal=username=devuser --from-literal=password='S!B\*d$zDsb='
993995
```
994996

995-
You do not need to escape special characters in passwords from files (`--from-file`).
997+
You do not need to escape special characters in passwords from files (`--from-file`).
996998
{{< /note >}}
997999

9981000
Now make the Pods:
@@ -1173,14 +1175,12 @@ privileged, system-level components.
11731175

11741176
Applications that need to access the Secret API should perform `get` requests on
11751177
the secrets they need. This lets administrators restrict access to all secrets
1176-
while [white-listing access to individual instances](
1177-
/docs/reference/access-authn-authz/rbac/#referring-to-resources) that
1178+
while [white-listing access to individual instances](/docs/reference/access-authn-authz/rbac/#referring-to-resources) that
11781179
the app needs.
11791180

11801181
For improved performance over a looping `get`, clients can design resources that
11811182
reference a secret then `watch` the resource, re-requesting the secret when the
1182-
reference changes. Additionally, a ["bulk watch" API](
1183-
https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/bulk_watch.md)
1183+
reference changes. Additionally, a ["bulk watch" API](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/bulk_watch.md)
11841184
to let clients `watch` individual resources has also been proposed, and will likely
11851185
be available in future releases of Kubernetes.
11861186

content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ desired state, and continually maintains this state.
4444
You can deploy and update a custom controller on a running cluster, independently
4545
of the cluster's lifecycle. Custom controllers can work with any kind of resource,
4646
but they are especially effective when combined with custom resources. The
47-
[Operator pattern](https://coreos.com/blog/introducing-operators.html) combines custom
47+
[Operator pattern](/docs/concepts/extend-kubernetes/operator/) combines custom
4848
resources and custom controllers. You can use custom controllers to encode domain knowledge
4949
for specific applications into an extension of the Kubernetes API.
5050

content/en/docs/concepts/overview/components.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ The control plane's components make global decisions about the cluster (for exam
3333
Control plane components can be run on any machine in the cluster. However,
3434
for simplicity, set up scripts typically start all control plane components on
3535
the same machine, and do not run user containers on this machine. See
36-
[Building High-Availability Clusters](/docs/admin/high-availability/) for an example multi-master-VM setup.
36+
[Creating Highly Available clusters with kubeadm](/docs/setup/production-environment/tools/kubeadm/high-availability/)
37+
for an example control plane setup that runs across multiple VMs.
3738

3839
### kube-apiserver
3940

@@ -132,4 +133,3 @@ saving container logs to a central log store with search/browsing interface.
132133
* Learn about [Controllers](/docs/concepts/architecture/controller/)
133134
* Learn about [kube-scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/)
134135
* Read etcd's official [documentation](https://etcd.io/docs/)
135-

content/en/docs/concepts/overview/working-with-objects/names.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ For non-unique user-provided attributes, Kubernetes provides [labels](/docs/conc
2424

2525
{{< glossary_definition term_id="name" length="all" >}}
2626

27+
{{< note >}}
28+
In cases when objects represent a physical entity, like a Node representing a physical host, when the host is re-created under the same name without deleting and re-creating the Node, Kubernetes treats the new host as the old one, which may lead to inconsistencies.
29+
{{< /note >}}
30+
2731
Below are three types of commonly used name constraints for resources.
2832

2933
### DNS Subdomain Names
@@ -86,4 +90,3 @@ UUIDs are standardized as ISO/IEC 9834-8 and as ITU-T X.667.
8690
8791
* Read about [labels](/docs/concepts/overview/working-with-objects/labels/) in Kubernetes.
8892
* See the [Identifiers and Names in Kubernetes](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) design document.
89-

0 commit comments

Comments
 (0)