Translate

2012年7月4日水曜日

Micro Cloud Foundryの設定方法を調べてみる

Micro Cloud Foundryをダウンロードしたはいいけど、
今度は使い方..というか設定方法がよくわからない..

どうもこの仮想マシンを使えば
ローカルでCloud Foundryを体験できるとあるのだけど..

ということで

Using the Micro Cloud Foundry Console

を引き続き翻訳してみました。

オフラインモードでの使い方などが書かれています。

以下、翻訳した日本語ですが、
参照される方はAt your own riskでお願いします。


Micro Cloud Foundryの仮想マシンをVMware player上で動作させるところまでは
おそらく皆できるとおもいますが、
実行前に、WindowsであればVMware Network Apdapter VMnet8のDNSサーバ指定を
Micro Cloud Foundryコンソール上に表示されているIPアドレスを設定しておくことを
忘れてしまう人が結構いるので気をつけて下さい(以下本文中赤字部)。








Micro Cloud Foundryコンソールの利用

  • タグ:overviewmcfmongodb
  • 最終更新日:2012/6/11


サブトピックス

  • Micro Cloud Foundryデフォルト設定
  • Micro Cloud Foundryコンソールの利用
  • Micro Cloud Foundryリソース制限
  • Micro Cloud Foundry仮想マシンメモリの追加
  • Micro Cloud Foundryへのログイン
  • Micro Cloud Foundryネットワーク設定
  • オフラインでのMicro Cloud Foundry動作
  • Micro Cloud Foundryトラブルシューティング

Micro Cloud Foundryデフォルト設定

本章ではMicro Cloud Foundryバージョン1.2デフォルト設定について解説します。

仮想マシン設定
  • RAM: 1GB
  • ディスク: 16GB
  • 仮想CPU数: 2

サービス制限

  • MySQL:容量2GB、インスタンス毎最大256MB
  • PostgreSQL:容量2GB、インスタンス毎最大256MB
  • MongoDB:インスタンス毎256MB
  • Redis:インスタンス毎256MB

実行環境バージョン

  • ruby18: Ruby 1.8、バージョン1.8.7
  • ruby19: Ruby 1.9、バージョン1.9.2p180
  • java: Java 6、バージョン1.6
  • node: Node.js、バージョン0.4.12
  • node06: Node.js、バージョン6.0.8


フレームワーク

  • rails3
  • sinatra
  • grails
  • node
  • java_web
  • lift
  • spring

サービスバージョン

  • mongodb: MongoDB NoSQL ストア、バージョン1.8
  • mysql: MySQL データベースサービス、バージョン5.1
  • postgresql: vFabric PostgreSQL データベースサービス、バージョン9.0
  • rabbitmq: RabbitMQメッセージングサービス、バージョン2.4
  • redis: Redisキーバリューストアサービス、バージョン2.2



Micro Cloud Foundryコンソールの利用

Micro Cloud Foundry仮想マシンの電源をONにすると、Linuxがブートされコンソールテキストメニューが表示されます。このコンソールメニューは、Microクラウドの主要な管理用インターフェイスです。

コンソールは、Micro Cloud Foundryバージョン、ホスト名(Identity)、Cloud Foundryアカウント電子メールアドレス(Admin)、仮想マシンへ割り当てたIPアドレスなどのステータス情報をトップに表示します。

数字を入力することで、メニューからオプションを選択します。コンソールは、タスク実行のための要求された情報の入力を促します。

  1. コンソールのリフレッシュ(refresh console)。メッセージがメニューをスクロールサせてしまった時など、コンソールディスプレイの再描画する場合、このオプションを選択します。
  2. DNSのリフレッシュ(refresh DNS)。DNSレコードのMicro Cloud Foundry IPアドレスを更新します。
  3. vcapパスワード再設定(reconfigure vcap password)。rootやvcapユーザのパスワードを変更する場合、このオプションを選択します。
  4. ドメイン再設定(reconfigure domain)。新規ドメイン作成やMicro Cloud Foundryドメインの新しいトークンを生成する場合、このオプションを選択します。ドメイン管理やプロンプトに入力するためのトークンを取得するために、Micro Cloud Foundry Webサイトへログインしてください。
  5. ネットワーク再設定(reconfigure network)。DHCP/静的(static)ネットワーク設定を選択するためには、このオプションを選択して下さい。静的(static)ネットワークを選択した場合、コンソールはIPアドレス、ゲートウェイ、音とマスク、DNSサーバを表示します。
  6. オファーリングモード有効化(enable offline mode)。仮想マシンのオンライン/オフラインモードを切り替える時、このオプションを選択してください。
  7. プロクシ再設定(reconfigure proxy)。プロクシ設定が必要なネットワークの場合、このオプションを選択し、プロクシのアドレスやポートを入力して下さい(例: 192.168.1.128:4000)。
  8. サービス(services)。Micro Cloud上のサービスの状態を表示します。
  9. ネットワーク再起動(restart network)。仮想マシン上のネットワークサービスを再起動します。
  10. デフォルトへ戻す(restore defaults)。
  11. エキスパートメニュー(expert menu)。デバッグレベルをセットしている場合はログを表示したり、Micro Cloud Foundryのほかの拡張設定を実行したい場合のために、エキスパートメニューを表示します。
  12. ヘルプ(help)。インストールやセットアップに関するオンラインドキュメントや仮想マシンやサービスのデフォルト設定制約のURLを表示します。
  13. VMシャットダウン(shutdown VM)。Micro Cloud Foundry仮想マシンをシャットダウンします。


Micro Cloud Foundryリソース制約

Micro Cloud Foundryには以下のデフォルトリソース制限があります:

  • VM: 1GB RAM、16GBディスク
  • MySQL: 2GBディスク、最大256MB/インスタンス
  • Mong DB: 256MB/インスタンス
  • Redis: 256MB/インスタンス

管理ユーザには以下の制約があります:

  • 1.0 G メモリ
  • プロビジョンされるサービス16迄
  • アプリケーション16迄



Micro Cloud Foundry仮想マシンメモリの追加

Micro Cloud Foundry仮想マシンの初期設定ではメモリは1GBに設定されています。もしアプリケーションによってより多いメモリを必要とするのであれば、次に続くステップを実行して下さい:

  1. Micro Cloud Foundry仮想マシンをシャットダウン。
  2. VMware Workstation for VMware Playerの場合は、Micro Cloud Foundry仮想マシンを右クリックして設定(Settings)を選択。
  3. メモリ(Memory)をクリックして、右側のパネルに新規サイズを設定。
  4. OKをクリック。
  5. 仮想マシンを開始。
  6. 新規のハイライトされた項目(コンソールメニューのメモリ再設定(reconfigure memory))を選択。

Micro Cloud Foundryは、新しいメモリサイズに合わせて仮想マシンやサービスを再設定します。


ネットワークの切り替え

もしネットワークの切り替えを頻繁に行いMicro Cloud Foundryを他のユーザ利用の必要がないのであれば、仮想マシンネットワーク設定としてブリッジモードの代わりにNATを選択する事のほうがより簡単です。Micro Cloud Foundry仮想マシンバージョン1.2では、デフォルトでNATモードとなっています。もしクラウドを他のユーザと共有したい場合は、ブリッジモードに変更する必要があります。


Micro Cloud Foundryへのログイン

Micro Cloud Foundryは、Ubuntu Linuxオペレーティングシステム、Micro Cloud Foundryソフトウェアレイヤ、アプリケーションサービスで構成されている仮想マシンです。GUIデスクトップ環境はインストールされていませんが、ssh経由で仮想マシンへログインしてbashシェルを使用することができます。


アプリケーションを他のCloud Foundryインスタンスへ移動させるときに、明確でない依存関係を持ち出すことになるのであれば、どんな場合であれCloud Foundryサービスをカスタマイズすることは良い方法ではありません。


Micro Cloud Foundryへログインする理由は以下のとおりです:

  • ログファイルの参照
  • プロセス状態の確認や、(例えばtopを使用した)ロード(負荷)の確認
  • ローカルネットワーク上のDNSに関する問題のトラブルシュート


初期設定やMicro Cloud Foundry仮想マシン設定にてセットしたパスワードを使って、rootもしくはvcapとしてログインすることができます。

sshがインストールされたコンピュータから、次の様なコマンドを使ってMicro Cloud Foundryへログインして下さい。

$ssh root@domain.cloudfoundry.me

上記の"domain"はMicro Cloud Foundryへ登録したドメイン名をさします。仮想マシンへ割り当てられた(コンソールに表示された)IPアドレスも使用できます。


Micro Cloud Foundryネットワーキング設定

Micro Cloud FoundryはCloud Foundryに近いネットワーク環境を提供します。URLを元にDNSを使ってアプリケーションやMicro Cloud Foundry仮想マシンが動作しているホストコンピュータを決定します。アプリケーションは、リクエストを処理し、URLの残りの部分やHTTPリクエストを解釈してクライアントへレスポンスを返します。同一ホストでクラウドが実行されている場合を除いては、クライアントブラウザとアプリケーションは製品版の動作と同じ方法でネットワークを経由して相互通信を行います。

開発・配置ツール -vmcとSTS- も、CloudFoundry.comもしくはローカルの、あるいはホストされたCloud Foundryインスタンスで動作するのと同様に、Micro Cloud Foundryでも動作します。

製品版のようなネットワーク環境を提供するために、Micro Cloud Foundryは仮想マシンのIPアドレスはDNS上のdomain.cloudfoundry.meに結びつけます。
この動作はインターネット接続を要求するため、Micro Cloud Foundryはcloudfoundry.meのアドレスを更新することができます、そしてURLをもとにブラウザからアプリケーションへアクセスを決定します。仮想マシンに新しいIPアドレスが割り当てられた場合、例えばもし異なるロケーションへ移動させた場合など、DNSレコードを更新します。

もしブラウザがプロクシを使用しDNSルックアップが動作しないのであれば、.cloudfoundry.meをプロクシ除外設定をしておいたほうがよいでしょう。

Micro Cloud Foundry仮想マシンのネットワークアダプタを設定することで、Micro Cloudに誰がアクセスできるかを決定します:

もしブリッジネットワーク接続オプションを選択したのであれば、Micro CloudはLAN上のDHCPサーバからアドレスを取得します。この設定の場合、LAN上のほかのホストからアクセスすることができます。

もしNATネットワーク接続オプションを選択したのであれば、Micro Cloudは仮想マシンが動作しているホスト上にのみ存在するネットワーク上のアドレスを取得します。この場合仮想マシンが動作するホスト上のブラウザからのみアクセスすることができます。

ブリッジネットワークオプションではなく、NAT接続オプションを使う場合は、ロケーションを変更しても新規アドレスを取得しません。

もしMicro Cloudを共有せずにロケーションを頻繁に変更するのであれば、NATオプションを使用してDNS遅延更新の可能性を避けて下さい。


オフラインでのMicro Cloud Foundry動作

Cloud Foundry Webサイトから入手したトークンを使ってMicro Cloud Foundryをインストールした場合、VMと同じネットワーク上のインターネット接続されたコンピュータの登録が許可されているダイナミックDNS機能を使います。これは、たとえ同じコンピュータからVMへアクセスしたとしても、インターネットアクセスを要求するVMのローカルネットワークアドレスを取得します。これはオンラインモードと呼ばれており、インターネットアクセスが必要になります。

もしインターネット接続しないで動作させるのであれば、Micro Cloud Foundryをオフラインモードにしなくてはなりません、そしてホストの設定をDNSリクエストがMicro Cloud Foundry 仮想マシンを指すようにしなくてはなりません。もしMicro Cloud Foundry初期設定の時に設定トークンの代わりにドメイン名を設定したなら、常にオフラインモードを使用しなくてはなりません。

オフラインモードはVMネットワークアダプタがNAT設定である場合のみサポートされています。他のユーザとMicro Cloud Foundryを共有する場合、ネットワークアダプタをブリッジモードにして、オンラインモードで動作させなくてはなりません。

もしMicro Cloud Foundryをオフラインモードで使用しインターネット接続を維持したい場合は、インターネット上のサイトへアクセスする問題を経験することになるでしょう。


Micro Cloud Foundryオフラインモード設定

オフラインモードは、手動設定か、vmcマイクロコマンドで設定することができます。VMCバージョン0.3.16ベータ4以上であればvmcマイクロコマンド使用が必須となります。Using the VMC micro Command章の説明を参照して下さい。

本セクションの残りでは、オフラインモード手動設定について説明します。

Cloud Foundryをオフラインモードにするために3つのタスクを実行します。

ステップ1。VMの仮想マシン設定にて、ネットワークアダプタをNATに設定して下さい。設定を変更したら、仮想マシンを再起動して下さい。

ステップ2。Micro Cloud Foundryコンソールメニューにて、オプション6番を選択してオフラインモードに変更して下さい。

ステップ3DNSリクエストをMicro Cloud Foundry VMへルーティングするようにホストコンピュータを設定して下さい。設定方法は、OSやDHCPを使用するか静的IPアドレスを使用するかによって異なった手順になります。以下の説明では、IP番号172.16.52.136をMicro Cloud Foundryコンソールに表示されたIP番号に変更します。mydomain.microをオフラインドメイン名に変更して下さい。


Linuxの場合

DHCPを使用している場合、/etc/dhcp3/dhclient.confを以下のように編集して下さい:

prepend domain-name-servers 172.16.52.136

静的IPアドレスをVMに設定した場合、/etc/resolv.confを編集し、ほかのDNSサーバ設定の前に以下の行を追加して下さい:

nameserver 172.16.52.136


Mac OS Xの場合

DHCPを使用する場合、/etc/resolverディレクトリを作成し、オフラインドメイン名のファイエウを作成して下さい(例:mydomain.micro)。このファイルに烏賊に続く行を追加して下さい:

nameserver 172.16.52.136


Micro Cloud Foundryに静的IPアドレスを設定する場合、ネットワーク設定を開き、DNSサーバリストの先頭に172.16.52.136を追加して下さい。


Windowsの場合

以下のステップに従って、Micro Cloud FoundryがDHCPを使用するか静的IPアドレスを使用するか設定して下さい:

  • コントロールパネルのネットワークと共有を開く。
  • アダプタ設定を選択。
  • VMware Virtual Ethernet Adapter for VMnet8を右クリックし、プロパティを選択。DNSサーバに172.16.52.136をセット。



VMCマイクロコマンドの利用

DHCPを使用する場合、vmcマイクロコマンドは前章にて説明した手順を自動化します。どうやってコマンドが設定を変更するか確認しておいてください。

vmc gemをインストール、もしくは必要があれば更新して下さい。バージョンは0.3.16.beta4が必要になります。VMC Installation章の説明を参照して下さい。

これは、vmcマイクロコマンドの使い方です:

Options
  --password          VCAP user password
  --vmrun             /path/to/vmrun
  --vmx               /path/to/micro.vmx
  --save              Save VCAP password

Commands
  offline             Run Micro Cloud in offline mode
  online              Run Micro Cloud in online mode
  status              Display current status


再設定や仮想マシンを管理するために、vmcは.vmxファイルおよびvmrunへのパスを必要とします。パス上からvmrunコマンドを発見しますが、初回実行時に-vmxオプションを使ってmicro.vmxのパスを提供しなくてはなりません。パスはホームディレクトリの.vmc_microファイルに保管されるので、再度実行時には指定する必要はありません。

以下の例では、micro.vmxファイルのパスを指定しています。vmcはVMが起動していなかったことを発見し、開始するか問い合わせています。そしてステータスを報告し、今後の実行時のためにパスワードを保存するかどうか問い合わせています。

$ vmc micro --vmx /home/mcf/micro.vmx status
Please enter your Micro Cloud Foundry VM password (vcap user)
Password: ********
Confirmation: ********
Micro Cloud Foundry is not running. Do you want to start it? y
Micro Cloud Foundry currently in online mode
VMX Path: /home/mcf/micro.vmx
Domain: mydomain.cloudfoundry.me
IP Address: 192.168.255.134
Do you want to save your password? n

オフライン動作させるために、vmc micro offlineを実行します。

$ vmc micro offline

これは、VMをオフラインモードに設定し(メニューで6番を選択することと同じ)、VMが問い合わせるホスト上のDNSをセットします。この操作は管理者もしくはroot権限が必要になるので、認証を要求されます。

オンライン動作させるために、vmc micro onlineを実行します。

$ vmc micro online

この操作によりVMをオンラインモードに変更し、ホストコンピュータ上のDNS設定を戻します。この操作は管理者もしくはroot権限が必要になるので、認証を要求されます。



Micro Cloud Foundryトラブルシューティング

デバッグ情報の収集

もし問題に直面し、デバッグ野助けが必要な場合、以下の操作を実行して下さい:

Micro Cloud Foundryコンソールメニューにて、11と入力してエキスパートメニューを表示してください。

1を入力してデバッグレベルをDEBUGに設定して下さい。

VMの/var/vcap/sys/log/micro/micro.logファイルを参照して、サポートチケットに添付して下さい。ファイルを参照するとき、VM設定時に登録したパスワードを使ってvcapとしてログインしてください。例えば、scpとIPアドレスを使用してコンソールに表示します:

$ scp vcap@92.168.1.215:/var/vcap/sys/log/micro/micro.log .



プロクシの問題

プロクシを使用する場合、Micro Cloud Foundry VMにアクセス出来ないことを心に留めておいて下さい。例えば、もしVMネットワークアダプタをNAT設定にしているならば、プロクシ経由でVMを発見する方法はありませんので、ドメインシステムのプロクシ設定で除外する必要があります。

その他のプロクシに関連する問題は、VMネットワークアダプタ設定がブリッジモードでホスト上でVPNを使用している場合に発生します。Micro Cloud Foundry VMトラヒックはトンネルを通過しません、このためプロクシに到達しません。

インスタンへのアクセス時の問題

Micro Cloud Foundry VMのDNSエントリが更新されていない場合、インスタンスへアクセス出来ません。例えば:

$ vmc target api.martin.cloudfoundry.me
Host is not valid: 'http://api.martin.cloudfoundry.me'
Would you like see the response [yN]? y
HTTP exception: Errno::ETIMEDOUT:Operation timed out - connect(2)

Micro Cloud Foundryコンソールを確認してください。"1"を選択肢スクリーンを再描画して下さい。以下の様な"DNS out of sync"メッセージが表示された場合:

Current Configuration:
 Identity:   martin.cloudfoundry.me (DNS out of sync)
 Admin:      martin@englund.nu
 IP Address: 10.21.164.29 (network up)


"2"を選択肢DNSを強制更新して下さい。

もしコンソールDNSステータスが"ok"であれば、VMのIPアドレスがDNS上のIPと一致しています。hostコマンドを使ってキャッシュエントリがないことを確認して下さい。

$ host api.martin.cloudfoundry.me
api.martin.cloudfoundry.me is an alias for martin.cloudfoundry.me.
martin.cloudfoundry.me has address 10.21.165.53

もし異なっているのであれば、DNSキャッシュをフラッシュさせる必要があります:

Mac OS Xの場合

dscacheutil -flushcache


Linux(Ubuntu)の場合

sudo /etc/init.d/nscd restart


Windowsの場合

ipconfig /flushdns


Micro Cloud VM設定時に"Cannot connect to cloudfoundry.com"というメッセージが表示された場合


Micro Cloud VMをDHCPを使用するように設定した場合、ネットワークのDHCPプールからアドレスが割り当てられます。例えば環境テストにてDHCPアドレスの貸出期間を12から24時間にしているなどで、もしVMの新規作成や削除を連続して行う場合、DHCPプールを使い果たした可能性があります。もしブラウザからcloudfoundry.comへ接続できないのであれば、設定作業中のメッセージにcloudfoundry.comへの接続ができていないことを確認して下さい。DHCPサーバを再起動し、未使用リースがプールに戻せば、有効期限前に再利用できるようになります。

0 件のコメント:

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

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