首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让Connect领事与Nomad合作

无法让Connect领事与Nomad合作
EN

Stack Overflow用户
提问于 2020-05-19 05:53:20
回答 1查看 1.6K关注 0票数 1

我正试着让领事连接侧车特使去工作,但是侧车的健康检查一直在失败。

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

代码语言:javascript
复制
Consul : 1.7.3
Nomad : 0.11.1
CNI Plugins : 0.8.6

我的设置如下所示。

1领事服务器在码头集装箱中运行领事.

代码语言:javascript
复制
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 Nomad服务器

代码语言:javascript
复制
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

interal_ip是GCP的内部IP地址,server_ip是服务器VM的内部IP地址。

2客户端与领事代理的客户端模式

代码语言:javascript
复制
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

在游牧客户机上,我还在path.中提供了二进制文件。

现在我正在尝试从这里部署Nomad和Connect的示例作业

代码语言:javascript
复制
    job "countdash" {
      datacenters = ["dc1"]

      group "api" {
        network {
          mode = "bridge"
        }

        service {
          name = "count-api"
          port = "9001"

          connect {
            sidecar_service {}
          }
        }

        task "web" {
          driver = "docker"

          config {
            image = "hashicorpnomad/counter-api:v1"
          }
        }
      }

      group "dashboard" {
        network {
          mode = "bridge"

          port "http" {
            static = 9002
            to     = 9002
          }
        }

        service {
          name = "count-dashboard"
          port = "9002"

          connect {
            sidecar_service {
              proxy {
                upstreams {
                  destination_name = "count-api"
                  local_bind_port  = 8080
                }
              }
            }
          }
        }

        task "dashboard" {
          driver = "docker"

          env {
            COUNTING_SERVICE_URL = "http://${NOMAD_UPSTREAM_ADDR_count_api}"
          }

          config {
            image = "hashicorpnomad/counter-dashboard:v1"
          }
        }
      }
    }

码头集装箱的服务和侧加开始和注册领事,但我不能访问任何服务。

我SSH到Nomad客户端节点,可以看到容器正在运行。

  1. 奇怪的是,我没有看到端口被转发到主机。
  2. 我不能从主机上通过卷曲访问它。

我试过做curl $internal_ip:9002,但没有成功。

我检查了Nomad是否创建了任何新的桥接网络,因为这是我在mode中使用的network stanza,但是没有新的网络。

在我的设置中有什么东西我遗漏了吗?

EN

回答 1

Stack Overflow用户

发布于 2020-07-23 06:26:42

您是否尝试过将COUNTING_SERVICE_URL = "http://${NOMAD_UPSTREAM_ADDR_count_api}"设置为COUNTING_SERVICE_URL = "http://localhost:8080",因为这是特使代理将侦听的本地绑定端口,以便将流量转发给count-api。

可以在工作上找到工作连接设置的示例。

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

https://stackoverflow.com/questions/61884132

复制
相关文章

相似问题

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