2016-10-25 34 views
0

AWS opswork可以將碼頭工人部署到集羣,ECS(ec2容器服務)也是如此。 EC2中的服務發現可以通過weave.net或consul等實現......當我們使用opsworks進行docker部署時,有關如何添加動態服務發現的任何建議,所以在我的Docker容器中,我可以輕鬆獲得終點其他Web服務部署?AWS opsworks碼頭服務發現

回答

0

內部配方中可以使用搜索,使您可以使用search(:node)在當前堆棧內搜索opsworks實例。該方法返回廚師節點的數組:

> search(:node) 
=> [#<Chef::Node:0x000000070a44c8 
    @attributes= 
    {"aws_opsworks_instance_id"=>"----", 
    "hostname"=>"--", 
    "os"=>"linux", 
    "platform"=>"ubuntu", 
    "platform_family"=>"debian", 
    "ipaddress"=>"172.31.85.144", 
    "fqdn"=>"---.localdomain", 
    "domain"=>"localdomain", 
    "network"=>{"interfaces"=>{"aws_opsworks_virtual"=>{"addresses"=>{"172.31.85.144"=>{"family"=>"inet"}}}}}, 
    "kernel"=>{"machine"=>"x86_64"}, 
    "cloud"=> 
    {"public_ips"=>["0.0.0.0"], 
     "private_ips"=>["172.31.85.144"], 
... 

你可以得到所有IP在Opsworks與

> search(:node).map(&:ipaddress) 
=> ["172.31.85.144", "172.31.85.31", "172.31.85.16"] 

堆棧中,然後就可以通過這個列表,經由ENV變量泊塢窗的資源。