将代理添加到节点主机时如何获取Rancher脚本代码?
How to get Rancher scripts code when add agent to nodes hosts?
通常,在主控主机的仪表板上获取该代码:
$ 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
然后每个节点只用这段代码添加代理就可以了。对吗?
但是,如何从master那里通过cli获取呢?
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",
...
}],
...
}
通常,在主控主机的仪表板上获取该代码:
$ 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
然后每个节点只用这段代码添加代理就可以了。对吗?
但是,如何从master那里通过cli获取呢?
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",
...
}],
...
}