2017-05-17 17 views
0

일반적으로는, 마스터 호스트의 대시 보드에 그 코드 수 :노드 호스트에 에이전트를 추가 할 때 Rancher 스크립트 코드를 얻는 방법은 무엇입니까?

5D8B3FD489C00C7F361A : 2483142400000 : WvMClyNFLXQnT9pLuii3D0sYA 다른 호스트에 자동으로 여러 개의 노드를 배포 할 경우

$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.2 http://192.168.0.100:8080/v1/scripts/5D8B3FD489C00C7F361A:2483142400000:WvMClyNFLXQnT9pLuii3D0sYA 

를, 그것은 마스터에서이 코드를 얻는 것이 필요하다

그러면 모든 노드는이 코드가있는 에이전트를 추가하기 만하면됩니다. 맞아?

하지만 마스터에서 cli를 가져 오는 방법은 무엇입니까?

+0

있는 그 목장 API 키가됩니다 한 번 생성 된? –

+0

@AlexKarshin 여기에서 '192.168.0.100 : 8080/v1/agents'를 얻으시겠습니까? 검색하려고했지만 코드를 찾지 못했습니다. –

+0

아니요, 코드를 가져 오는 위치를 묻습니다. –

답변

1

Rancher에는 원격으로 상호 작용할 수있는 API가 있습니다. 필요한 것은 registrationTokens입니다. 자, 액세스하는 방법.

먼저 Rancher에 API 토큰을 설정하십시오. API -> Keys -> Add Account API Key으로 이동하여 키를 만듭니다. 버튼을 찾을 수없는 경우 URL은 192.168.0.100:8080/env/1a5/api/keys입니다.

이제 키를 알고 원격 호스트에서이 같은 수행 할 수 있습니다

curl -u "${RANCHER_ACCESS_KEY}:${RANCHER_SECRET_KEY}" \ 
-X GET \ 
'http://192.168.0.100:8080/v2-beta/projects/1a5/registrationtokens' 

귀하의 결과가 필요한 데이터를 JSON 될 것입니다 :

{ 
... 
    "data": [ 
    { 
     "id": "1c3", 
     "type": "registrationToken", 
     "links": { 
      ... 
     }, 
     "actions": { 
      ... 
     }, 
     ... 
     "command": "sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.2 http://192.168.0.100:8080/v1/scripts/AAAAAAAAAAAAAAAAAAAA:0000000000000:ZZZZZZZZZZZZZZZZZZZZZZZZZZ", 
     ... 
    }], 
... 
} 
+0

명확하고 멋진 답변을 보내 주셔서 감사합니다! 아마도'POST' 메구트가 아니라'GET'이 명령을 내릴 수 있습니다. 'POST'를 사용하면'null' 명령이 생깁니다. 그리고 URL에 프로젝트 코드를 추가해야합니다. 여기에 '1a5'가 있어야합니다. 따라서 또 다른 질문이 있습니다. 터미널 (cli)에서 해당 코드를 가져올 수 있습니까? 또한 대시 보드에서 API 키와 암호를 생성해야하지만 명령을 통해 생성 할 수 있습니까? 나는 능동적으로 모든 설치를 자동으로하고 싶다. 그런데 여러 마스터 및 노드 호스트에 배포하는 올바른 방법을 알고 계십니까? 안되지? –

+0

오, 참으로 고마워. 나는 그 문제를 해결했다. 터미널에서 원격으로 사용하려면 cURL 또는 GET 요청을 보내는 다른 것을 사용하십시오. 다른 도움을받을 수있는 것은 없습니다. –

+0

오키, 다시 한 번 감사드립니다. –