2016-05-10 3 views
1

Я использую один экземпляр для консула. Все работает нормально, web-ui, ACL и т. Д. Но когда я пытаюсь получить доступ ко всем ключевым значениям локально, используя команду curl, ответ будет 404 not found, даже если значение ключа уже существует и видно в web-ui.Невозможно скручивать значения ключей локально для резервного копирования в консуле

Config.json файл

{ 
    "bootstrap": true, 
    "server": true, 
    "log_level": "DEBUG", 
    "enable_syslog": true, 
    "datacenter": "dc1", 
    "addresses" : { 
     "http": "P.P.P.P" 
    }, 
    "bind_addr": "P.P.P.P", 
    "node_name": "P.P.P.P", 
    "data_dir": "/home/ubuntu/consuldata", 
    "ui_dir": "~/dist", 
    "acl_datacenter": "dc1", 
    "acl_master_token": "xxxxxxxxxxxxxxxxxxxxx", 
    "acl_default_policy": "deny", 
    "encrypt": "pXoaLOJ816mO+da8y8zrsg==" 
} 

где P.P.P.P является частным IP и xxxxxxxxxxxxxxxxxxx является master token.

Я начал консулом следующей командой consul agent -config-dir ~/server -ui-dir ~/dist -bootstrap true -client=P.P.P.P

После запуска этого web-ui работает отлично, и я могу создать ACL и key-value Теперь я пытаюсь получить все пары ключ-значение с помощью следующей команды curl -v http://P.P.P.P:8500/v1/kv/?recurse

Ниже выход

* Hostname was NOT found in DNS cache 
* Trying P.P.P.P... 
* Connected to P.P.P.P (P.P.P.P) port 8500 (#0) 
> GET /v1/kv/?recurse HTTP/1.1 
> User-Agent: curl/7.35.0 
> Host: P.P.P.P:8500 
> Accept: */* 
> 
< HTTP/1.1 404 Not Found 
< X-Consul-Index: 488 
< X-Consul-Knownleader: true 
< X-Consul-Lastcontact: 0 
< Date: Tue, 10 May 2016 13:08:44 GMT 
< Content-Length: 0 
< Content-Type: text/plain; charset=utf-8 
< 
* Connection #0 to host P.P.P.P left intact 

, где P.P.P.P является частным IP-адресом консула.

Ниже приводится выход netstat -tlpn

(Not all processes could be identified, non-owned process info 
will not be shown, you would have to be root to see it all.) 
Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address   Foreign Address   State  PID/Program name 
tcp  0  0 0.0.0.0:22     0.0.0.0:*    LISTEN  - 
tcp  0  0 127.0.0.1:8600   0.0.0.0:*    LISTEN  1339/consul 
tcp  0  0 P.P.P.P:8300    0.0.0.0:*    LISTEN  1339/consul 
tcp  0  0 P.P.P.P:8301    0.0.0.0:*    LISTEN  1339/consul 
tcp  0  0 P.P.P.P:8302    0.0.0.0:*    LISTEN  1339/consul 
tcp  0  0 127.0.0.1:8400   0.0.0.0:*    LISTEN  1339/consul 
tcp  0  0 0.0.0.0:80     0.0.0.0:*    LISTEN  - 
tcp  0  0 P.P.P.P:8500    0.0.0.0:*    LISTEN  1339/consul 
tcp6  0  0 :::22     :::*     LISTEN  - 

Я попытался curl команды на каждый из этих адресов, на которых консул прослушиваемых но получать ту же ошибку.

ответ

1

И наконец, у меня возникла проблема. Файл config.json следует изменить на http с открытого IP-адреса до 0.0.0.0 (в любом месте). Here Я сделал сообщение в блоге о том, как настроить сервер консула на одном экземпляре. This - это видео Youtube для него.