将代理添加到节点主机时如何获取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 

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

5D8B3FD489C00C7F361A:2483142400000:WvMClyNFLXQnT9pLuii3D0sYA

然后每个节点只需添加代理与此代码是好的。 这样对吗?

但是,如何从主人的cli得到它?

Rancher有API,可以让你远程进行交互。 你所要求的就是所谓的registrationTokens 。 现在,如何访问它们。

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