Docker 本地领事加入K8s领事Mac
因此,我目前正在本地Kubernetes集群(docker上运行)上运行来自helm的stable/Concur图表Docker 本地领事加入K8s领事Mac,docker,kubernetes,kubernetes-helm,consul,Docker,Kubernetes,Kubernetes Helm,Consul,因此,我目前正在本地Kubernetes集群(docker上运行)上运行来自helm的stable/Concur图表 $ helm install -n wet-fish --namespace consul stable/consul 这将创建两个服务 ==> v1/Service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
$ helm install -n wet-fish --namespace consul stable/consul
这将创建两个服务
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
wet-fish-consul ClusterIP None <none> 8500/TCP,8400/TCP,8301/TCP,8301/UDP,8302/TCP,8302/UDP,8300/TCP,8600/TCP,8600/UDP 0s
wet-fish-consul-ui NodePort 10.110.229.223 <none> 8500:30276/TCP
这只会导致:
Error joining address '127.0.0.1:30276': Unexpected response code: 500 (1 error occurred:
* Failed to join 127.0.0.1: received invalid msgType (72), expected pushPullMsg (6) from=127.0.0.1:30276
)
Failed to join any nodes.
及
必须有一种方法让本地的consul代理运行,可以连接到k8s consul服务器
这是在Mac上的,所以网络没有那么好….这里可能有两个问题,第一个是Consor agent-dev在dev模式下启动代理。默认情况下,开发模式将同时启动服务器和代理。这可能是错误背后的部分原因 另一个问题可能是由于localhost造成的,在Kubernetes中运行的服务器将尝试运行状况检查本地代理。它需要能够ping本地代理,因此即使您在第一步成功加入,它也可能无法通过健康检查 我同意在Mac上联网这并不容易,有一件事你可能需要做的就是为本地代理(非kube)设置广告地址。Docker for mac有一个主机名
Docker.for.mac.localhost
,它是从容器到本地机器的可路由ip。启动本地代理时,如果将播发地址设置为该主机的ip值,Kubernetes Consour服务器应该能够路由到本地运行的代理
潜在修复:
1.确保本地代理以客户端模式启动(手动配置not-dev)
2.将播发地址设置为可从Kubernetesdocker.for.mac.localhost路由的ip地址
给我一个大喊,如果这对你不起作用,我自己也使用过这样的设置,9/10它是Docker和本地机器之间的网络
亲切问候,
Nic这里可能有两个问题,第一个是consur agent-dev在dev模式下启动代理。默认情况下,开发模式将同时启动服务器和代理。这可能是错误背后的部分原因
另一个问题可能是由于localhost造成的,在Kubernetes中运行的服务器将尝试运行状况检查本地代理。它需要能够ping本地代理,因此即使您在第一步成功加入,它也可能无法通过健康检查
我同意在Mac上联网这并不容易,有一件事你可能需要做的就是为本地代理(非kube)设置广告地址。Docker for mac有一个主机名Docker.for.mac.localhost
,它是从容器到本地机器的可路由ip。启动本地代理时,如果将播发地址设置为该主机的ip值,Kubernetes Consour服务器应该能够路由到本地运行的代理
潜在修复:
1.确保本地代理以客户端模式启动(手动配置not-dev)
2.将播发地址设置为可从Kubernetesdocker.for.mac.localhost路由的ip地址
给我一个大喊,如果这对你不起作用,我自己也使用过这样的设置,9/10它是Docker和本地机器之间的网络
亲切问候,
Nic我使用了Consor提供的helm模板-我将客户端设置为位于完全不同的端口上(每个端口号+1000)。然后我只使用了/etc/hosts
文件中设置的kubernetes.docker.internal
,没有指定端口,它加入了<代码>加入已完成。已与1个初始代理同步
-但是我在日志中看到了这一点2020/01/20 10:44:45[警告]管理器:没有可用的服务器2020/01/20 10:44:45[错误]代理:无法同步远程状态:没有已知的领事服务器
ahhh-因此我转发了端口
8301我使用了领事的helm模板-我将客户端设置在完全不同的端口上(每个端口号+1000)。然后我只使用了/etc/hosts
文件中设置的kubernetes.docker.internal
,没有指定端口,它加入了<代码>加入已完成。与1个初始代理同步-但是我在日志中得到了这一点2020/01/20 10:44:45[WARN]管理器:没有可用的服务器2020/01/20 10:44:45[ERR]代理:无法同步远程状态:没有已知的领事服务器
ahhh-因此我将端口转发到8301
Error joining address '127.0.0.1:30276': Unexpected response code: 500 (1 error occurred:
* Failed to join 127.0.0.1: received invalid msgType (72), expected pushPullMsg (6) from=127.0.0.1:30276
)
Failed to join any nodes.
2020/01/17 15:17:35 [WARN] agent: (LAN) couldn't join: 0 Err: 1 error occurred:
* Failed to join 127.0.0.1: received invalid msgType (72), expected pushPullMsg (6) from=127.0.0.1:30276
2020/01/17 15:17:35 [ERR] http: Request PUT /v1/agent/join/127.0.0.1:30276, error: 1 error occurred:
* Failed to join 127.0.0.1: received invalid msgType (72), expected pushPullMsg (6) from=127.0.0.1:30276
from=127.0.0.1:59693