2016-10-25 6 views
0

AWS opswork는 도커를 클러스터에 배포 할 수 있으며 ECS (ec2 컨테이너 서비스)도 클러스터에 배포 할 수 있습니다. EC2의 서비스 검색은 weave.net 또는 영사 등을 사용하여 수행 할 수 있습니다. 도커 배포를 위해 opsworks를 사용하는 경우 동적 서비스 검색을 추가하는 방법에 대한 제안이 있으므로 내 도커 컨테이너 내부에서 쉽게 끝점을 얻을 수 있습니다 배포 된 다른 웹 서비스?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"], 
... 

당신은 Opsworks에있는 모든 IP의를 얻을 수는 그럼 당신은 ENV 변수를 통해 자원을 고정 표시기이 목록을 통과 할 수

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

와 스택.

관련 문제