Tag: 服务发现

我如何使用Docker提供应用程序的多个状态实例?

我一直在使用docker提供给定主机上的应用程序实例的编排。 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 09cb549dc9f8 livecompose_gs "/entrypoint.sh" 32 seconds ago Up 2 seconds 8009/tcp, 0.0.0.0:8082->8080/tcp gs_1 dddf7fcd4014 livecompose_gn "/entrypoint.sh" 33 seconds ago Up 2 seconds 8009/tcp, 0.0.0.0:8081->8080/tcp gn_1 21f685f1fb13 livecompose_db "/usr/bin/supervis…" 33 seconds ago Up 3 seconds db_1 1178674e5560 livecompose_apache "/entrypoint.sh" 34 seconds ago Up 3 seconds 0.0.0.0:32799->80/tcp, 0.0.0.0:32798->443/tcp ws_1 […]

外部F5负载均衡器与Docker群集服务发现的集成

我打算为我的应用程序使用docker swarm模式来托pipe。 目前正在想出一种将F5负载均衡器与Docker群模式服务发现相结合的方式。 有没有一个用例来实现这个? 我知道我们可以发布主机和路由stream量的端口,从F5主机IP,但这将限制我只运行每个主机的任务。 我可以使用Consul作为服务发现,并有服务的主机名,所以我将有一个绑定DNS设置转发DNS请求到领事? 意见/build议非常感谢。 提前致谢。

如何将已经运行服务的Docker中的主机系统的端口绑定到Docker容器端口。

如果我的问题似乎是模糊的,我对领事和docker工人是很新的,所以请耐心等待。 我有多个Web服务运行在他们自己的Docker容器中。 现在我想使用consul(由hashicorp)作为服务发现工具。 Consul代理默认在端口8500上运行。 现在我将在所有docker集装箱运行的主机系统上运行Consul(因为它是一个服务发现工具,我不能让每个集装箱都有自己的领事)以及在docker集装箱中运行的docker服务与8500端口进行交互,在主机系统上运行。 最初我假设使用docker端口转发(-p)将工作,但尝试它后,下面的错误是我得到的 docker: Error response from daemon: driver failed programming external connectivity on endpoint practical_lamarr (dd21827e00a3218f9e090986c09f875a82yurd04b76d8a2528f0bccb854e05a3): Error starting userland proxy: listen tcp 0.0.0.0:8500: bind: address already in use. 有人可以告诉我,如何在主机系统端口上运行的领事被绑定到容器端口。

尤里卡客户不能够连接到同行服务(尤里卡客户)

我正在开发一个微服务应用程序使用春季,春季启动,尤里卡(服务发现)和function区。 我的应用程序由三个服务客户端,服务器和尤里卡服务器组成 客户端和服务器都使用尤里卡服务器进行注册,后来客户端使用尤里卡服务发现进行服务器调用。 我能够在本地运行应用程序,事情工作得很好。 但是,当部署在一些事情上会变得不合时宜。 步骤如下 同一安全组中的三个ec2实例。 每个微服务都作为docker集装箱正常运行,具有适当的端口。 一个ec2实例有弹性ip。 尤里卡服务器容器正在运行。 客户端和服务器容器部署在其他两个ec2实例上。 结果 使用ECS时 客户端和服务器能够向Eureka服务器注册。 Application AMIs Availability Zones Status HELLO-CLIENT n/a (1) (1) UP (1) – 3fcd1c92386d:hello-client:8071 HELLO-SERVER n/a (1) (1) UP (1) – 6a5d643b32e1:hello-server:8072 当遇到客户端端点java.net.UnknownHostException。 Whitelabel Error Page This application has no explicit mapping for /error,so you are seeing this as a fallback. Sun […]

ECS +动物园pipe理员 – 动物园pipe理员必须被docker化

我目前正在对我的微服务进行dockerizing。 目前他们在ec2上主持,我打算把他们移到ecs。 我的问题是关于我使用zookeeper的服务发现。 我的动物园pipe理员也在ec2上。 我必须dockerize动物园pipe理员,并将其移动到我的dockerized微服务工作? 或者,我的dockerized ecs上的微服务仍然可以在ec2上使用zookeeper进行发现? 文档不是很直观,所以想就此提出一些build议。

SkyDNS不适用于Kubernetes 1.1.2

我成功安装了Kubernetes 1.1.2上的CoreOS alpha(877.1.0)将服务文件作为链接https://gist.github.com/thanhson1085/5a005e92245cb2288dee 之后,我想为我的Kubernetes运行SkyDNS AddOn作为服务发现。 我遵循这个指南: https : //github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns 但它不起作用: core@coreos-1 ~/projects $ sudo kubectl exec busybox — nslookup kubernetes.default.cluster.local Server: 10.100.100.100 Address 1: 10.100.100.100 nslookup: can't resolve 'kubernetes.default.cluster.local' error: error executing remote command: Error executing command in container: Error executing in Docker Container: 1 core@coreos-1 ~/projects $ sudo kubectl exec busybox — nslookup kubernetes.default […]

如何使用progrium / consul check-http脚本使用SERVICE_CHECK_HTTP?

我正在用gliderlabs / registrator容器运行progrium / consul容器。 我希望能够自动创build任何已注册与注册人协调的容器的健康检查。 使用这个我想使用领事健康检查知道是否有任何容器已经停止运行。 我已经读过,有一种方法可以通过添加环境variables来做到这一点,但是我所读到的一切都太模糊了,比如下面的post: 如何在一个consul容器中为同一主机上的服务定义HTTP健康检查? 所以我应该设置一些环境variables: ENV SERVICE_CHECK_HTTP=/howareyou ENV SERVICE_CHECK_INTERVAL=5s 我把它们放在我的progrium / consul容器或我的gliderlabs /注册者里面吗? 我可以通过在Docker运行命令中添加下面的标签来设置它们吗? docker run …… -e SERVICE_CHECK_HTTP=howareyou -e SERVICE_CHECK_INTERVAL=5s …… 注意:由于某种原因,将上述环境variables添加到注册器的docker run命令中,导致领事认为我的节点no acks received

我的docker图片是否需要自己的领事客户端实例?

我有一个docker化的应用程序拆分在几个容器(几个前端和后端服务器,负载平衡器,MySQL,elasticsearch等)。 负载平衡器的configuration需要知道哪些容器已经启动,所以我正在向Consul服务发现注册服务。 但是我不太确定在每一个docker容器上运行一个consul代理是一个好主意,而不是使用docker主机监督所有正在运行的docker容器,并通过Consul的HTTP-API注册它们。 有什么我可以遵循的最佳做法?

领事如何与红移合作?

我们有一个由jijster生成的spring引导微服务项目。 Jhipster为我们build立了综合性的领事,从那以后我们并没有真正感动过。 我们正在使用RedShift进行新的部署,它应该处理服务发现和领事所做的其他任务,但是我们所有的服务仍然依赖于领事。 领事和红移有可能演得好吗? 一个人干扰另一个? 在我看来,领事将堵塞所有的交通,但我找不到任何消息来源表明他们是技术竞争。 如果有冲突,我们可以重构领事整合与红移工作吗?

如何告诉部署到群集中的随机机器上的Docker容器在自己的主机上使用DNS?

考虑以下configuration: // Create a swarm cluster docker-machine create -d virtualbox –swarm –swarm-master node1 docker-machine create -d virtualbox –swarm node2 // Setup shell environment to talk to the swarm cluster eval $(docker-machine env –swarm node1) // Run a DNS server on each swarm machine docker run -d -p "172.17.0.1:53:53" –env "constraint:node==node1" my-dns-server-image docker run -d -p […]