knife-cloudstackを用意してコマンドラインでCloudStackを操作してみよう。基本コマンドのリファレンスも紹介する
knife-cloudstack*1とは、インフラ構成管理のシステム統合フレームワーク「Chef」*2のコマンドラインツールである「Knife」*3のCloudStack操作用プラグインです。CloudStackを操作するにはGUIを用いる方法とAPIを経由する方法(CloudStackをAPIで操作する参照)がありますが、knife-cloudstackはこのうち後者であるCloudStack APIを経由して操作するものです。
knife-cloudstackを導入すれば、KnifeからCloudStackのAPIを経由して、CloudStackのインスタンス作成、ブートストラップ、管理を行えるようになります。
*1 knife-cloudstack https://github.com/CloudStack-extras/knife-cloudstack
*2 Chef http://wiki.opscode.com/display/chef/Home(関連記事)
*3 Knife http://wiki.opscode.com/display/chef/Knife
knife-cloudstackは、Rubyコミュニティが提供しているパッケージ管理システム「RubyGems」で提供されているので、容易にインストールできます。本稿では、RubyGems経由での導入・設定を前提としますので、一般的なRubyGems経由でのパッケージ導入と同様、root権限、ruby環境を準備しておきましょう。RubyGems経由の導入では、Knifeを含むChefクライアント環境が同時にインストールされます。
* rubygems.org参照(http://rubygems.org/gems/knife-cloudstack)
root$ gem install knife-cloudstack
knife-cloudstackがCloudStack APIと通信するためには、CloudStackのAPIエンドポイントURI、API鍵、秘密鍵が必要になります。まず、CloudStackのGUI側でそれぞれを生成して取得しておきましょう。
それぞれの生成・取得方法は過去の記事「CloudStackをAPIで操作する」を参考にしてください。
取得したAPIエンドポイントURI、API鍵、秘密鍵を設定ファイルに記載します。
まず、ホームディレクトリに「.chef」ディレクトリを作成し、その直下にknife.rbファイルを配置し、そこに設定を記載します。
$ mkdir ~/.chef $ vi ~/.chef/knife.rb knife[:cloudstack_url] = "http://CloudStack:8080/client/api" knife[:cloudstack_api_key] = "API鍵を記載してください" knife[:cloudstack_secret_key] = "秘密鍵を記載してください"
Copyright © ITmedia, Inc. All Rights Reserved.