DigitalOcean是云VPS主机市场中最炙手可热的新生儿。虽然没有提供像Amazon之类一样的综合服务业务,但DigitalOcean定位于中小型企业和开发者,已经成为基于Linux的最佳云VPS服务的强有力竞争者,这都得归功于它们具有竞争力的价格和用户友好的管理界面。
不管什么时候,当你需要一个面向网络的服务器用于你的个人项目,你都可以全速开动一个“水滴”(DigitalOcean中VPS实例的昵称),也可以在你不需要时杀掉它,没必要为了让你的VPS保持运作而烧光了你的钱袋。尽管DigitalOcean基于网络的管理界面已经十分高效,但对于那些命令行界面的死忠派,它还是提供了基于命令行界面的水滴管理工具,它叫tugboat。多亏了这个命令行工具,所有复杂的水滴管理任务都可以简单地转变成一个脚本来完成。
在本文中,我打算讲述怎样使用tugboat来从命令行对DigitalOcean水滴进行管理。
在Linux上安装tugboat在Debian,Ubuntu或者Linux Mint上安装tugboat:
$ sudo apt-get install ruby-dev
$ sudo gem install tugboat
在Fedora上安装tugboat:
$ sudo yum install ruby-devel
$ sudo gem install tugboat
要在CentOS上安装tugboat,首先安装或升级到最新的Ruby,因为在CentOS 6.5以及更早的版本上,默认的Ruby不满足Tugboat所需的最小版本(1.9及更高版本)。安装Ruby 1.9及更高版本后,请按如下方式安装tugboat。
$ sudo gem install tugboat
tugboat首次使用配置在安装完后,就该进行一次配置,其中包括授权tugboat访问DigitalOcean帐号。
转到https://cloud.digitalocean.com/api_access,并创建新的API密钥,记录客户ID和API密钥。
通过运行以下命令来启动授权过程:
$ tugboat authorize
在提示你输入客户ID和API密钥时,请输入。它会询问几个其它问题,目前你可以接受默认的回答。我们将会在后面自定义默认设置。
现在,让我们自定义默认水滴设置,以反映你典型的使用状况。要做到这一点,首先检查水滴提供的可用设置项(如,可用的镜像、区域、大小)。
运行以下命令,它会列出可用的水滴镜像。选取使用一个默认镜像,并记录相关的ID。
$ tugboat images --global
类似,从可用区域中选取一个默认的地理位置:
$ tugboat regions
同时,从可用的RAM大小中选择一个默认的水滴大小:
$ tugboat sizes
现在,把你的默认选择放到~/.tugboat中。例如,我在这里自定义了默认设置:区域在纽约,系统是Ubuntu 14.04,内存512MB。如果你想要通过密钥验证启用SSH,设置“ssh_user”为root,这个我很快会讲到。
$ vi ~/.tugboat
---
authentication:
client_key: XXXXXXXXXXXXXXXXXXX
api_key: XXXXXXXXXXXXXXXXXXXX
ssh:
ssh_user: root
ssh_key_path:/home/dev/.ssh/id_rsa
ssh_port:'22'
defaults:
region:'4'
image:'3240036'
size:'66'
ssh_key:''
private_networking:'false'
backups_enabled:'false'
创建并添加SSH密钥到DigitalOcean要访问水滴实例,一个安全的方式是通过密钥验证的SSH连接到该实例。
事实上,你可以通过使用DigitalOcean来注册SSH公钥,为你的水滴实现自动启用密钥验证。下面告诉你怎么做。
首先,生成一个公/私密钥对(如果你还没有)。
$ ssh-keygen -t rsa -C "your@emailaddress.com"
假设生成的密钥对由~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)构成,去将你的公钥上传吧,命令如下:
$ tugboat add-key [name-of-your-key]