From 0e56cf42c08e1a3ad7e85f17bd19a4ef63674db1 Mon Sep 17 00:00:00 2001 From: chenrui Date: Tue, 11 Dec 2018 20:26:55 -0500 Subject: [PATCH] zh-trans: add docs/getting-started-guides/ubuntu/scaling.md (#11650) * zh-trans: add docs/getting-started-guides/ubuntu/scaling.md * zh-trans: updates per PR comments --- .../getting-started-guides/ubuntu/scaling.md | 147 ++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 content/zh/docs/getting-started-guides/ubuntu/scaling.md diff --git a/content/zh/docs/getting-started-guides/ubuntu/scaling.md b/content/zh/docs/getting-started-guides/ubuntu/scaling.md new file mode 100644 index 0000000000..a24c136eeb --- /dev/null +++ b/content/zh/docs/getting-started-guides/ubuntu/scaling.md @@ -0,0 +1,147 @@ +--- +title: 扩缩 +content_template: templates/task +--- + + + +{{% capture overview %}} + + +本文将讨论如何在集群中扩缩主节点和工作节点。 + +{{% /capture %}} + +{{% capture prerequisites %}} + + + +本文假设您已经有一个用 Juju 部署、正在运行的集群。 + + + +任何应用都可以在部署之后进行横向扩容。 +charms 将会不停地更新进度状态信息,建议运行如下命令。 + +``` +watch -c juju status --color +``` +{{% /capture %}} + +{{% capture steps %}} + + + +## Kubernetes 主节点 + + + +Kubernetes 主节点充当了集群中控制平面的角色。 +在设计上,这些主节点可以独立于工作节点进行扩缩容,从而带来运维上的灵活性。 +想要添加一个主节点,只需要执行以下命令: + + juju add-unit kubernetes-master + + + +这将会在控制平面中添加一个新的主节点。 +参见[构建高可用集群](/docs/admin/high-availability)文档,获取更多信息。 + + + +## Kubernetes 工作节点 + + + +kubernetes-worker 节点是 Kubernetes 集群中承担负载的部分。 + + + +默认情况下,pod 会自动均匀部署在 kubernetes-worker 节点上。 + + + +如果想要在集群中添加更多的 kubernetes-worker 节点,运行如下命令: + +``` +juju add-unit kubernetes-worker +``` + + + +或者修改机器限制,来创建更大的节点: + +``` +juju set-constraints kubernetes-worker "cpu-cores=8 mem=32G" +juju add-unit kubernetes-worker +``` + + + +参见[机器限制文档](https://jujucharms.com/docs/stable/charms-constraints), +了解其它机器约束,这些约束可能对 kubernetes-worker unit 有帮助。 + +## etcd + + + +Etcd 在 Kubernetes 集群中用作键值存储。 +集群默认使用一个存储实例。 + + + +由于仲裁机制的关系,推荐保有奇数个 etcd 节点。 +根据集群的大小,推荐使用3、5、7 或 9 个节点。 +CoreOS etcd 文档有一个关于[最佳集群大小](https://coreos.com/etcd/docs/latest/admin_guide.html#optimal-cluster-size)的图表, +可以参考确定最佳的容错设计。 + + +添加 etcd 单元: + +``` +juju add-unit etcd +``` + + +不建议在扩容 etcd 集群之后对其缩容。 + + +## Juju 控制器 + + + +一个负责协调每台机器上 Juju 代理(这些代理管理 Kubernetes 集群)的节点被称为控制器节点。 +对于生产环境下的部署,建议启用控制器节点的高可用性: + + juju enable-ha + + + +启用 HA 将会创建 3 个控制器节点,对于大多数情况而言应该是足够的。 +而对于超大型的部署,也同时支持 5 或 7 个控制器节点。 + + + +参见 [Juju HA 控制器文档](https://jujucharms.com/docs/2.2/controllers-ha) 获取更多信息. + +{{% /capture %}}