Docker 无法使领事连接与Nomad一起工作

Docker 无法使领事连接与Nomad一起工作,docker,consul,envoyproxy,nomad,Docker,Consul,Envoyproxy,Nomad,我正试图让Concur Connect side car特使工作,但side car的健康检查一直失败 我正在使用以下版本的领事和游牧 Consul : 1.7.3 Nomad : 0.11.1 CNI Plugins : 0.8.6 我的设置如下所示 1个在docker容器中运行领事的领事服务器。 docker run -d --net=host --name=server -v /var/consul/:/consul/config consul:1.7 agent -server -ui

我正试图让Concur Connect side car特使工作,但side car的健康检查一直失败

我正在使用以下版本的领事和游牧

Consul : 1.7.3
Nomad : 0.11.1
CNI Plugins : 0.8.6
我的设置如下所示

1个在docker容器中运行领事的领事服务器。

docker run -d --net=host --name=server -v /var/consul/:/consul/config consul:1.7 agent -server -ui -node=server-1 -bind=$internal_ip -ui -bootstrap-expect=1 -client=0.0.0.0
internal_ip
是我的GCP虚拟机的内部ip地址

1客户端模式下带有Consor代理的Nomad服务器

nohup nomad agent -config=/etc/nomad.d/server.hcl &

docker run -d --name=consul-client --net=host -v ${volume_path}:/consul/config/ consul:1.7 agent -node=$node_name -bind=$internal_ip -join=${server_ip} -client=0.0.0.0
nohup nomad agent -config=/etc/nomad.d/client.hcl &

 docker run -d --name=consul-client --net=host -v ${volume_path}:/consul/config/ consul:1.7 agent -node=$node_name -bind=$internal_ip -join=${server_ip} -client=0.0.0.0
interal_ip
是GCP虚拟机的内部ip地址,
server_ip
是服务器虚拟机的内部ip地址

2个Nomad客户端,领事代理处于客户端模式

nohup nomad agent -config=/etc/nomad.d/server.hcl &

docker run -d --name=consul-client --net=host -v ${volume_path}:/consul/config/ consul:1.7 agent -node=$node_name -bind=$internal_ip -join=${server_ip} -client=0.0.0.0
nohup nomad agent -config=/etc/nomad.d/client.hcl &

 docker run -d --name=consul-client --net=host -v ${volume_path}:/consul/config/ consul:1.7 agent -node=$node_name -bind=$internal_ip -join=${server_ip} -client=0.0.0.0
在Nomad客户机上,路径中还提供了
concur
二进制文件。

docker run -d --net=host --name=server -v /var/consul/:/consul/config consul:1.7 agent -server -ui -node=server-1 -bind=$internal_ip -ui -bootstrap-expect=1 -client=0.0.0.0
现在,我正在尝试从部署示例Nomad和Consour Connect作业

用于服务和侧车的docker容器启动并在Concur中注册,但我无法访问任何服务

我将SSH连接到Nomad客户机节点上,可以看到容器正在运行

  • 我注意到的一件奇怪的事情是,我无法看到端口转发到主机
  • 我无法从主机通过curl访问它
  • 我试着做了
    curl$internal_ip:9002
    ,但没有成功

    我检查了Nomad是否创建了任何新的网桥网络,因为这是我在
    网络节中使用的
    模式
    ,但是没有新的网络


    我的设置中有什么遗漏吗

    您是否尝试将
    COUNTING\u SERVICE\u URL=“http://${NOMAD\u upper\u ADDR\u count\u api}”
    设置为
    COUNTING\u SERVICE\u URL=”http://localhost:8080“
    ,因为这是特使代理将监听的本地绑定端口,用于将流量转发到计数api


    可以在

    上找到工作连接设置的示例。您是否尝试过将
    计数服务\u URL=“http://${NOMAD\u UPSTREAM\u ADDR\u count\u api}”
    设置为
    计数服务\u URL=”http://localhost:8080“
    ,因为这是特使代理将监听的本地绑定端口,用于将流量转发到计数api


    可以在

    中找到工作连接设置的示例。您是否检查了docker容器中的nomad日志?我认为Consour connect需要编辑iptables规则,而您的容器没有
    --cap add=NET_ADMIN
    ,这应该是失败的,而且nomad日志中可能还有其他错误?@maxm我会试试。您检查了docker容器中的nomad日志了吗?我认为Consour connect需要编辑iptables规则,而您的容器没有
    --cap add=NET_ADMIN
    ,这应该会失败,而且nomad日志中可能还有其他错误?@maxm我会试试。我会试试。我会试试。我会试试。