Linux中國

使用Linux命令行管理DigitalOcean VPS水滴

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] 

你可以任意給你的密鑰命名(如,「my-default-key」)。當出現提示時,輸入公鑰路徑(如,/home/user/.ssh/id_rsa.pub)。在密鑰上傳完成後,運行以下命令來驗證密鑰是否正確添加:

$ tugboat keys 

密鑰也應該出現在DigitalOcean的SSH密鑰頁。如果你想要密鑰自動使用到水滴中,添加密鑰ID到~/.tugboat中。

ssh_key: '182710'

Tugboat的基本用法

這裡列出了tugboat命令行的一些基本使用情況。

  1. 使用默認設置創建新水滴。
$ tugboat create
  1. 列出所有活動水滴。
$ tugboat droplets
  1. 顯示水滴的信息。
$ tugboat info

  1. 關閉水滴,並移除鏡像。
$ tugboat destroy
  1. 關閉水滴,但保持鏡像
$ tugboat halt
  1. 為水滴創建快照,水滴必須先關閉。
$ tugboat snapshot
  1. 調整水滴大小(增加或減少RAM大小),水滴必須先關閉。
$ tugboat resize -s

如果你想要了解特定命令的更多選項,運行:

$ tugboat help <command> 

排障

  1. 當我運行tugboat命令時,它出現以下錯誤。
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require&apos;: /usr/lib/ruby/gems/1.8/gems/tugboat-0.2.0/lib/tugboat/cli.rb:12: syntax error, unexpected &apos;:&apos;, expecting kEND (SyntaxError)

Tugboat要求Ruby 1.9及更高版本,你需要升級Ruby來解決該問題。對於CentOS,請參考此教程

  1. 當我試著用gem來安裝Tugboat時,出現了下面的錯誤。
/usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require&apos;: cannot load such file -- json/pure (LoadError)

安裝以下gem來修復該問題。

$ sudo gem install json_pure 

via: http://xmodulo.com/2014/07/manage-digitalocean-vps-droplets-command-line-linux.html

原文作者:Dan Nanni

譯者:GOLinux 校對:Caroline

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國