From 81bc52053d02df8f895fb4a266b4cd6d04a29d40 Mon Sep 17 00:00:00 2001 From: Qiming Teng Date: Mon, 23 Nov 2020 13:10:33 +0800 Subject: [PATCH] [zh] Sync changes from English site (12) --- .../zh/docs/concepts/workloads/pods/_index.md | 4 +- .../configure-persistent-volume-storage.md | 17 +- .../tasks/debug-application-cluster/crictl.md | 271 ++++++++---------- .../debug-cluster.md | 5 +- .../debug-init-containers.md | 6 +- .../debug-pod-replication-controller.md | 6 +- .../debug-service.md | 10 +- .../debug-stateful-set.md | 4 +- .../resource-usage-monitoring.md | 39 ++- .../imperative-config.md | 22 ++ .../docs/tasks/network/validate-dual-stack.md | 63 ++-- .../horizontal-pod-autoscale.md | 17 +- .../run-replicated-stateful-application.md | 7 +- .../run-stateless-application-deployment.md | 266 +++++++++++------ .../install-service-catalog-using-sc.md | 14 +- 15 files changed, 438 insertions(+), 313 deletions(-) diff --git a/content/zh/docs/concepts/workloads/pods/_index.md b/content/zh/docs/concepts/workloads/pods/_index.md index dc908e196a..ac7cb2f39d 100644 --- a/content/zh/docs/concepts/workloads/pods/_index.md +++ b/content/zh/docs/concepts/workloads/pods/_index.md @@ -281,8 +281,8 @@ PodTemplates are specifications for creating Pods, and are included in workload --> ### Pod 模版 {#pod-templates} -{{< glossary_tooltip text="负载" term_id="workload" >}}资源的控制器通常使用 _Pod 模板(Pod Template)_ -来替你创建 Pod 并管理它们。 +{{< glossary_tooltip text="负载" term_id="workload" >}}资源的控制器通常使用 +_Pod 模板(Pod Template)_ 来替你创建 Pod 并管理它们。 Pod 模板是包含在工作负载对象中的规范,用来创建 Pod。这类负载资源包括 [Deployment](/zh/docs/concepts/workloads/controllers/deployment/)、 diff --git a/content/zh/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md b/content/zh/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md index fdc06d75be..fc0b6f9583 100644 --- a/content/zh/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md +++ b/content/zh/docs/tasks/configure-pod-container/configure-persistent-volume-storage.md @@ -18,14 +18,14 @@ This page shows how to configure a Pod to use a for storage. Here is a summary of the process: -1. A cluster administrator creates a PersistentVolume that is backed by physical -storage. The administrator does not associate the volume with any Pod. +1. You, as cluster administrator, create a PersistentVolume backed by physical +storage. You do not associate the volume with any Pod. 1. You, now taking the role of a developer / cluster user, create a PersistentVolumeClaim that is automatically bound to a suitable PersistentVolume. -1. The user creates a Pod that uses the PersistentVolumeClaim as storage. +1. You create a Pod that uses the above PersistentVolumeClaim for storage. --> 本文介绍如何配置 Pod 使用 {{< glossary_tooltip text="PersistentVolumeClaim" term_id="persistent-volume-claim" >}} @@ -45,15 +45,16 @@ PersistentVolume. * You need to have a Kubernetes cluster that has only one Node, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a single-node cluster, you can create one by using -[Minikube](/docs/getting-started-guides/minikube). +[Minikube](https://minikube.sigs.k8s.io/docs/). * Familiarize yourself with the material in [Persistent Volumes](/docs/concepts/storage/persistent-volumes/). --> * 你需要一个包含单个节点的 Kubernetes 集群,并且必须配置 kubectl 命令行工具以便与集群交互。 - 如果还没有单节点集群,可以使用 [Minikube](/zh/docs/setup/learning-environment/minikube/) 创建一个。 - + 如果还没有单节点集群,可以使用 + [Minikube](https://minikube.sigs.k8s.io/docs/) 创建一个。 +. * 熟悉[持久卷](/zh/docs/concepts/storage/persistent-volumes/)中的材料。 @@ -420,8 +421,8 @@ metadata: 当 Pod 使用带有 GID 注解的 PersistentVolume 时,注解的 GID 会被应用于 Pod 中的所有容器, diff --git a/content/zh/docs/tasks/debug-application-cluster/crictl.md b/content/zh/docs/tasks/debug-application-cluster/crictl.md index 7e51054053..0ccbba1828 100644 --- a/content/zh/docs/tasks/debug-application-cluster/crictl.md +++ b/content/zh/docs/tasks/debug-application-cluster/crictl.md @@ -8,14 +8,12 @@ content_type: task --- @@ -27,54 +25,46 @@ content_type: task `crictl` is a command-line interface for CRI-compatible container runtimes. You can use it to inspect and debug container runtimes and applications on a Kubernetes node. `crictl` and its source are hosted in the -[cri-tools](https://github.com/kubernetes-incubator/cri-tools) repository. +[cri-tools](https://github.com/kubernetes-sigs/cri-tools) repository. --> `crictl` 是 CRI 兼容的容器运行时命令行接口。 -您可以使用它来检查和调试 Kubernetes 节点上的容器运行时和应用程序。 -`crictl`和它的源代码在 [cri-tools](https://github.com/kubernetes-incubator/cri-tools) 代码库。 - - +你可以使用它来检查和调试 Kubernetes 节点上的容器运行时和应用程序。 +`crictl` 和它的源代码在 +[cri-tools](https://github.com/kubernetes-sigs/cri-tools) 代码库。 ## {{% heading "prerequisites" %}} - - `crictl` 需要带有 CRI 运行时的 Linux 操作系统。 - - - ## 安装 crictl -您可以从 cri-tools [发布页面](https://github.com/kubernetes-incubator/cri-tools/releases)下载一个压缩的 `crictl` 归档文件,用于几种不同的架构。 -下载与您的 kubernetes 版本相对应的版本。 +你可以从 cri-tools [发布页面](https://github.com/kubernetes-sigs/cri-tools/releases) +下载一个压缩的 `crictl` 归档文件,用于几种不同的架构。 +下载与你的 kubernetes 版本相对应的版本。 提取它并将其移动到系统路径上的某个位置,例如`/usr/local/bin/`。 -## 一般用法 - - +## 一般用法 `crictl` 命令有几个子命令和运行时参数。 有关详细信息,请使用 `crictl help` 或 `crictl help` 获取帮助信息。 @@ -83,38 +73,36 @@ The `crictl` command has several subcommands and runtime flags. Use `crictl` connects to `unix:///var/run/dockershim.sock` by default. For other runtimes, you can set the endpoint in multiple different ways: --> - `crictl` 默认连接到 `unix:///var/run/dockershim.sock`。 -对于其他的运行时,您可以用多种不同的方法设置端点: +对于其他的运行时,你可以用多种不同的方法设置端点: - - 通过设置参数 `--runtime-endpoint` 和 `--image-endpoint` - 通过设置环境变量 `CONTAINER_RUNTIME_ENDPOINT` 和 `IMAGE_SERVICE_ENDPOINT` - 通过在配置文件中设置端点 `--config=/etc/crictl.yaml` - - -您还可以在连接到服务器并启用或禁用调试时指定超时值,方法是在配置文件中指定 `timeout` 或 `debug` 值,或者使用 `--timeout` 和 `--debug` 命令行参数。 +你还可以在连接到服务器并启用或禁用调试时指定超时值,方法是在配置文件中指定 +`timeout` 或 `debug` 值,或者使用 `--timeout` 和 `--debug` 命令行参数。 - 要查看或编辑当前配置,请查看或编辑 `/etc/crictl.yaml` 的内容。 -```sh +```shell cat /etc/crictl.yaml +``` +``` runtime-endpoint: unix:///var/run/dockershim.sock image-endpoint: unix:///var/run/dockershim.sock timeout: 10 @@ -126,18 +114,17 @@ debug: true The following examples show some `crictl` commands and example output. --> - ## crictl 命令示例 {{< warning >}} - - - -如果使用 `crictl` 在正在运行的 Kubernetes 集群上创建 Pod 沙盒或容器,kubelet 最终将删除它们。 -`crictl`不是一个通用的工作流工具,而是一个对调试有用的工具。 - +general purpose workflow tool, but a tool that is useful for debugging. +--> +如果使用 `crictl` 在正在运行的 Kubernetes 集群上创建 Pod 沙盒或容器, +kubelet 最终将删除它们。 +`crictl` 不是一个通用的工作流工具,而是一个对调试有用的工具。 {{< /warning >}} List all pods: --> - ### 打印 Pod 清单 打印所有 Pod 的清单: -```bash +```shell crictl pods ``` + ```none POD ID CREATED STATE NAME NAMESPACE ATTEMPT 926f1b5a1d33a About a minute ago Ready sh-84d7dcf559-4r2gq default 0 @@ -164,12 +151,12 @@ a86316e96fa89 17 hours ago Ready kube-proxy-gblk4 - 根据名称打印 Pod 清单: -```bash +```shell crictl pods --name nginx-65899c769f-wv2gp ``` + ```none POD ID CREATED STATE NAME NAMESPACE ATTEMPT 4dccb216c4adb 2 minutes ago Ready nginx-65899c769f-wv2gp default 0 @@ -178,10 +165,9 @@ POD ID CREATED STATE NAME - 根据标签打印 Pod 清单: -```bash +```shell crictl pods --label run=nginx ``` ```none @@ -194,12 +180,11 @@ POD ID CREATED STATE NAME List all images: --> - ### 打印镜像清单 打印所有镜像清单: -```bash +```shell crictl images ``` ```none @@ -213,10 +198,9 @@ nginx latest cd5239a0906a6 - 根据仓库打印镜像清单: -```bash +```shell crictl images nginx ``` ```none @@ -227,10 +211,9 @@ nginx latest cd5239a0906a6 109MB - 只打印镜像 ID: -```bash +```shell crictl images -q ``` ```none @@ -245,12 +228,11 @@ sha256:cd5239a0906a6ccf0562354852fae04bc5b52d72a2aff9a871ddb6bd57553569 List all containers: --> - ### 打印容器清单 打印所有容器清单: -```bash +```shell crictl ps -a ``` ```none @@ -264,10 +246,9 @@ CONTAINER ID IMAGE - 打印正在运行的容器清单: -```bash +```shell crictl ps ``` ```none @@ -280,10 +261,9 @@ CONTAINER ID IMAGE - ### 在正在运行的容器上执行命令 -```bash +```shell crictl exec -i -t 1f73f2d81bf98 ls ``` ```none @@ -295,12 +275,11 @@ bin dev etc home proc root sys tmp usr var Get all container logs: --> - ### 获取容器日志 获取容器的所有日志: -```bash +```shell crictl logs 87d3992f84f74 ``` ```none @@ -312,10 +291,9 @@ crictl logs 87d3992f84f74 - 获取最近的 `N` 行日志: -```bash +```shell crictl logs --tail=1 87d3992f84f74 ``` ```none @@ -329,38 +307,37 @@ Using `crictl` to run a pod sandbox is useful for debugging container runtimes. On a running Kubernetes cluster, the sandbox will eventually be stopped and deleted by the Kubelet. --> - ### 运行 Pod 沙盒 用 `crictl` 运行 Pod 沙盒对容器运行时排错很有帮助。 在运行的 Kubernetes 集群中,沙盒会随机地被 kubelet 停止和删除。 -1. - 编写下面的 JSON 文件: +1. + 编写下面的 JSON 文件: - ```json - { - "metadata": { - "name": "nginx-sandbox", - "namespace": "default", - "attempt": 1, - "uid": "hdishd83djaidwnduwk28bcsb" - }, - "logDirectory": "/tmp", - "linux": { - } - } - ``` + ```json + { + "metadata": { + "name": "nginx-sandbox", + "namespace": "default", + "attempt": 1, + "uid": "hdishd83djaidwnduwk28bcsb" + }, + "logDirectory": "/tmp", + "linux": { + } + } + ``` -2. - 使用 `crictl runp` 命令应用 JSON 文件并运行沙盒。 +2. + 使用 `crictl runp` 命令应用 JSON 文件并运行沙盒。 - ```bash - crictl runp pod-config.json - ``` + ```shell + crictl runp pod-config.json + ``` - - 返回了沙盒的 ID。 + + 返回了沙盒的 ID。 - ### 创建容器 用 `crictl` 创建容器对容器运行时排错很有帮助。 在运行的 Kubernetes 集群中,沙盒会随机的被 kubelet 停止和删除。 +1. + 拉取 busybox 镜像 -1. - 拉取 busybox 镜像 + ```bash + crictl pull busybox + Image is up to date for busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47 + ``` - ```bash - crictl pull busybox - Image is up to date for busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47 - ``` +2. + 创建 Pod 和容器的配置: -2. - 创建 Pod 和容器的配置: + + **Pod 配置**: + ```yaml + { + "metadata": { + "name": "nginx-sandbox", + "namespace": "default", + "attempt": 1, + "uid": "hdishd83djaidwnduwk28bcsb" + }, + "log_directory": "/tmp", + "linux": { + } + } + ``` - - **Pod 配置**: - ```yaml - { - "metadata": { - "name": "nginx-sandbox", - "namespace": "default", - "attempt": 1, - "uid": "hdishd83djaidwnduwk28bcsb" - }, - "log_directory": "/tmp", - "linux": { - } - } - ``` + + **容器配置**: + ```yaml + { + "metadata": { + "name": "busybox" + }, + "image":{ + "image": "busybox" + }, + "command": [ + "top" + ], + "log_path":"busybox.log", + "linux": { + } + } + ``` - - **容器配置**: - ```yaml - { - "metadata": { - "name": "busybox" - }, - "image":{ - "image": "busybox" - }, - "command": [ - "top" - ], - "log_path":"busybox.log", - "linux": { - } - } - ``` +3. + 创建容器,传递先前创建的 Pod 的 ID、容器配置文件和 Pod 配置文件。返回容器的 ID。 -3. - 创建容器,传递先前创建的 Pod 的 ID、容器配置文件和 Pod 配置文件。返回容器的 ID。 + ```bash + crictl create f84dd361f8dc51518ed291fbadd6db537b0496536c1d2d6c05ff943ce8c9a54f container-config.json pod-config.json + ``` - ```bash - crictl create f84dd361f8dc51518ed291fbadd6db537b0496536c1d2d6c05ff943ce8c9a54f container-config.json pod-config.json - ``` +4. + 查询所有容器并确认新创建的容器状态为 `Created`。 -4. - 查询所有容器并确认新创建的容器状态为 `Created`。 - - ```bash - crictl ps -a - ``` - ```none - CONTAINER ID IMAGE CREATED STATE NAME ATTEMPT - 3e025dd50a72d busybox 32 seconds ago Created busybox 0 - ``` + ```bash + crictl ps -a + ``` + ```none + CONTAINER ID IMAGE CREATED STATE NAME ATTEMPT + 3e025dd50a72d busybox 32 seconds ago Created busybox 0 + ``` - ### 启动容器 要启动容器,要将容器 ID 传给 `crictl start`: -```bash +```shell crictl start 3e025dd50a72d956c4f14881fbb5b1080c9275674e95fb67f965f6478a957d60 ``` ```none @@ -463,27 +437,20 @@ crictl start 3e025dd50a72d956c4f14881fbb5b1080c9275674e95fb67f965f6478a957d60 - 确认容器的状态为 `Running`。 -```bash +```shell crictl ps ``` ```none CONTAINER ID IMAGE CREATED STATE NAME ATTEMPT 3e025dd50a72d busybox About a minute ago Running busybox 0 ``` - - - - - -更多信息请参考 [kubernetes-incubator/cri-tools](https://github.com/kubernetes-incubator/cri-tools)。 - +更多信息请参考 [kubernetes-sigs/cri-tools](https://github.com/kubernetes-sigs/cri-tools)。 diff --git a/content/zh/docs/tasks/debug-application-cluster/debug-cluster.md b/content/zh/docs/tasks/debug-application-cluster/debug-cluster.md index 0735ed6bd6..4a39565ee4 100644 --- a/content/zh/docs/tasks/debug-application-cluster/debug-cluster.md +++ b/content/zh/docs/tasks/debug-application-cluster/debug-cluster.md @@ -15,10 +15,11 @@ content_type: concept This doc is about cluster troubleshooting; we assume you have already ruled out your application as the root cause of the problem you are experiencing. See the [application troubleshooting guide](/docs/tasks/debug-application-cluster/debug-application) for tips on application debugging. -You may also visit [troubleshooting document](/docs/troubleshooting/) for more information. +You may also visit [troubleshooting document](/docs/tasks/debug-application-cluster/troubleshooting/) for more information. --> 本篇文档是介绍集群故障排查的;我们假设对于你碰到的问题,你已经排除了是由应用程序造成的。 -对于应用的调试,请参阅[应用故障排查指南](/zh/docs/tasks/debug-application-cluster/debug-application/)。 +对于应用的调试,请参阅 +[应用故障排查指南](/zh/docs/tasks/debug-application-cluster/debug-application/)。 你也可以访问[故障排查](/zh/docs/tasks/debug-application-cluster/troubleshooting/) 来获取更多的信息。 diff --git a/content/zh/docs/tasks/debug-application-cluster/debug-init-containers.md b/content/zh/docs/tasks/debug-application-cluster/debug-init-containers.md index 8e35642baf..c859455873 100644 --- a/content/zh/docs/tasks/debug-application-cluster/debug-init-containers.md +++ b/content/zh/docs/tasks/debug-application-cluster/debug-init-containers.md @@ -21,8 +21,8 @@ content_type: task 此页显示如何核查与 Init 容器执行相关的问题。 下面的示例命令行将 Pod 称为 ``,而 Init 容器称为 `` 和 @@ -34,7 +34,7 @@ Init Containers. The example command lines below refer to the Pod as diff --git a/content/zh/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md b/content/zh/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md index 8f2721eb7a..4610d254e5 100644 --- a/content/zh/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md +++ b/content/zh/docs/tasks/debug-application-cluster/debug-pod-replication-controller.md @@ -77,9 +77,9 @@ can not schedule your pod. Reasons include: You may have exhausted the supply of CPU or Memory in your cluster. In this case you can try several things: -* [Add more nodes](/docs/admin/cluster-management/#resizing-a-cluster) to the cluster. +* Add more nodes to the cluster. -* [Terminate unneeded pods](/docs/user-guide/pods/single-container/#deleting_a_pod) +* [Terminate unneeded pods](/docs/concepts/workloads/pods/#pod-termination) to make room for pending pods. * Check that the pod is not larger than your nodes. For example, if all @@ -94,7 +94,7 @@ case you can try several things: 你可能已经耗尽了集群中供应的 CPU 或内存。在这个情况下你可以尝试几件事情: -* [添加更多节点](/zh/docs/tasks/administer-cluster/cluster-management/) 到集群。 +* 向集群中添加节点。 * [终止不需要的 Pod](/zh/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination) 为 Pending 状态的 Pod 提供空间。 diff --git a/content/zh/docs/tasks/debug-application-cluster/debug-service.md b/content/zh/docs/tasks/debug-application-cluster/debug-service.md index 579333b837..1bd0c26cb1 100644 --- a/content/zh/docs/tasks/debug-application-cluster/debug-service.md +++ b/content/zh/docs/tasks/debug-application-cluster/debug-service.md @@ -965,7 +965,7 @@ This might sound unlikely, but it does happen and it is supposed to work. This can happen when the network is not properly configured for "hairpin" traffic, usually when `kube-proxy` is running in `iptables` mode and Pods are connected with bridge network. The `Kubelet` exposes a `hairpin-mode` -[flag](/docs/admin/kubelet/) that allows endpoints of a Service to loadbalance +[flag](/docs/reference/command-line-tools-reference/kubelet/) that allows endpoints of a Service to loadbalance back to themselves if they try to access their own Service VIP. The `hairpin-mode` flag must either be set to `hairpin-veth` or `promiscuous-bridge`. @@ -977,7 +977,8 @@ back to themselves if they try to access their own Service VIP. The 如果网络没有为“发夹模式(Hairpin)”流量生成正确配置, 通常当 `kube-proxy` 以 `iptables` 模式运行,并且 Pod 与桥接网络连接时,就会发生这种情况。 -`kubelet` 提供了 `hairpin-mode`[标志](/zh/docs/reference/command-line-tools-reference/kubelet/), +`kubelet` 提供了 `hairpin-mode` +[标志](/zh/docs/reference/command-line-tools-reference/kubelet/)。 如果 Service 的末端尝试访问自己的 Service VIP,则该端点可以把流量负载均衡回来到它们自身。 `hairpin-mode` 标志必须被设置为 `hairpin-veth` 或者 `promiscuous-bridge`。 @@ -1068,7 +1069,7 @@ Service is not working. Please let us know what is going on, so we can help investigate! Contact us on -[Slack](/docs/troubleshooting/#slack) or +[Slack](/docs/tasks/debug-application-cluster/troubleshooting/#slack) or [Forum](https://discuss.kubernetes.io) or [GitHub](https://github.com/kubernetes/kubernetes). --> @@ -1087,7 +1088,8 @@ Contact us on ## {{% heading "whatsnext" %}} 访问[故障排查文档](/zh/docs/tasks/debug-application-cluster/troubleshooting/) 获取更多信息。 diff --git a/content/zh/docs/tasks/debug-application-cluster/debug-stateful-set.md b/content/zh/docs/tasks/debug-application-cluster/debug-stateful-set.md index 7131a23a52..761ceb44d7 100644 --- a/content/zh/docs/tasks/debug-application-cluster/debug-stateful-set.md +++ b/content/zh/docs/tasks/debug-application-cluster/debug-stateful-set.md @@ -37,13 +37,13 @@ kubectl get pods -l app=myapp 如果你发现列出的任何 Pod 长时间处于 `Unknown` 或 `Terminating` 状态,请参阅 -[删除 StatefulSet Pods](/zh/docs/tasks/manage-stateful-set/delete-pods/) +[删除 StatefulSet Pods](/zh/docs/tasks/run-application/delete-stateful-set/) 了解如何处理它们的说明。 你可以参考[调试 Pods](/zh/docs/tasks/debug-application-cluster/debug-application/) 来调试 StatefulSet 中的各个 Pod。 diff --git a/content/zh/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/zh/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index 9ed63ffa71..86345a09a8 100644 --- a/content/zh/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/zh/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -15,7 +15,8 @@ title: Tools for Monitoring Resources To scale an application and provide a reliable service, you need to understand how the application behaves when it is deployed. You can examine application performance in a Kubernetes cluster by examining the containers, -[pods](/docs/user-guide/pods), [services](/docs/user-guide/services), and +[pods](/docs/concepts/workloads/pods/), +[services](/docs/concepts/services-networking/service/), and the characteristics of the overall cluster. Kubernetes provides detailed information about an application's resource usage at each of these levels. This information allows you to evaluate your application's performance and @@ -23,7 +24,8 @@ where bottlenecks can be removed to improve overall performance. --> 要扩展应用程序并提供可靠的服务,你需要了解应用程序在部署时的行为。 你可以通过检测容器检查 Kubernetes 集群中的应用程序性能, -[Pods](/zh/docs/concepts/workloads/pods), [服务](/zh/docs/concepts/services-networking/service/) +[Pods](/zh/docs/concepts/workloads/pods), +[服务](/zh/docs/concepts/services-networking/service/) 和整个集群的特征。 Kubernetes 在每个级别上提供有关应用程序资源使用情况的详细信息。 此信息使你可以评估应用程序的性能,以及在何处可以消除瓶颈以提高整体性能。 @@ -31,7 +33,9 @@ Kubernetes 在每个级别上提供有关应用程序资源使用情况的详细 在 Kubernetes 中,应用程序监控不依赖单个监控解决方案。 在新集群上,你可以使用[资源度量](#resource-metrics-pipeline)或 @@ -41,24 +45,26 @@ In Kubernetes, application monitoring does not depend on a single monitoring sol ## Resource metrics pipeline The resource metrics pipeline provides a limited set of metrics related to -cluster components such as the [Horizontal Pod Autoscaler](/docs/tasks/run-application/horizontal-pod-autoscale) controller, as well as the `kubectl top` utility. +cluster components such as the +[Horizontal Pod Autoscaler](/docs/tasks/run-application/horizontal-pod-autoscale) +controller, as well as the `kubectl top` utility. These metrics are collected by the lightweight, short-term, in-memory -[metrics-server](https://github.com/kubernetes-incubator/metrics-server) and +[metrics-server](https://github.com/kubernetes-sigs/metrics-server) and are exposed via the `metrics.k8s.io` API. --> ## 资源度量管道 {#resource-metrics-pipeline} 资源指标管道提供了一组与集群组件,例如 -[Horizontal Pod Autoscaler](/zh/docs/tasks/run-application/horizontal-pod-autoscale/)控制器, -以及 `kubectl top` 实用程序相关的有限度量。 +[Horizontal Pod Autoscaler](/zh/docs/tasks/run-application/horizontal-pod-autoscale/) +控制器以及 `kubectl top` 实用程序相关的有限度量。 这些指标是由轻量级的、短期、内存存储的 -[度量服务器](https://github.com/kubernetes-incubator/metrics-server)收集的, +[metrics-server](https://github.com/kubernetes-sigs/metrics-server) 收集的, 通过 `metrics.k8s.io` 公开。 度量服务器发现集群中的所有节点,并且查询每个节点的 -[kubelet](/zh/docs/reference/command-line-tools-reference/kubelet)以获取 CPU 和内存使用情况。 +[kubelet](/zh/docs/reference/command-line-tools-reference/kubelet/) +以获取 CPU 和内存使用情况。 Kubelet 充当 Kubernetes 主节点与节点之间的桥梁,管理机器上运行的 Pod 和容器。 -kubelet 将每个 pod 转换为其组成的容器,并在容器运行时通过容器运行时界面获取各个容器使用情况统计信息。 +kubelet 将每个 Pod 转换为其组成的容器,并在容器运行时通过容器运行时接口 +获取各个容器使用情况统计信息。 kubelet 从集成的 cAdvisor 获取此信息,以进行旧式 Docker 集成。 然后,它通过 metrics-server Resource Metrics API 公开聚合的 pod 资源使用情况统计信息。 -该 API 在 kubelet 的经过身份验证和只读的端口上的`/metrics/resource/v1beta1`中提供。 +该 API 在 kubelet 的经过身份验证和只读的端口上的 `/metrics/resource/v1beta1` 中提供。 -[Prometheus](https://prometheus.io) 是一个 CNCF 项目,可以原生监控 Kubernetes、节点和 -Prometheus 本身。 +[Prometheus](https://prometheus.io) 是一个 CNCF 项目,可以原生监控 Kubernetes、 +节点和 Prometheus 本身。 完整度量管道项目不属于 CNCF 的一部分,不在 Kubernetes 文档的范围之内。 diff --git a/content/zh/docs/tasks/manage-kubernetes-objects/imperative-config.md b/content/zh/docs/tasks/manage-kubernetes-objects/imperative-config.md index d270a85df4..89ac905101 100644 --- a/content/zh/docs/tasks/manage-kubernetes-objects/imperative-config.md +++ b/content/zh/docs/tasks/manage-kubernetes-objects/imperative-config.md @@ -108,6 +108,28 @@ configuration file. * `kubectl delete -f ` + +{{< note >}} +如果配置文件在 `metadata` 节中设置了 `generateName` 字段而非 `name` 字段, +你无法使用 `kubectl delete -f ` 来删除该对象。 +你必须使用其他标志才能删除对象。例如: + +```shell +kubectl delete +kubectl delete -l