本页面介绍 Edge-LB 使用的常见命令。有关 CLI 命令的更详细列表,请参阅 dcos edgelb cli 参考。
先决条件
- Edge-LB 安装和运行。
创建池
启动服务并创建 池配置文件后,您可以使用 CLI 来部署它:
dcos edgelb create <pool-configuration-file>
更新池
使用以下命令更新池的配置:
dcos edgelb update <pool-configuration-file>
正常的重新加载场景
对通过池负载均衡的服务进行更改(例如,扩展),将触发其负载均衡器的重新加载。此重新加载具有以下属性:
-
无流量丢失(除非为请求提供服务的服务实例被终止)。
-
负载均衡器将等待,直到现有连接终止,因此,长时间连接将阻止重新加载完成。
-
重新加载将每 10 秒进行一次。
此重新加载的属性能够实现 蓝色/绿色部署这样的策略。
负载均衡器重新启动场景
对负载均衡器池进行更改(例如,添加一个密码),将触发池中所有负载均衡器的重新启动。此重新启动具有以下属性:
- 流量丢失。为了尽量降低影响,我们建议在池内运行多个负载均衡器。
- 负载均衡器将在同一节点上(除非节点本身已出错)重新启动。
替换出错的 pod
默认情况下,Edge-LB 负载均衡器实例与给定节点绑定;当节点下降时,Edge-LB 不会自动将包含 Edge-LB 负载均衡器实例的 pod 重新定位到新节点。您必须将 pod replace
命令发送池调度器,以便在新节点上启动负载均衡器实例。如果托管 pod 的计算机永久丢失,则需要手动干预来丢弃丢失的 pod,并在新节点上启动。
这可以通过 dcos CLI edgelb-pool
子命令来完成(注意,这不同于 edgelb
子命令,如果尚未安装,则必须单独安装)。
- 安装
edgelb-pool
CLI 子命令:
$ dcos package install edgelb-pool --cli --yes
- 获取您需要重新定位的 pod 的池名称:
dcos edgelb show
这将显示所有池配置。含有丢失 pod 的池将是以下 <pool-name>
的值。
- 获取您需要替换的 pod 的名称(在已删除的公用代理上运行的 pod)。这将是
的值<pod-id>
.
$ dcos edgelb-pool --name=/dcos-edgelb/pools/<pool-name> pod list
- 使用
<pod-id>
with thepod 替换
命令:
$ dcos edgelb-pool --name=/dcos-edgelb/pools/<pool-name> pod replace <pod-id>
这将销毁池服务器,并重新启动新公用代理上的新服务器。
有关 Edge-LB 命令的列表,请参阅 CLI 参考 页面。