Translate

2012年3月28日水曜日

Ubuntu ServerへCloudStack(3.0)をインストールする

前にCloudStack2.1をインストールしたので
CloudStack3.0も簡単かなと思い
試してみた..のだけど
変な所で引っかかって
やっとこさうまくいった。

※4.0はこちら


使ったUbuntu Serverは10.04LTS。

構成は以下の図の通り。




プロクシ環境下で頑張ったのだけど
テンプレート取得のところあたりや
セカンダリストレージができあがったところで
テンプレート取得時のエラーが厄介だったので
Buffalo製家庭用ルータを使用して
プロクシ経由でインターネット接続しない環境で行った。

WZR-HP-G450Hは
WAN側はDHCPで受けてくれるので
インタネットリーチャブルなセグメントへ
つないでおけばよいし、
LAN側は192.168.11.0/24セグメントの
192.168.11.2~65までをDHCP提供しているので
固定IPアドレスとして
192.168.11.100を管理サーバへ
192.168.11.101をホスト(Computing Node)へ割り当て
ポッドIP範囲を192.168.11.100~120、
プライベートネットワーク範囲を192.168.11.121~250として
インストールを行った。


なお管理サーバは
管理コンソール操作用PC上のVMware Playerで
NICを物理ネットワークへ接続するブリッジで
仮想マシンを作って対応した。

以下、ほぼ一挙手一投足を1行にして
記述した操作手順である。

操作用PC上には
VMwarePlayerとUbuntu ServerのISOイメージが
予め用意されているとする。
#DVDにも焼いておく

VMware PlayerがインストールされているPCは
予め
CloudStack-3.0.0-1-ubuntu10.04.tar.gz
をダウンロードして
Apacheをインストールして、HTTP経由で上記ファイルを取得できるように
しておくこと。
以下説明内では http://*****/CloudStack-3.0.0-1-ubuntu10.04.tar.gz と
表現しているので、適当に修正して下さい


1. Management Server インストール
1.1 VMware Player 仮想マシン構築
※管理コンソール操作用PCにて作業
  • VMware Player起動
  • 新規仮想マシンの作成
  • 後でOSをインストール
  • Linux
  • Ubuntu 64ビット
  • Cloud Stack 3.0 Management Server
  • 場所は適当
  • 次へ
  • 20.0GB
  • 仮想ディスクを複数のファイルに分割
  • 次へ
  • ハードウェアをカスタマイズ
  • 新規CD/DVD(IDE)
  • ISOイメージファイルを使用する
  • ファイルパスを指定
  • ネットワークアダプタ
  • ブリッジ:物理ネットワークに直接接続
  • 閉じる
  • 仮想マシンの再生

1.2 OSインストール
  • 日本語
  • ~Ubuntu Serverをインストール
  • IBM ThinkPad R60/T60/R61/T61
  • Japan
  • Japan - Kana
  • Alt + Shift
  • 戻る
  • ネットワークを手動で設定
  • 192.168.11.100
  • 255.255.255.0
  • 192.168.11.1
  • 8.8.8.8
  • tomoko
  • 空欄で次へ
  • ガイド - ディスク全体を使い LVM をセットアップする
  • SCSI (0,0,0) (sda) - 21.5 GB VMware, VMware Virtual S
  • はい
  • 21.2 GB
  • はい
  • Cloud Administrator
  • cloud
  • password
  • password
  • はい
  • いいえ
  • 空欄で次へ
  • 自動的にセキュリティアップデートを更新する
  • 続ける
  • はい
※VMware Playerのメニュー操作
  • 仮想マシン>仮想マシンの設定
  • CD/DVD(IDE)
  • 物理ドライブを使用する
  • OK
※仮想マシン上に戻る
  • 続ける
  • cloud
  • password
  • sudo -s
  • export LANG=C
  • aptitude update && aptitude -y upgrade
  • aptitude -y install gcc binutils cpp make psmisc
  • cd /tmp
  • ツールのインストール(VMware Player下の方にボタンが表示されている)
  • mount /dev/cdrom /mnt
  • tar xvfz /mnt/VMwareTools-8.8.2-590212.tar.gz
  • cd vmare-tools-distrib
  • ./vmare-install.pl
  • Enterキー×13
  • no
  • Enterキー×8
※VMware Player下段のツール導入メッセージが消える
  • cd
  • vi /etc/sysctl.conf
(最終行に1行追加)
net.ipv6.conf.all.disable_ipv6 = 1
  • sysctl -p
  • aptitude -y install sysv-rc-conf nfs-common ssh
  • vi /etc/hosts
(以下の1行を追加)
160.14.101.101 fortuneteller

1.3 CloudStack管理サーバインストール
  • cd
  • wget http://*****/CloudStack-3.0.0-1-ubuntu10.04.tar.gz
  • tar xvfz CloudStack-3.0.0-1-ubuntu10.04.tar.gz
  • cd CloudStack-3.0.0-1-ubuntu10.04
  • ./install.sh
  • M
  • Y
  • Yes
  • ./install.sh
  • D ← Install the database server
  • Y
  • password
  • password
  • cloud-setup-databases cloud:password@localhost --deploy-as=root:password
  • cloud-setup-management
※まだ管理サーバインストール完了していないが
セカンダリストレージが出来るまで一旦ここまでで保留する


2. ホストのインストール
2.1 OSインストール
※ホスト用PCにDVDを差し起動
  • 日本語
  • ~Ubuntu Serverをインストール
  • Happy Hacking Keynboard
  • Japan
  • Japan - Kana
  • Alt + Shift
  • 戻る
  • ネットワークを手動で設定
  • 192.168.11.101
  • 255.255.255.0
  • 192.168.11.1
  • 8.8.8.8
  • fortuneteller
  • 空欄で次へ
  • ガイド - ディスク全体を使い LVM をセットアップする
  • SCSI (0,0,0) (sda) - 500.1 GB ATA Hitachi HDS72105
  • はい ←前にOSが入っていた場合
  • はい
  • 499.8 GB
  • はい
  • Host Administrator
  • host
  • password
  • password
  • はい
  • いいえ
  • 空欄で次へ
  • 自動的にセキュリティアップデートを更新する
  • 続ける
  • はい
※DVD取り出し
  • 続ける
  • host
  • password
  • sudo -s
  • export LANG=C
  • aptitude update && aptitude -y upgrade
  • aptitude -y install ssh sysv-rc-conf nfs-kernel-server
  • vi /etc/sysctl.conf
(最終行に1行追加)
net.ipv6.conf.all.disable_ipv6 = 1
  • sysctl -p
  • mkdir -p /export/primary
  • mkdir -p /export/secondary
  • vi /etc/exports
(以下の1行を追加)
/export *(rw,async,no_root_squash,no_subtree_check)
  • exportfs -a
  • service nfs-kernel-server restart
  • vi /etc/hosts
(以下の1行を追加)
192.168.11.100 tomoko
  • vi /etc/modprobe.d/nfs_lockd.conf
(新規作成以下の1行追加)
options lockd nlm_udpport=32769 nlm_tcpport=32803
  • vi /etc/default/nfs-kernel-server
(修正前)
RPCMOUNTDOPTS=--manage-gids
(修正後)
RCPMOUNTDOPTS="--port 892"
  • vi /etc/default/nfs-common
(修正前)
STATDOPTS=
(修正後)
STATDOPTS="--port 662 --outgoing-port 2020"
  • reboot
※再起動
  • host
  • password
  • sudo su -
  • password
  • export LANG=C
  • rpcinfo -p
※portmap,status,nfsのport番号をメモ
  • ufw allow 111 ←portmapのポート番号
  • ufw allow 662 ←statusのポート番号
  • ufw allow 32769/udp
  • ufw allow 32803/tcp
  • ufw allow 2049/tcp ←nfsのポート番号
  • ufw allow 892
  • aptitude -y install kvm qemu-kvm libvirt-bin virtinst bridge-utils
  • vi /etc/libvirt/qemu.conf
(修正前)
# vnc_listen = "0.0.0.0"
(修正後)
vnc_listen = "0.0.0.0"
  • reboot
※再起動
  • cloud
  • password
  • sudo -s
  • export LANG=C
  • passwd root
※rootにパスワードを設定する
  • password
  • password
  • cd
  • wget http://*******/CloudStack-3.0.0-1-ubuntu10.04.tar.gz
  • tar xvfz CloudStack-3.0.0-1-ubuntu10.04.tar.gz
※CloudStackエージェントのインストールの前に先にセカンダリストレージ上
にテンプレートを落とす作業を行う。


3. Management Server インストール(続き)
3.1 テンプレートのダウンロード
  • mount 192.168.11.101:/export/secondary /mnt
  • /usr/lib64/cloud/agent/scripts/storage/secondary/cloud-install-sys-tmpl -m /mnt -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F
※プロクシ環境下の場合wget同様環境変数http_proxyを設定する
  • umount /mnt
  • service cloud-management restart
  • tail -f /var/log/cloud/management/management-server.log
※上記は必須ではないが、以降のインストール中のエラーを目視チェックするため

3.2 管理コンソールのセットアップ
※管理コンソール操作用PCでブラウザ起動
  • http://192.168.11.100:8080/client を開く
  • admin
  • password
  • ドメインは空欄
  • Log On
  • 基本インストールを続行する
  • password
  • password
  • 保存して続行
  • OK
  • test_zone
  • 8.8.8.8
  • 8.8.4.4
  • 8.8.8.8
  • 8.8.4.4
  • 続行
  • OK
  • test_pod
  • 192.168.11.1
  • 255.255.255.0
  • 192.168.11.100 - 192.168.11.120
  • 続行
  • 160.14.101.254
  • 255.255.255.0
  • 192.168.11.121 - 192.168.11.250
  • 続行
  • OK
  • KVM
  • test_cluster
  • 続行
  • OK
  • 192.168.11.101
  • root
  • password
  • 続行
  • OK
  • test_prime
  • NFS
  • 192.168.11.101
  • /export/primary
  • 続行
  • OK
  • 192.168.11.101
  • /export/secondary
  • 続行

3.3 ホストへAgentをインストールする
※ホストをインストールするPCへもどる(rootでログオンした状態)
  • cd
  • cd CloudStack-3.0.0-1-ubuntu10.04
  • ./install.sh
※インストーラのプロンプト表示
  • A ← Install the Agent
  • Y
  • Yes

3.4 管理コンソールのセットアップ(続き)
※管理コンソール操作用PCのブラウザへ戻る
  • 起動
※「クラウドを構築しています..」が表示される

3.5 ホストへAgentをインストールする(続き)
※ホストをインストールするPCへもどる(rootでログオンした状態)
cloud-setup-agentを管理コンソールで
「ゲストトラフィックを構成しています」が作業中までに完了させる
  • cloud-setup-agent
  • tomoko
  • 1
  • 1
  • 1
  • Enterキー
※ここまで「ゲストトラフィックを構成しています」が作業中までに完了させる
  • service cloud-agent status
※なぜかかならず落ちるが、管理コンソール上で「ホストを追加しています」が
作業中の間に起動していないといけない
このため以下のコマンドを「プライマリストレージを作成しています」が
作業開始になるまで連投する
  • service cloud-agent start (2回目以降は上ボタン→Enterキーで連投)
※「プライマリストレージを作成しています」と出たらやめる
※私同様VMware Player上にManagement Serverを構築している人で、
(例えばテンプレートのダウンロードなどで)処理がなかなか先に進まない場合
もしかしたらアンチウィルスのせいかもしれません。
私はSymantec Endpoint Protectionのネットワーク脅威防止機能
ルータの通信が怪しいと判断し、LAN側IPアドレスからの通信を10分がっつり
止めているためセットアッププロセスが10分後解除されても継続されず先に
進まないままになってしまいました(右下にバルーンでメッセージがちょこっとでて
すぐ消えてしまうので、気づくのが遅かった...)。
セットアップの最後の「起動」ボタンを押す前にネットワーク脅威防止を一時的に
 オフにしたらすんなりセットアップが完了しました。
もし同じ問題にあたった方で私と同じ方法を試そうという方は、
なにぶんセキュリティ機能の停止なので、くれぐれも各自の責任のもとおこなってください。
  • service cloud-agent status
※runningを確認

3.6 管理コンソールのセットアップ(続き2)
※管理コンソール操作用PCのブラウザへ戻る
※成功すると「クラウドがセットアップされました」と表示
  • 起動
※本当の管理コンソール画面にかわる

3.7 テンプレートのダウンロード
※ホスト上にもどる
  • reboot
※管理サーバ上に戻る
  • reboot
※両方起動したら管理コンソール操作用PCに戻り
  • 表示中の管理コンソールタブを閉じる
  • http://192.168.11.100:8080/clientを開く(開き直す)
  • admin
  • password
  • ドメインは空欄
  • 日本語
  • LogOn
※管理コンソール画面が表示される
  • テンプレート
  • 名前欄のCent OS5.5(64-bit) no GUI(KVM)をクリック
  • 状態欄が「Download Complete」になるまで更新ボタンを押す
※結構かかる


4. 動作テスト(インスタンス作成)
  • インスタンス
  • +インスタンスの追加
  • test_zone
  • テンプレート
  • 次へ
  • おすすめ「CentOS 5.5(64-bit) no GUI (KVM)」
  • 次へ
  • Small Instance
  • 次へ
  • Small
  • 次へ
  • 次へ
  • 名前(オプション):test_inst
  • グループへの追加(オプション)空欄
  • VMの起動
※しばらくすると画面上部の通知の数字が上がる
クリックしてCleated VMしていることを確認
  • インスタンス
  • 表示名test_instをクリック
  • 詳細の「_>」ボタンを押す
※コンソールが表示されることを確認する


以上


結局cloud-agentインスタンスが
管理コンソールのセットアップ中に動いていないと
失敗してしまうようなので
うまくタイミングを合わせて起動させておく必要があるようだ。


ひょっとして上記方法でなくもっとスマートな方法があれば
ぜひコメント欄にて教えて下さい。


参考リンク:
CloudStack3.0.0QuickInstallGuide(日本語)
cloud.comが提供している英語版ガイドの日本語訳。
まず最初にこれを読んでください。
RHEL中心でUbuntuの記述がない、
こまかいところが色々省略されているなどで
初心者はこれだけでは理解出来ないかも。

CloudStack3.0.0AdminGuide(日本語)
こちらはインストール後に
ゾーン、ポッドや難解なネットワークオファリングなど
の概要説明があります。
ネットワークあたりは難しい。
パブリックネットワークとかゲストネットワークとか
迷彩がかっていてインフラ素人にはわかりにくい部分もあります。
ただゾーン、ポッド、クラスタの考え方と
基本、拡張ネットワークの違いくらいはこれを
読んで知っておくべきとおもいます。
LDAP連携の話も"簡単に"書かれてますね。
まだ試してないけど..

 cloud.comのガイドでは不足だったので、
以下のブログやWikiを参考にしました。

yamasaki0's diaryCloudStack 3.0 のインストール その1
ここをベースにセットアップしました。
技術力がないので、
途中から端折られているのでそこを埋めるのが大変だった


CloudStack/インストール方法
ここは2.1をインストールする場合に役立つページ。

2 件のコメント:

Unknown さんのコメント...

「yamasaki0's diaryCloudStack 3.0 のインストール その1」の者です。
説明不足ですみませんでした。 端折られていて困った場所などを教えて頂けますと助かります。
前回のCloudStack2.1の投稿を参考にさせてもらいました。とても参考になる情報ありがとうございました。

ton さんのコメント...

これは参考にさせていただいた方から..恐縮です。
EucalyptusやOpenStackかなにかで
経験しておけばよかったのですが
なにぶん不勉強で申し訳ありません。

不明点などがありましたら
コメントにて質問させて頂きます。
ありがとうございました。

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...