Tag: 领事

如何防止与领事和gliderlabs /注册人僵尸服务?

我正在使用gliderlabs / registrator容器的领事,向领事展示我的活动容器。 当我快速删除容器时,服务不会从领事中删除,从而导致不再存在的“僵尸”服务。 我听说有gliderlabs /registry容器可以使用额外的选项,以防止这样的 – -cleanup 。 但是,我还没有能够成功地运行任何注册人的这个选项。 这是我目前对我的注册人的docker运行命令: docker run -d -h $(hostname -i) –name registrator1 \ -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator \ consul://$(hostname -i):8500 我需要在这个运行命令中添加什么来让注册者从已经不存在或已经失败的领事手中取出任何容器? 更新:我发现了这个问题 所以我正在使用我的领事集群和注册人一起运行群集。 为了给群集提供故障转移,我在我的consul群集前放置了负载均衡器,并将我的群集和注册器容器连接到负载均衡器的IP地址。 这使得任何领事节点都可以下山,而不会失去群体。 然而,swarm不会将自己注册为服务。 它将每个节点注册为一个密钥值,并且不被绑定到consul集群中的任何节点。 注册到注册人的领事的容器被创build为服务,并绑定到一个领事服务器。 我想现在发生的事情是,当我删除一个容器时,注册人去从领事删除服务,但只有33%的机会击中正确的领事服务器,并删除服务,因为我的LB只是循环。 我所有的swarm master,负载平衡器,领事服务器和swarm worker都在不同的机器上运行。 我的注册人正在我的群工机器上运行。 一切都在容器中运行。 启用粘性负载平衡是解决我的问题的临时修复。 不过,我认为试图在我的群体工作人员身上运行一些types的领事 ,并让注册人自己绑在当地东道主的领事身上。 我相信这可能是在领事github https://github.com/hashicorp/consul/tree/master/bench中描述的“板凳工人”。 我对领事还是比较陌生的,所以我仍然试图把它全部弄清楚。

运行在Docker HTTP运行状况检查的Consul返回“通过对等方重置连接”

我们通过docker运行领事,并使用HTTP身份检查到具有自签名证书的URL( https://10.1.24.68:5012/status )。 但是,我得到以下错误: 2016/06/10 10:29:42 [WARN]代理:http请求失败' https://10.1.24.68:5012/status ':获取https://10.1.24.68:5012/status :读取tcp 10.3.2.11 :55549-> 10.1.24.68:5012:read:由对等方重置连接 当我们使用wget命令使用脚本运行状况检查时,它也能正常工作,但这并不理想。 这是Consul的代码行抛出上述错误。 当运行健康状况检查到一个HTTP URL( http:// localhost:5012 / status )它运作。 这可能是一个证书问题? 我已将证书添加到/etc/ssl/certs/ca-certificates.crt和/usr/share/local/ca-certificates.crt 。 HALP!

Docker Swarm应该在崩溃的节点重新join时不删除重新安排的容器?

我一直在用Docker Swarm进行很多实验。 有一点我觉得很有趣,Swarm 1.2.0中增加了重新调整策略。 我目前的设置是这样的: $ docker info Containers: 17 Running: 17 Paused: 0 Stopped: 0 Images: 51 Server Version: swarm/1.2.3 Role: replica Primary: 192.168.137.114:3376 Strategy: spread Filters: health, port, containerslots, dependency, affinity, constraint Nodes: 4 pi1-swarm: 192.168.137.111:2376 ID: HFIY:FDBC:QT4K:HEJ6:VAP4:4ZUR:FC55:PVDX:STST:R457:OLA4:QTEB Status: Healthy Containers: 4 Reserved CPUs: 0 / 4 Reserved Memory: 0 B / 971.8 […]

如何与etcd或consul一起使用kong服务器?

我想用kong来pipe理微服务或API,但是kong找不到用dockerbuild立的新的微服务。 所以能和etcd或领事一起工作吗?

我可以curl使用IP,但不使用consul serviceName?

我正试图教导自己的领事。 我创build了一个docker化的领事和一个刚刚返回“Hello World”的REST服务,调用领事上的curl来获取信息, $ curl $(docker-machine ip):8500/v1/catalog/service/hello-server | json_pp [ { "ServiceEnableTagOverride" : false, "CreateIndex" : 87, "ModifyIndex" : 87, "ServiceAddress" : "192.168.99.100", "Node" : "bootstrap-node", "Address" : "192.168.99.100", "ServiceTags" : [], "ServiceID" : "5a251b3a7821:hello-server:80", "TaggedAddresses" : { "wan" : "192.168.99.100", "lan" : "192.168.99.100" }, "NodeMeta" : {}, "ID" : "102b597f-0b4c-4702-985e-327a5a022cc7", "ServiceName" : "hello-server", "ServicePort" […]

无法通过docker consul在另一台主机上ping容器

我有3个CentoS 7机器。 我试图build立一个cassandra集群。 一个cassandra节点可以发现所有其他节点,如果它们在同一个networking中,所以我正在寻找一种方法来在不同的主机上build立两个容器,但是仍然使它们像在同一个networking中一样工作。 我试图与领事在以下步骤: 在machine0上创build一个consul容器: docker run -d -p 8500:8500 -h consul –name consul progrium/consul -server -bootstrap 将consulconfiguration添加到machine1和machine2中的/lib/systemd/system/docker.service : -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock –cluster-store=consul://*machine0-external-ip*:8500/network –cluster-advertise=machine0-external-ip:2375 –userland-proxy=false \ 创build覆盖networkingdocker network create -d overlay –subnet=10.10.10.0/24 testNetwork 在machine1和machine2上创buildbusybox容器,使用我的testingnetworkingmachine1 docker run -itd –name container1 –net testNetwork busybox machine2- docker run -itd –name container2 –net testNetwork busybox 从任一台机器(1或2),我都可以通过这个命令docker network […]

jenkins使用Ansible部署到docker群

在我的环境中,我们使用Ansible从Jenkins部署到Docker群,通过覆盖networking扩展它,使用Consul和Zookeeper等发现服务, 我的问题是我们如何扩大节点,领事如何知道关键值,如何定义docker群的框架工作

领事从服务器空的答复

我试图让领事服务器集群运行起来。 我有3个docker化的领事服务器正在运行,但我无法访问Web UI,HTTP API或DNS。 $ docker logs net-sci_discovery-service_consul_1 ==> WARNING: Expect Mode enabled, expecting 3 servers ==> Starting Consul agent… ==> Consul agent running! Version: 'v0.8.5' Node ID: 'ccd38897-6047-f8b6-be1c-2aa0022a1483' Node name: 'consul1' Datacenter: 'dc1' Server: true (bootstrap: false) Client Addr: 127.0.0.1 (HTTP: 8500, HTTPS: -1, DNS: 8600) Cluster Addr: 172.20.0.2 (LAN: 8301, WAN: 8302) Gossip […]

领事和注册人到单身主机,有可能吗?

我需要使用领事和注册pipe理多个docker集装箱单个主机,目前我使用“链接”dockercompose.yml,我会删除链接和使用领事。我已经testing领事和登记到单个主机,但IP分配总是和节点一样,注册器可能会分配docker容器的ip而不是node ip?

docker群与领事 – 经理不select主要

我试图在3台专用电脑上安装HA docker集群。 我已经成功按照docs.docker.com/engine/installation/linux/ubuntulinux上的说明进行操作,现在我正在尝试按照https://docs.docker.com/swarm/install-manual上的说明进行操作。 由于我没有使用任何虚拟化,我从“设置consul发现后端”开始。 个人电脑(运行Ubuntu的可靠14.04服务器版)都在局域网192.168.2.0/24。 ubuntu001有.104,ubuntu002有.106,ubuntu003有.105 我按照说明做了以下工作: arnolde@ubuntu001:~$ docker run -d -p 8500:8500 –name=consul progrium/consul -server -bootstrap arnolde@ubuntu001:~$ docker run -d -p 4000:4000 swarm manage -H :4000 –replication –advertise 192.168.2.104:4000 consul://192.168.2.104 arnolde@ubuntu002:~# docker run -d swarm manage -H :4000 –replication –advertise 192.168.2.106:4000 consul://192.168.2.104:8500 arnolde@ubuntu003:~$ docker run -d swarm join –advertise=192.168.2.105:2375 consul://192.168.2.104:8500 但是,在下一步尝试时,swarm manager不会像它所说的那样显示为“Primary”,也不会列出主要的: arnolde@ubuntu001:~$ docker […]