[zh] Fix link for /docs/reference/generated

This commit is contained in:
Sean Wei
2022-06-18 08:59:00 +08:00
parent 4c88434efc
commit 0e89a437f2
11 changed files with 132 additions and 138 deletions
@@ -33,7 +33,7 @@ assigning more resources (for example: memory or CPU) to the Pods that are alrea
running for the workload.
-->
[HorizontalPodAutoscaler](/zh/docs/tasks/run-application/horizontal-pod-autoscale/) (简称 HPA
自动更新工作负载资源(例如 {{< glossary_tooltip text="Deployment" term_id="deployment" >}} 或者
自动更新工作负载资源(例如 {{< glossary_tooltip text="Deployment" term_id="deployment" >}} 或者
{{< glossary_tooltip text="StatefulSet" term_id="statefulset" >}}),
目的是自动扩缩工作负载以满足需求。
@@ -80,7 +80,7 @@ new kinds of resource that represent metric readings.
To learn how to deploy the Metrics Server, see the
[metrics-server documentation](https://github.com/kubernetes-sigs/metrics-server#deployment).
-->
按照本演练进行操作,你需要一个部署并配置了
按照本演练进行操作,你需要一个部署并配置了
[Metrics Server](https://github.com/kubernetes-sigs/metrics-server#readme) 的集群。
Kubernetes Metrics Server 从集群中的 {{<glossary_tooltip term_id="kubelet" text="kubelets">}} 收集资源指标,
并通过 [Kubernetes API](/zh/docs/concepts/overview/kubernetes-api/) 公开这些指标,
@@ -175,7 +175,7 @@ on the algorithm.
## 创建 HorizontalPodAutoscaler {#create-horizontal-pod-autoscaler}
现在服务器正在运行,使用 `kubectl` 创建自动扩缩器。
[`kubectl autoscale`](/zh/docs/reference/generated/kubectl/kubectl-commands#autoscale) 子命令是 `kubectl` 的一部分,
[`kubectl autoscale`](/docs/reference/generated/kubectl/kubectl-commands#autoscale) 子命令是 `kubectl` 的一部分,
可以帮助你执行此操作。
你将很快运行一个创建 HorizontalPodAutoscaler 的命令,
@@ -183,7 +183,7 @@ on the algorithm.
粗略地说,HPA {{<glossary_tooltip text="控制器" term_id="controller">}}将增加和减少副本的数量
(通过更新 Deployment)以保持所有 Pod 的平均 CPU 利用率为 50%。
Deployment 然后更新 ReplicaSet —— 这是所有 Deployment 在 Kubernetes 中工作方式的一部分 ——
Deployment 然后更新 ReplicaSet —— 这是所有 Deployment 在 Kubernetes 中工作方式的一部分 ——
然后 ReplicaSet 根据其 `.spec` 的更改添加或删除 Pod。
由于每个 Pod 通过 `kubectl run` 请求 200 milli-cores,这意味着平均 CPU 使用率为 100 milli-cores。
@@ -649,7 +649,7 @@ relationship to any object in the Kubernetes cluster, such as metrics describing
no direct correlation to Kubernetes namespaces. In Kubernetes 1.10 and later, you can address this use case
with *external metrics*.
-->
### 基于与 Kubernetes 对象无关的度量指标执行扩缩
### 基于与 Kubernetes 对象无关的度量指标执行扩缩 {#autoscaling-on-metrics-not-related-to-kubernetes-objects}
运行在 Kubernetes 上的应用程序可能需要基于与 Kubernetes 集群中的任何对象
没有明显关系的度量指标进行自动扩缩,
@@ -710,7 +710,7 @@ When using the `autoscaling/v2` form of the HorizontalPodAutoscaler, you will be
whether or not the HorizontalPodAutoscaler is able to scale, and whether or not it is currently restricted
in any way.
-->
## 附录:Horizontal Pod Autoscaler 状态条件
## 附录:Horizontal Pod Autoscaler 状态条件 {#appendix-horizontal-pod-autoscaler-status-conditions}
使用 `autoscaling/v2` 格式的 HorizontalPodAutoscaler 时,你将可以看到
Kubernetes 为 HorizongtalPodAutoscaler 设置的状态条件(Status Conditions)。
@@ -816,5 +816,4 @@ kubectl create -f https://k8s.io/examples/application/hpa/php-apache.yaml
```
horizontalpodautoscaler.autoscaling/php-apache created
```
```
@@ -1,7 +1,7 @@
---
title: Pod 水平自动扩缩
feature:
title: 水平扩缩
title: 水平扩缩
description: >
使用一个简单的命令、一个 UI 或基于 CPU 使用情况自动对应用程序进行扩缩。
@@ -18,7 +18,7 @@ a {{< glossary_tooltip text="Deployment" term_id="deployment" >}} or
aim of automatically scaling the workload to match demand.
-->
在 Kubernetes 中,_HorizontalPodAutoscaler_ 自动更新工作负载资源
(例如 {{< glossary_tooltip text="Deployment" term_id="deployment" >}} 或者
(例如 {{< glossary_tooltip text="Deployment" term_id="deployment" >}} 或者
{{< glossary_tooltip text="StatefulSet" term_id="statefulset" >}}),
目的是自动扩缩工作负载以满足需求。
@@ -83,8 +83,8 @@ Kubernetes implements horizontal pod autoscaling as a control loop that runs int
[`kube-controller-manager`](/docs/reference/command-line-tools-reference/kube-controller-manager/)
(and the default interval is 15 seconds).
-->
Kubernetes 将水平 Pod 自动扩缩实现为一个间歇运行的控制回路(它不是一个连续的过程)。间隔由
[`kube-controller-manager`](/zh/docs/reference/command-line-tools-reference/kube-controller-manager/)
Kubernetes 将水平 Pod 自动扩缩实现为一个间歇运行的控制回路(它不是一个连续的过程)。间隔由
[`kube-controller-manager`](/zh/docs/reference/command-line-tools-reference/kube-controller-manager/)
`--horizontal-pod-autoscaler-sync-period` 参数设置(默认间隔为 15 秒)。
<!--
@@ -238,7 +238,7 @@ When scaling on CPU, if any pod has yet to become ready (it's still
initializing, or possibly is unhealthy) *or* the most recent metric point for the pod was before it
became ready, that pod is set aside as well.
-->
当使用 CPU 指标来扩缩时,任何还未就绪(还在初始化,或者可能是不健康的)状态的 Pod **或**
当使用 CPU 指标来扩缩时,任何还未就绪(还在初始化,或者可能是不健康的)状态的 Pod **或**
最近的指标度量值采集于就绪状态前的 Pod,该 Pod 也会被搁置。
<!--
@@ -398,7 +398,7 @@ If you perform a rolling update of a StatefulSet that has an autoscaled number o
replicas, the StatefulSet directly manages its set of Pods (there is no intermediate resource
similar to ReplicaSet).
-->
如果你对一个副本个数被自动扩缩的 StatefulSet 执行滚动更新, 该 StatefulSet
如果你对一个副本个数被自动扩缩的 StatefulSet 执行滚动更新,该 StatefulSet
会直接管理它的 Pod 集合 (不存在类似 ReplicaSet 这样的中间资源)。
<!--
@@ -540,7 +540,7 @@ See [Support for metrics APIs](#support-for-metrics-apis) for the requirements.
(之前的 `autoscaling/v2beta2` API 版本将此功能作为 beta 功能提供)
如果你使用 `autoscaling/v2` API 版本,则可以将 HorizontalPodAutoscaler
如果你使用 `autoscaling/v2` API 版本,则可以将 HorizontalPodAutoscaler
配置为基于自定义指标(未内置于 Kubernetes 或任何 Kubernetes 组件)进行扩缩。
HorizontalPodAutoscaler 控制器能够从 Kubernetes API 查询这些自定义指标。
@@ -598,14 +598,14 @@ APIs, cluster administrators must ensure that:
* 对于资源指标,将使用 `metrics.k8s.io` API,一般由 [metrics-server](https://github.com/kubernetes-incubator/metrics-server) 提供。
它可以作为集群插件启动。
* 对于自定义指标,将使用 `custom.metrics.k8s.io` API。
它由其他度量指标方案厂商的“适配器(Adapter)” API 服务器提供。
检查你的指标管道以查看是否有可用的 Kubernetes 指标适配器。
* 对于外部指标,将使用 `external.metrics.k8s.io` API。可能由上面的自定义指标适配器提供。
<!--
<!--
For more information on these different metrics paths and how they differ please see the relevant design proposals for
[the HPA V2](https://github.com/kubernetes/design-proposals-archive/blob/main/autoscaling/hpa-v2.md),
[custom.metrics.k8s.io](https://github.com/kubernetes/design-proposals-archive/blob/main/instrumentation/custom-metrics-api.md)
@@ -613,18 +613,18 @@ and [external.metrics.k8s.io](https://github.com/kubernetes/design-proposals-arc
-->
关于指标来源以及其区别的更多信息,请参阅相关的设计文档,
[HPA V2](https://github.com/kubernetes/design-proposals-archive/blob/main/autoscaling/hpa-v2.md)
[custom.metrics.k8s.io](https://github.com/kubernetes/design-proposals-archive/blob/main/instrumentation/custom-metrics-api.md) 和
[custom.metrics.k8s.io](https://github.com/kubernetes/design-proposals-archive/blob/main/instrumentation/custom-metrics-api.md) 和
[external.metrics.k8s.io](https://github.com/kubernetes/design-proposals-archive/blob/main/instrumentation/external-metrics-api.md)。
<!--
For examples of how to use them see [the walkthrough for using custom metrics](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics)
and [the walkthrough for using external metrics](/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects).
-->
关于如何使用它们的示例,请参考
关于如何使用它们的示例,请参考
[使用自定义指标的教程](/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics)
和[使用外部指标的教程](/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects)。
<!--
<!--
## Configurable scaling behavior
(the `autoscaling/v2beta2` API version previously provided this ability as a beta feature)
@@ -651,10 +651,10 @@ the replica count for a scaling target. Scaling policies also let you controls t
rate of change of replicas while scaling.
-->
你可以指定一个 “稳定窗口” ,以防止扩缩目标的副本计数发生[波动](#flapping)。
你可以指定一个 “稳定窗口”,以防止扩缩目标的副本计数发生[波动](#flapping)。
扩缩策略还允许你在扩缩时控制副本的变化率。
<!--
<!--
### Scaling Policies
One or more scaling policies can be specified in the `behavior` section of the spec.
@@ -678,7 +678,7 @@ behavior:
periodSeconds: 60
```
<!--
<!--
`periodSeconds` indicates the length of time in the past for which the policy must hold true.
The first policy _(Pods)_ allows at most 4 replicas to be scaled down in one minute. The second policy
_(Percent)_ allows at most 10% of the current replicas to be scaled down in one minute.
@@ -703,7 +703,7 @@ and 4 replicas will be reduced at a time.
在 autoscaler 控制器的每个循环中,将根据当前副本的数量重新计算要更改的 Pod 数量。
当副本数量低于 40 时,应用第一个策略(Pods),一次减少 4 个副本。
<!--
<!--
The policy selection can be changed by specifying the `selectPolicy` field for a scaling
direction. By setting the value to `Min` which would select the policy which allows the
smallest change in the replica count. Setting the value to `Disabled` completely disables
@@ -713,7 +713,7 @@ scaling in that direction.
通过设置 `Min` 的值,它将选择副本数变化最小的策略。
将该值设置为 `Disabled` 将完全禁用该方向的扩缩。
<!--
<!--
### Stabilization Window
The stabilization window is used to restrict the [flapping](#flapping) of
@@ -736,7 +736,7 @@ behavior:
stabilizationWindowSeconds: 300
```
<!--
<!--
When the metrics indicate that the target should be scaled down the algorithm looks
into previously computed desired states, and uses the highest value from the specified
interval. In the above example, all desired states from the past 5 minutes will be considered.
@@ -750,7 +750,7 @@ remove Pods only to trigger recreating an equivalent Pod just moments later.
-->
这近似于滚动最大值,并避免了扩缩算法频繁删除 Pod 而又触发重新创建等效 Pod。
<!--
<!--
### Default Behavior
To use the custom scaling not all fields have to be specified. Only values which need to be
@@ -784,7 +784,7 @@ behavior:
selectPolicy: Max
```
<!--
<!--
For scaling down the stabilization window is _300_ seconds (or the value of the
`--horizontal-pod-autoscaler-downscale-stabilization` flag if provided). There is only a single policy
for scaling down which allows a 100% of the currently running replicas to be removed which
@@ -793,18 +793,18 @@ For scaling up there is no stabilization window. When the metrics indicate that
scaled up the target is scaled up immediately. There are 2 policies where 4 pods or a 100% of the currently
running replicas will be added every 15 seconds till the HPA reaches its steady state.
-->
用于缩小稳定窗口的时间为 _300_ 秒(或是 `--horizontal-pod-autoscaler-downscale-stabilization`
用于缩小稳定窗口的时间为 _300_ 秒(或是 `--horizontal-pod-autoscaler-downscale-stabilization`
参数设定值)。
只有一种缩容的策略,允许 100% 删除当前运行的副本,这意味着扩缩目标可以缩小到允许的最小副本数。
对于扩容,没有稳定窗口。当指标显示目标应该扩容时,目标会立即扩容。
这里有两种策略,每 15 秒添加 4 个 Pod 或 100% 当前运行的副本数,直到 HPA 达到稳定状态。
<!--
<!--
### Example: change downscale stabilization window
To provide a custom downscale stabilization window of 1 minute, the following
behavior would be added to the HPA:
-->
-->
### 示例:更改缩容稳定窗口 {#example-change-downscale-stabilization-window}
将下面的 behavior 配置添加到 HPA 中,可提供一个 1 分钟的自定义缩容稳定窗口:
@@ -815,7 +815,7 @@ behavior:
stabilizationWindowSeconds: 60
```
<!--
<!--
### Example: limit scale down rate
To limit the rate at which pods are removed by the HPA to 10% per minute, the
@@ -834,7 +834,7 @@ behavior:
periodSeconds: 60
```
<!--
<!--
To ensure that no more than 5 Pods are removed per minute, you can add a second scale-down
policy with a fixed size of 5, and set `selectPolicy` to minimum. Setting `selectPolicy` to `Min` means
that the autoscaler chooses the policy that affects the smallest number of Pods:
@@ -855,7 +855,7 @@ behavior:
selectPolicy: Min
```
<!--
<!--
### Example: disable scale down
The `selectPolicy` value of `Disabled` turns off scaling the given direction.
@@ -894,7 +894,7 @@ will create an autoscaler for ReplicaSet *foo*, with target CPU utilization set
and the number of replicas between 2 and 5.
-->
此外,还有一个特殊的 `kubectl autoscale` 命令用于创建 HorizontalPodAutoscaler 对象。
例如,执行 `kubectl autoscale rs foo --min=2 --max=5 --cpu-percent=80`
例如,执行 `kubectl autoscale rs foo --min=2 --max=5 --cpu-percent=80`
将为 ReplicaSet *foo* 创建一个自动扩缩器,目标 CPU 利用率设置为 `80%`,副本数在 2 到 5 之间。
<!--
@@ -962,9 +962,9 @@ methods based on how you are modifying your deployments:
-->
1. `kubectl apply edit-last-applied deployment/<Deployment 名称>`
2. 在编辑器中,删除 `spec.replicas`。当你保存并退出编辑器时,`kubectl` 会应用更新。
在此步骤中不会更改 Pod 计数。
在此步骤中不会更改 Pod 计数。
3. 你现在可以从清单中删除 `spec.replicas`。如果你使用源代码管理,
还应提交你的更改或采取任何其他步骤来修改源代码,以适应你如何跟踪更新。
还应提交你的更改或采取任何其他步骤来修改源代码,以适应你如何跟踪更新。
4. 从这里开始,你可以运行 `kubectl apply -f deployment.yaml`
{{% /tab %}}
@@ -1002,7 +1002,7 @@ For more information on HorizontalPodAutoscaler:
* Read the [API reference](/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2/) for HorizontalPodAutoscaler.
-->
* 阅读水平 Pod 自动扩缩的[演练示例](/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/)。
* 阅读 [`kubectl autoscale`](/zh/docs/reference/generated/kubectl/kubectl-commands/#autoscale) 的文档。
* 阅读 [`kubectl autoscale`](/docs/reference/generated/kubectl/kubectl-commands/#autoscale) 的文档。
* 如果你想编写自己的自定义指标适配器,
请查看 [boilerplate](https://github.com/kubernetes-sigs/custom-metrics-apiserver) 以开始使用。
* 阅读 [API 参考](/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2/)。
* 阅读 [API 参考](/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2/)。