在向节点主机添加代理时如何获取Rancher脚本代码?

时间:2017-05-17 07:20:36

标签: docker cluster-computing agent rancher

通常,在主控主机的信息中心上获取该代码:

$ 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

如果想要将多个节点自动部署到其他主机,则必须从master获取此代码:

  

5D8B3FD489C00C7F361A:2483142400000:WvMClyNFLXQnT9pLuii3D0sYA

然后每个节点只需添加代理就可以了。是不是?

但是,如何通过cli从主人那里得到它?

1 个答案:

答案 0 :(得分:1)

Rancher拥有API,可让您远程与其进行交互。您需要的是registrationTokens。现在,如何访问它们。

首先,在Rancher中设置API令牌。转到API -> Keys -> Add Account API Key并创建密钥。如果找不到按钮,则您的网址为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",
        ...
    }],
...
}