Adding Nodes
Adding Nodes
节点是安装了Docker的物理或者虚拟机器。
节点可以是不被管理的,意味着他们被手工创建,通过提供一个机器和在上面安装Docker。在这种场景下,他们必须在tsuru中注册。另一方面,他们可以通过tsuru自动管理。tsuru会使用 “IaaS configuration“ 处理机器提供和Docker安装。
被管理的选项更喜欢使用tsuru-server 0.6.0启动。自动处理和节点伸缩方面有些优点。下面的章节描述了如何增加被管理的和未被管理的节点。
被管理的节点
第一步是在tsuru.conf文件中配置你的IaaS提供者。请在”IaaS configuration “查看更多细节。
假设你使用EC2,配置会类似这样:
iaas:
default: ec2
node-protocol: http
node-port: 2375
ec2:
key-id: xxxxxxxxxxx
secret-key: yyyyyyyyyyyyy
在你完成了所有配置之后,通过执行”tsuru-admin”中的docker-node-add命令,增加一个新的Docker节点的工作就完成了。这个命令会收到一个key value程序map,map是独立于IaaS的。通过以下命令可以得到可能的key程序列表:
$ tsuru-admin docker-node-add iaas=ec2
EC2 IaaS required params:
image=<image id> Image AMI ID
type=<instance type> Your template uuid
Optional params:
region=<region> Chosen region, defaults to us-east-1
securityGroup=<group> Chosen security group
keyName=<key name> Key name for machine
每个key value对会作为metadata被加入到节点。在注册你的节点之后你可以发送。通过tsuru-admin docker-node-list命令,你可以列出:
$ tsuru-admin docker-node-add iaas=ec2 image=ami-dc5387b4 region=us-east-1 type=m1.small securityGroup=my-sec-group keyName=my-key
Node successfully registered.
$ tsuru-admin docker-node-list
+-------------------------------------------------------+------------+---------+----------------------------+
| Address | IaaS ID | Status | Metadata |
+-------------------------------------------------------+------------+---------+----------------------------+
| http://ec2-xxxxxxxxxxxxx.compute-1.amazonaws.com:2375 | i-xxxxxxxx | waiting | iaas=ec2 |
| | | | image=ami-dc5387b4 |
| | | | keyName=my-key |
| | | | region=us-east-1 |
| | | | securityGroup=my-sec-group |
| | | | type=m1.small |
+-------------------------------------------------------+------------+---------+----------------------------+
未管理的节点
为了增加之前提供的节点,你调用带有—register 标记的tsuru-admin docker-node-add命令,并使用远程节点的Docker API的URL设置地址key。
docker API必须在引用的地址中回应。为了说明如何在你的节点上安装docker,请参考Docker documentation:
$ tsuru-admin docker-node-add --register address=http://node.address.com:2375