не работает флаг рекламы в режиме консула - PullRequest
0 голосов
/ 07 мая 2020

Я пытался запустить consul in vagrant, используя следующую команду

consul agent -dev -advertise 172.20.20.31

, но он показывает следующее сообщение об ошибке

failed to get conn: dial tcp 127.0.0.1:0->172.20.20.31:8300: connect: invalid argument"

в результате, когда я подключаюсь с моей локальной машины к этот ip и запустите режим consul ui, который показывает

500 (The backend responded with an error)

мой бродячий файл выглядит следующим образом:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.define "centos-consul" do |cs|
    cs.vm.hostname = "centos-consul"
    cs.vm.network "private_network",ip:"172.20.20.31"
  end
end

и файл подключения как

{
        "ui": true,
        "retry_join": ["172.20.20.31"],
        "advertise_addr": "172.20.20.01",
        "data_dir": "/tmp/consul/self"
}

Я используя consul 1.7.2 в ma c os и Vagrant 2.2.7 centos7

Я не понимаю, что я сделал не так. так что любое предложение будет полезным.

1 Ответ

0 голосов
/ 08 мая 2020

Согласно документации , ошибка, которую вы получаете, является результатом того, что IP-адрес 172.20.20.31 не маршрутизируется из вашего Vagrant box.

-advertise - Рекламируемый адрес используется для изменения адреса, который мы объявляем другим узлам в кластере. По умолчанию объявляется адрес -bind. Однако в некоторых случаях может быть маршрутизируемый адрес, который нельзя привязать. Этот флаг позволяет сплетничать по другому адресу, чтобы поддержать это. Если этот адрес не является маршрутизируемым, узел будет находиться в состоянии постоянного колебания, поскольку другие узлы будут рассматривать немаршрутизируемость как сбой. В Consul 1.0 и более поздних версиях может быть установлен шаблон go -sockaddr.

...