首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CoreOS局部聚类更新

CoreOS局部聚类更新
EN

Stack Overflow用户
提问于 2015-06-11 14:49:55
回答 1查看 120关注 0票数 3

我试图在VPC中的AWS CoreOS实例上设置一个小型EC2集群。在这个练习中,我使用了两个自动缩放组,一个是三台机器中的一个,它将形成核心的etcd和consul集群,然后是第二个自动缩放组,目前只有一个节点,随着应用程序的增长,这个节点实际上会扩展。它们都在一个公共的etcd集群中。

本周,coreos.com发布了build 681到稳定分支,立即将其中一个节点更新为681.0,但48小时后,主集群中的3个节点仍保留在647.2版本上。当我查看日记时,我看到的是:

代码语言:javascript
复制
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: [0611/142517:INFO:libcurl_http_fetcher.cc(48)] Starting/Resuming transfer
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: [0611/142517:INFO:libcurl_http_fetcher.cc(164)] Setting up curl options for HTTPS
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: [0611/142517:INFO:libcurl_http_fetcher.cc(427)] Setting up timeout source: 1 seconds.
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: [0611/142517:INFO:libcurl_http_fetcher.cc(240)] HTTP response code: 200
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: [0611/142517:INFO:libcurl_http_fetcher.cc(297)] Transfer completed (200), 267 bytes downloaded
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: [0611/142517:INFO:omaha_request_action.cc(574)] Omaha request response: <?xml version="1.0" encoding="UTF-8"?>
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: <response protocol="3.0" server="update.core-os.net">
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: <daystart elapsed_seconds="0"></daystart>
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: <app appid="e96281a6-xxxx-xxxx-xxxx-xxxxxxxxxxxx" status="ok">
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: <updatecheck status="noupdate"></updatecheck>
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: </app>
Jun 11 14:25:17 ip-10-0-68-116.ec2.internal update_engine[477]: </response>

所以节点会得到没有更新的响应。

这是coreos团队试图负载平衡他们的文件服务器的方式,还是有其他的配置?这就是coreos试图推动我走向付费服务的方式吗?我对更新过程的理解是,节点会像多米诺骨牌一样被一个接一个地更新。

这是集群的当前状态:

代码语言:javascript
复制
for m in $(fleetctl list-machines -fields="machine" -full -no-legend); do fleetctl ssh $m cat /etc/lsb-release; done
DISTRIB_ID=CoreOS
DISTRIB_RELEASE=647.2.0
DISTRIB_CODENAME="Red Dog"
DISTRIB_DESCRIPTION="CoreOS 647.2.0"
DISTRIB_ID=CoreOS
DISTRIB_RELEASE=681.0.0
DISTRIB_CODENAME="Red Dog"
DISTRIB_DESCRIPTION="CoreOS 681.0.0"
DISTRIB_ID=CoreOS
DISTRIB_RELEASE=647.2.0
DISTRIB_CODENAME="Red Dog"
DISTRIB_DESCRIPTION="CoreOS 647.2.0"
DISTRIB_ID=CoreOS
DISTRIB_RELEASE=647.2.0
DISTRIB_CODENAME="Red Dog"
DISTRIB_DESCRIPTION="CoreOS 647.2.0"

更新一周后,:集群仍然处于半升级状态。如果有人有经验的话,我很想知道如何调试这类问题。

EN

回答 1

Stack Overflow用户

发布于 2015-12-22 00:28:44

正如注释中提到的,在这种情况下,机器可能会收到更新,在查看了故障数量之后,CoreOS OS团队决定停止将更新扩展到更多的主机,以避免导致更多的故障。

如果您想强制进行更新检查,可以运行:

代码语言:javascript
复制
$ update_engine_client -check_for_update
[0123/220706:INFO:update_engine_client.cc(245)] Initiating update check and install.

有关更多详细信息,请参阅https://coreos.com/os/docs/latest/update-strategies.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30784178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档