From f482482d72d390903bf0d89199989a87b9ae25a8 Mon Sep 17 00:00:00 2001 From: jianglingxia Date: Mon, 11 Sep 2017 09:56:49 +0800 Subject: [PATCH] run-application-scale-stateful-set-pr-2017-09-11 --- .../run-application/scale-stateful-set.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/cn/docs/tasks/run-application/scale-stateful-set.md b/cn/docs/tasks/run-application/scale-stateful-set.md index 94c750b25c..508b484bef 100644 --- a/cn/docs/tasks/run-application/scale-stateful-set.md +++ b/cn/docs/tasks/run-application/scale-stateful-set.md @@ -7,18 +7,18 @@ approvers: - janetkuo - kow3ns - smarterclayton -title: 伸缩StatefulSet +title: 弹缩StatefulSet --- {% capture overview %} -本文介绍如何伸缩StatefulSet. +本文介绍如何弹缩StatefulSet. {% endcapture %} {% capture prerequisites %} -* StatefulSets仅适用于Kubernetes1.5版本或高于1.5. -* **不是所有stateful applications都适合伸缩.** 在伸缩前您必须了解您的StatefulSets应用. 如果您不确定, 请记住伸缩该StatefulSets也许不安全. -* 仅当您确定该stateful应用的集群是完全健康才可执行伸缩操作. +* StatefulSets仅适用于Kubernetes1.5及以上版本. +* **不是所有Stateful应用都适合弹缩.** 在弹缩前您的应用前. 您必须充分了解您的应用, 不适当的弹缩StatefulSet或许会造成应用自身功能的不稳定. +* 仅当您确定该Stateful应用的集群是完全健康才可执行弹缩操作. {% endcapture %} @@ -26,11 +26,11 @@ title: 伸缩StatefulSet ## 使用 `kubectl` 伸缩StatefulSets -伸缩前确保 `kubectl` 已升级至Kubernetes1.5版本或高于1.5. 如果不确定, 执行 `kubectl version` 命令并检查使用的 `Client Version`. +弹缩请确认 `kubectl` 已经升级到Kubernetes1.5及以上版本. 如果不确定, 执行 `kubectl version` 命令并检查使用的 `Client Version`. -### `kubectl 伸缩` +### `kubectl 弹缩` -首先, 找到您想要伸缩的StatefulSet. 记住, 您需先清楚是否能伸缩该应用. +首先, 找到您想要弹缩的StatefulSet. 记住, 您需先清楚是否能弹缩该应用. ```shell kubectl get statefulsets @@ -53,7 +53,7 @@ kubectl scale statefulsets --replicas= kubectl apply -f ``` -除此之外, 可以通过命令 `kubectl edit`编辑该字段: +除此之外, 可以通过命令 `kubectl edit` 编辑该字段: ```shell kubectl edit statefulsets @@ -69,12 +69,13 @@ kubectl patch statefulsets -p '{"spec":{"replicas": 1, 如果有一个不健康的Pod, 没有办法让Kubernetes知道是否是由于永久性故障还是瞬态(升级/维护/节点重启)导致. 如果该Pod不健康是由于永久性 -故障导致, 则在不纠正该故障的情况下进行缩容可能会导致一种状态, 即StatefulSet下的Pod数量低于应正常运行的副本数. 这也许会导致StatefulSet变成不可用. +当一个StatefulSet的size > 1, 如果有一个Pod不健康, 没有办法让Kubernetes知道是否是由于永久性故障还是瞬态(升级/维护/节点重启)导致. 如果该Pod不健康是由于永久性 +故障导致, 则在不纠正该故障的情况下进行缩容可能会导致一种状态, 即StatefulSet下的Pod数量低于应正常运行的副本数. 这也许会导致StatefulSet不可用. -如果由于瞬态故障而导致Pod不健康,并且Pod可能再次可用,那么瞬态错误可能会干扰您对StatefulSet的扩容/缩容操作. 一些分布式数据库在节点加入和同时离开时存在问题. 在这些情况下,最好是在应用级别进行伸缩操作, 并且只有在您确保stateful应用的集群是完全健康时才执行伸缩. +如果由于瞬态故障而导致Pod不健康,并且Pod可能再次可用,那么瞬态错误可能会干扰您对StatefulSet的扩容/缩容操作. 一些分布式数据库在节点加入和同时离开时存在问题. 在 +这些情况下,最好是在应用级别进行弹缩操作, 并且只有在您确保Stateful应用的集群是完全健康时才执行弹缩. {% endcapture %}