Skip to content

Commit e19d42b

Browse files
Merge branch 'kubernetes:main' into main
2 parents 0ce9e23 + c7e83be commit e19d42b

File tree

30 files changed

+1365
-213
lines changed

30 files changed

+1365
-213
lines changed

content/en/blog/_posts/2015-04-00-Borg-Predecessor-To-Kubernetes.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,23 @@ To give you a flavor, here are four Kubernetes features that came from our exper
1616

1717

1818

19-
1) [Pods](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/pods.md). A pod is the unit of scheduling in Kubernetes. It is a resource envelope in which one or more containers run. Containers that are part of the same pod are guaranteed to be scheduled together onto the same machine, and can share state via local volumes.
19+
1) [Pods](/docs/concepts/workloads/pods/). A pod is the unit of scheduling in Kubernetes. It is a resource envelope in which one or more containers run. Containers that are part of the same pod are guaranteed to be scheduled together onto the same machine, and can share state via local volumes.
2020

2121

2222

2323
Borg has a similar abstraction, called an alloc (short for “resource allocation”). Popular uses of allocs in Borg include running a web server that generates logs alongside a lightweight log collection process that ships the log to a cluster filesystem (not unlike fluentd or logstash); running a web server that serves data from a disk directory that is populated by a process that reads data from a cluster filesystem and prepares/stages it for the web server (not unlike a Content Management System); and running user-defined processing functions alongside a storage shard. Pods not only support these use cases, but they also provide an environment similar to running multiple processes in a single VM -- Kubernetes users can deploy multiple co-located, cooperating processes in a pod without having to give up the simplicity of a one-application-per-container deployment model.
2424

2525

2626

27-
2) [Services](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/services.md). Although Borg’s primary role is to manage the lifecycles of tasks and machines, the applications that run on Borg benefit from many other cluster services, including naming and load balancing. Kubernetes supports naming and load balancing using the service abstraction: a service has a name and maps to a dynamic set of pods defined by a label selector (see next section). Any container in the cluster can connect to the service using the service name. Under the covers, Kubernetes automatically load-balances connections to the service among the pods that match the label selector, and keeps track of where the pods are running as they get rescheduled over time due to failures.
27+
2) [Services](/docs/concepts/services-networking/service/). Although Borg’s primary role is to manage the lifecycles of tasks and machines, the applications that run on Borg benefit from many other cluster services, including naming and load balancing. Kubernetes supports naming and load balancing using the service abstraction: a service has a name and maps to a dynamic set of pods defined by a label selector (see next section). Any container in the cluster can connect to the service using the service name. Under the covers, Kubernetes automatically load-balances connections to the service among the pods that match the label selector, and keeps track of where the pods are running as they get rescheduled over time due to failures.
2828

2929

3030

31-
3) [Labels](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/labels.md). A container in Borg is usually one replica in a collection of identical or nearly identical containers that correspond to one tier of an Internet service (e.g. the front-ends for Google Maps) or to the workers of a batch job (e.g. a MapReduce). The collection is called a Job, and each replica is called a Task. While the Job is a very useful abstraction, it can be limiting. For example, users often want to manage their entire service (composed of many Jobs) as a single entity, or to uniformly manage several related instances of their service, for example separate canary and stable release tracks. At the other end of the spectrum, users frequently want to reason about and control subsets of tasks within a Job -- the most common example is during rolling updates, when different subsets of the Job need to have different configurations.
31+
3) [Labels](/docs/concepts/overview/working-with-objects/labels/). A container in Borg is usually one replica in a collection of identical or nearly identical containers that correspond to one tier of an Internet service (e.g. the front-ends for Google Maps) or to the workers of a batch job (e.g. a MapReduce). The collection is called a Job, and each replica is called a Task. While the Job is a very useful abstraction, it can be limiting. For example, users often want to manage their entire service (composed of many Jobs) as a single entity, or to uniformly manage several related instances of their service, for example separate canary and stable release tracks. At the other end of the spectrum, users frequently want to reason about and control subsets of tasks within a Job -- the most common example is during rolling updates, when different subsets of the Job need to have different configurations.
3232

3333

3434

35-
Kubernetes supports more flexible collections than Borg by organizing pods using labels, which are arbitrary key/value pairs that users attach to pods (and in fact to any object in the system). Users can create groupings equivalent to Borg Jobs by using a “job:\<jobname\>” label on their pods, but they can also use additional labels to tag the service name, service instance (production, staging, test), and in general, any subset of their pods. A label query (called a “label selector”) is used to select which set of pods an operation should be applied to. Taken together, labels and [replication controllers](https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/replication-controller.md) allow for very flexible update semantics, as well as for operations that span the equivalent of Borg Jobs.
35+
Kubernetes supports more flexible collections than Borg by organizing pods using labels, which are arbitrary key/value pairs that users attach to pods (and in fact to any object in the system). Users can create groupings equivalent to Borg Jobs by using a “job:\<jobname\>” label on their pods, but they can also use additional labels to tag the service name, service instance (production, staging, test), and in general, any subset of their pods. A label query (called a “label selector”) is used to select which set of pods an operation should be applied to. Taken together, labels and [replication controllers](/docs/concepts/workloads/controllers/replicationcontroller/) allow for very flexible update semantics, as well as for operations that span the equivalent of Borg Jobs.
3636

3737

3838

content/en/blog/_posts/2023-01-05-retroactive-default-storage-class.md

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -107,38 +107,42 @@ If you want to test the feature whilst it's alpha, you need to enable the releva
107107
If you would like to see the feature in action and verify it works fine in your cluster here's what you can try:
108108

109109
1. Define a basic PersistentVolumeClaim:
110-
```yaml
111-
apiVersion: v1
112-
kind: PersistentVolumeClaim
113-
metadata:
114-
name: pvc-1
115-
spec:
116-
accessModes:
117-
- ReadWriteOnce
118-
resources:
119-
requests:
120-
storage: 1Gi
121-
```
110+
111+
```yaml
112+
apiVersion: v1
113+
kind: PersistentVolumeClaim
114+
metadata:
115+
name: pvc-1
116+
spec:
117+
accessModes:
118+
- ReadWriteOnce
119+
resources:
120+
requests:
121+
storage: 1Gi
122+
```
122123
123124
2. Create the PersistentVolumeClaim when there is no default StorageClass. The PVC won't provision or bind (unless there is an existing, suitable PV already present) and will remain in <code>Pending</code> state.
124-
```
125-
$ kc get pvc
126-
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
127-
pvc-1 Pending
128-
```
125+
126+
```
127+
$ kc get pvc
128+
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
129+
pvc-1 Pending
130+
```
129131

130132
3. Configure one StorageClass as default.
131-
```
132-
$ kc patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
133-
storageclass.storage.k8s.io/my-storageclass patched
134-
```
133+
134+
```
135+
$ kc patch sc -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
136+
storageclass.storage.k8s.io/my-storageclass patched
137+
```
135138

136139
4. Verify that PersistentVolumeClaims is now provisioned correctly and was updated retroactively with new default StorageClass.
137-
```
138-
$ kc get pvc
139-
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
140-
pvc-1 Bound pvc-06a964ca-f997-4780-8627-b5c3bf5a87d8 1Gi RWO my-storageclass 87m
141-
```
140+
141+
```
142+
$ kc get pvc
143+
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
144+
pvc-1 Bound pvc-06a964ca-f997-4780-8627-b5c3bf5a87d8 1Gi RWO my-storageclass 87m
145+
```
142146

143147
### New metrics
144148

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

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ weight: 10
99

1010
<!-- overview -->
1111

12-
Kubernetes runs your workload by placing containers into Pods to run on _Nodes_.
12+
Kubernetes runs your {{< glossary_tooltip text="workload" term_id="workload" >}} by placing containers into Pods to run on _Nodes_.
1313
A node may be a virtual or physical machine, depending on the cluster. Each node
1414
is managed by the
1515
{{< glossary_tooltip text="control plane" term_id="control-plane" >}}
@@ -563,7 +563,7 @@ ShutdownGracePeriodCriticalPods are not configured properly. Please refer to abo
563563
section [Graceful Node Shutdown](#graceful-node-shutdown) for more details.
564564

565565
When a node is shutdown but not detected by kubelet's Node Shutdown Manager, the pods
566-
that are part of a StatefulSet will be stuck in terminating status on
566+
that are part of a {{< glossary_tooltip text="StatefulSet" term_id="statefulset" >}} will be stuck in terminating status on
567567
the shutdown node and cannot move to a new running node. This is because kubelet on
568568
the shutdown node is not available to delete the pods so the StatefulSet cannot
569569
create a new pod with the same name. If there are volumes used by the pods, the
@@ -577,7 +577,7 @@ these pods will be stuck in terminating status on the shutdown node forever.
577577
To mitigate the above situation, a user can manually add the taint `node.kubernetes.io/out-of-service` with either `NoExecute`
578578
or `NoSchedule` effect to a Node marking it out-of-service.
579579
If the `NodeOutOfServiceVolumeDetach`[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
580-
is enabled on `kube-controller-manager`, and a Node is marked out-of-service with this taint, the
580+
is enabled on {{< glossary_tooltip text="kube-controller-manager" term_id="kube-controller-manager" >}}, and a Node is marked out-of-service with this taint, the
581581
pods on the node will be forcefully deleted if there are no matching tolerations on it and volume
582582
detach operations for the pods terminating on the node will happen immediately. This allows the
583583
Pods on the out-of-service node to recover quickly on a different node.
@@ -646,9 +646,11 @@ see [KEP-2400](https://github.com/kubernetes/enhancements/issues/2400) and its
646646

647647
## {{% heading "whatsnext" %}}
648648

649-
* Learn about the [components](/docs/concepts/overview/components/#node-components) that make up a node.
650-
* Read the [API definition for Node](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core).
651-
* Read the [Node](https://git.k8s.io/design-proposals-archive/architecture/architecture.md#the-kubernetes-node)
652-
section of the architecture design document.
653-
* Read about [taints and tolerations](/docs/concepts/scheduling-eviction/taint-and-toleration/).
649+
Learn more about the following:
650+
* [Components](/docs/concepts/overview/components/#node-components) that make up a node.
651+
* [API definition for Node](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core).
652+
* [Node](https://git.k8s.io/design-proposals-archive/architecture/architecture.md#the-kubernetes-node) section of the architecture design document.
653+
* [Taints and Tolerations](/docs/concepts/scheduling-eviction/taint-and-toleration/).
654+
* [Node Resource Managers](/docs/concepts/policy/node-resource-managers/).
655+
* [Resource Management for Windows nodes](/docs/concepts/configuration/windows-resource-management/).
654656

content/en/docs/concepts/extend-kubernetes/operator.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ operator.
119119
* [kubebuilder](https://book.kubebuilder.io/)
120120
* [KubeOps](https://buehler.github.io/dotnet-operator-sdk/) (.NET operator SDK)
121121
* [KUDO](https://kudo.dev/) (Kubernetes Universal Declarative Operator)
122+
* [Mast](https://docs.ansi.services/mast/user_guide/operator/)
122123
* [Metacontroller](https://metacontroller.github.io/metacontroller/intro.html) along with WebHooks that
123124
you implement yourself
124125
* [Operator Framework](https://operatorframework.io)

content/en/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -388,9 +388,24 @@ to 1 second. Minimum value is 1.
388388
* `successThreshold`: Minimum consecutive successes for the probe to be
389389
considered successful after having failed. Defaults to 1. Must be 1 for liveness
390390
and startup Probes. Minimum value is 1.
391-
* `failureThreshold`: When a probe fails, Kubernetes will
392-
try `failureThreshold` times before giving up. Giving up in case of liveness probe means restarting the container. In case of readiness probe the Pod will be marked Unready.
393-
Defaults to 3. Minimum value is 1.
391+
* `failureThreshold`: After a probe fails `failureThreshold` times in a row, Kubernetes
392+
considers that the overall check has failed: the container is _not_ ready / healthy /
393+
live.
394+
For the case of a startup or liveness probe, if at least `failureThreshold` probes have
395+
failed, Kubernetes treats the container as unhealthy and triggers a restart for that
396+
specific container. The kubelet takes the setting of `terminationGracePeriodSeconds`
397+
for that container into account.
398+
For a failed readiness probe, the kubelet continues running the container that failed
399+
checks, and also continues to run more probes; because the check failed, the kubelet
400+
sets the `Ready` [condition](/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions)
401+
on the Pod to `false`.
402+
* `terminationGracePeriodSeconds`: configure a grace period for the kubelet to wait
403+
between triggering a shut down of the failed container, and then forcing the
404+
container runtime to stop that container.
405+
The default is to inherit the Pod-level value for `terminationGracePeriodSeconds`
406+
(30 seconds if not specified), and the minimum value is 1.
407+
See [probe-level `terminationGracePeriodSeconds`](#probe-level-terminationgraceperiodseconds)
408+
for more detail.
394409

395410
{{< note >}}
396411
Before Kubernetes 1.20, the field `timeoutSeconds` was not respected for exec probes:

content/fr/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@ si le master est irrécupérable, votre cluster peut perdre ses données et peut
676676
partir de zéro. L'ajout du support HA (plusieurs serveurs etcd, plusieurs API servers, etc.)
677677
à kubeadm est encore en cours de developpement.
678678

679-
   Contournement: régulièrement [sauvegarder etcd](https://coreos.com/etcd/docs/latest/admin_guide.html).
679+
   Contournement: régulièrement [sauvegarder etcd](https://etcd.io/docs/v3.5/op-guide/recovery/).
680680
le répertoire des données etcd configuré par kubeadm se trouve dans `/var/lib/etcd` sur le master.
681681

682682
## Diagnostic {#troubleshooting}

content/ja/docs/concepts/security/controlling-access.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ Kubernetesは、ABACモード、RBACモード、Webhookモードなど、複数
116116
Kubernetesの監査は、クラスター内の一連のアクションを文書化した、セキュリティに関連する時系列の記録を提供します。
117117
クラスターは、ユーザー、Kubernetes APIを使用するアプリケーション、およびコントロールプレーン自身によって生成されるアクティビティを監査します。
118118

119-
詳しくは[監査](/ja/docs/tasks/debug-application-cluster/audit/)をご覧ください。
119+
詳しくは[監査](/ja/docs/tasks/debug/debug-cluster/audit/)をご覧ください。
120120

121121
## APIサーバーのIPとポート {#api-server-ports-and-ips}
122122

@@ -167,4 +167,3 @@ APIサーバーは、実際には2つのポートでサービスを提供する
167167

168168
以下についても知ることができます。
169169
- PodがAPIクレデンシャルを取得するために[Secrets](/ja/docs/concepts/configuration/secret/#service-accounts-automatically-create-and-attach-secrets-with-api-credentials)を使用する方法について。
170-

content/ja/docs/concepts/security/pod-security-admission.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Kubernetesは、名前空間に使用したい定義済みのPodセキュリテ
6565
モード | 説明
6666
:---------|:------------
6767
**enforce** | ポリシーに違反した場合、Podは拒否されます。
68-
**audit** | ポリシー違反は、[監査ログ](/ja/docs/tasks/debug-application-cluster/audit/)に記録されるイベントに監査アノテーションを追加するトリガーとなりますが、それ以外は許可されます。
68+
**audit** | ポリシー違反は、[監査ログ](/ja/docs/tasks/debug/debug-cluster/audit/)に記録されるイベントに監査アノテーションを追加するトリガーとなりますが、それ以外は許可されます。
6969
**warn** | ポリシーに違反した場合は、ユーザーへの警告がトリガーされますが、それ以外は許可されます。
7070
{{< /table >}}
7171

content/ja/docs/concepts/workloads/pods/init-containers.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,5 +261,4 @@ Kubernetes v1.20以降では、initコンテナのイメージが変更された
261261
## {{% heading "whatsnext" %}} {#what-s-next}
262262

263263
* [Initコンテナを含むPodの作成](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container)方法について学ぶ。
264-
* [Initコンテナのデバッグ](/ja/docs/tasks/debug-application-cluster/debug-init-containers/)を行う方法について学ぶ。
265-
264+
* [Initコンテナのデバッグ](/ja/docs/tasks/debug/debug-application/debug-init-containers/)を行う方法について学ぶ。
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
title: 例 #1
3+
---
4+
5+
これは**挿入**leaf bundle内のコンテンツファイルの****です。
6+
7+
{{< note >}}
8+
挿入されたコンテンツファイル内でもショートコードを使用することができます。
9+
{{< /note >}}

0 commit comments

Comments
 (0)