AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 852520
Accepted
Nathan Basanese
Nathan Basanese
Asked: 2017-05-27 19:26:06 +0800 CST2017-05-27 19:26:06 +0800 CST 2017-05-27 19:26:06 +0800 CST

如何从 Consul 集群中完全删除节点?

  • 772

这个位于另一个 DC 中的 Consul Server 节点在我删除它后会继续加入。

目标:

DC 中由 5 个 Consul 服务器组成的集群alpha0,其 KV 存储一个alpha0Vault 集群用作存储后端:

  • alpha0consulserver1.alpha0
  • alpha0consulserver2.alpha0
  • alpha0consulserver3.alpha0
  • alpha0consulserver4.alpha0
  • alpha0consulserver5.alpha0

DC 中由 5 个 Consul 服务器组成的集群prd0,其 KV 存储一个prd0Vault 集群用作存储后端:

  • prd0consulserver1.prd0
  • prd0consulserver2.prd0
  • prd0consulserver3.prd0
  • prd0consulserver4.prd0
  • prd0consulserver5.prd0

WAN 连接正常。但我担心如果他们同步他们的 KV 存储,这可能会影响两个单独的 HashiCorp Vault 集群,每个集群都将它们用作后端。

问题:

我编写的一个测试不佳的 Puppet 脚本导致一个 Consul 节点prd0consulserver5连接到另一个 DC 中的另一个节点,alpha0consulserver1.

我已经为 prd0consulserver5 完全清除并重新安装了 Consul,但alpha0consulserver1仍然连接到它。

以下是其中一个配置文件的示例,特别是 alpha0consulserver1.alpha0 的配置文件:

nathan-basanese-zsh8 % sudo cat /etc/consul/config.json
{
    "bind_addr": "192.176.100.1",
    "client_addr": "0.0.0.0",
    "data_dir": "/opt/consul",
    "domain": "consul.basanese.com",
    "bootstrap_expect": 5,
    "enable_syslog": true,
    "log_level": "DEBUG",
    "datacenter": "bts0",
    "node_name": "alpha0consulserver1",
    "ports": {
        "http": 8500,
        "https": 8501
    },
    "recursors": ["192.176.176.240", "192.176.176.241"],
    "server": true,
    "retry_join": ["192.176.100.3", "192.176.100.2", "192.176.100.1"]
}

以下是来自 的一些相关日志prd0consulserver5,但我可以根据要求发布更多信息:

2017/05/26 23:38:00 [DEBUG] memberlist: Stream connection from=192.176.100.1:47239
2017/05/26 23:38:00 [INFO] serf: EventMemberJoin: alpha0consulserver2.alpha0 192.176.100.2
2017/05/26 23:38:00 [INFO] serf: EventMemberJoin: alpha0consulserver1.alpha0 10.240.112.3
2017/05/26 23:38:00 [INFO] consul: Handled member-join event for server "alpha0consulserver2.bts0" in area "wan"
2017/05/26 23:38:00 [INFO] serf: EventMemberJoin: alpha0consulserver3.alpha0 192.176.100.3
2017/05/26 23:38:00 [INFO] consul: Handled member-join event for server "alpha0consulserver1.bts0" in area "wan"
2017/05/26 23:38:00 [INFO] consul: Handled member-join event for server "alpha0consulserver3.bts0" in area "wan"

最终,我得到了这个:

2017/05/26 23:39:02 [DEBUG] memberlist: Initiating push/pull sync with: 192.176.100.2

我关闭了节点,因为我不希望我写入节点上的 KV 存储的密钥alpha0出现在prd0节点上。

到目前为止我已经尝试过:

我尝试了以下方法:

https://www.consul.io/api/agent.html#graceful-leave-and-shutdown

我没有尝试force-leave,因为它在配置的 DC 之外的节点上不起作用。

我还尝试prod0从主机注销所有alpha0主机。

https://www.consul.io/api/catalog.html#deregister-entity

我在我的智慧尽头,在这里,似乎无法找到方法

我在搜索引擎上搜索过它,使用这个查询和许多类似的查询:https ://duckduckgo.com/?q=totally+deregister+consul+node&t=hc&ia=software

以下两个结果似乎有一个稍微相似的问题,但没有什么比将一个由 5 个 Consul 服务器组成的集群与另一个由 5 个 Consul 服务器组成的集群分开那么简单的事情。

https://github.com/hashicorp/consul/issues/1188 https://groups.google.com/forum/#!msg/consul-tool/bvJeP1c3Ujs/EvSZoYiZFgAJ

我认为这可以通过"join_wan":配置设置来处理,但似乎没有办法明确将其关闭。另外,这似乎是解决此问题的一种简单方法。

我也考虑过 IPTables。

反正总觉得少了点什么。我已经开始深入研究 Raft 协议,但我觉得也许我已经开始在我的搜索中切线了。任何指导表示赞赏,无论是评论还是答案。

更准确地说,我如何让prd0Consul 服务器节点拥有自己独立的 KV 存储和 Consul 领导者与alpha0Consul 服务器节点?

cluster
  • 2 2 个回答
  • 10864 Views

2 个回答

  • Voted
  1. Best Answer
    tkjef
    2019-01-13T21:27:34+08:002019-01-13T21:27:34+08:00

    仅在此处尝试标准删除过程后:

    $ consul leave
    $ consul force-leave <node>
    

    如果您移动到下面,这将从集群中完全删除节点:

    $ consul operator raft remove-peer
    
    • 1
  2. Nathan Basanese
    2019-01-15T10:41:20+08:002019-01-15T10:41:20+08:00

    // ,对于我的具体情况,我在consul operator raft remove-peer.

    但我急切地等待有关问题如何发生的信息,在这里:

    https://github.com/hashicorp/consul/issues/3218#issuecomment-312721634

    • 0

相关问题

  • 是否有可能从多台计算机中创建一台速度更快的计算机?

  • LVS 集群帮助

  • 如何从 Windows 2008 故障转移群集中删除“额外”(不需要的)网络?

  • 如何在低负载期间关闭(关闭)集群节点?

  • 使用 Nagios 监视 Novell 集群服务

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve