ここでは、VMwareから提供されているHTML Console SDKの簡単な使い方について説明します。
VMware HTMl Console SDK
ドキュメント
バージョン
項目 | バージョン |
---|---|
HTML Console SDK | 2.1.0 |
準備
ダウンロード
以下のページからSDKをダウンロードしてください。
ダウンロードが完了したら解凍します。
解凍したら以下のようにフォルダとファイルがあることを確認します。
1 2 3 4 5 6 7 8 9 10 11 |
. ├── css │ ├── extended-keypad.css │ ├── main-ui.css │ ├── trackpad.css │ └── wmks-all.css ├── img │ ├── touch_sprite.png │ └── touch_sprite_feedback.png └── wmks.min.js |
使い方
HTML Console SDKは、javascriptで提供されています。
そのため、SDKを使うためにはjavascriptで処理を記述する必要があります。
以下は簡単なテンプレートです。
ここでは console.html
という名前で作成しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Console</title> </head> <body> <link rel="stylesheet" type="text/css" href="css/wmks-all.css" /> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/ui/1.8.16/jquery-ui.min.js"></script> <script type="text/javascript" src="wmks.min.js"></script> <div id="wmksContainer" style="position: absolute; width: 100%; height: 100%;"></div> <script> var wmks = WMKS.createWMKS("wmksContainer",{}) .register(WMKS.CONST.Events.CONNECTION_STATE_CHANGE, function(event,data){ if(data.state == WMKS.CONST.ConnectionState.CONNECTED){ console.log("connection state change : connected");} }); wmks.connect("Change me"); </script> </body> </html> |
パラメーターの詳細についてはドキュメントを参照ください。
コンソールへ接続するメソッドは vmks.connect
の部分です。
上記では Change me
となっているところを接続先のURL(WebSocket)へ変更します。
URLにはチケットが必要です。
チケットはAPI経由から取得することが可能です。
そのため、接続先URLを生成するツールを作ってみました。
上記ツールを動作させるには pyvmomi
が必要なのでインストールしてください。
インストール例
1 2 |
$ pip install pyvmomi |
ツールの使い方は以下の通りです。
1 2 |
$ ./vmware_get_console_url.py -vc ESXi or vCenter -u username -t vm name |
例えば、vcenterからAD01というVMのHTMLコンソール接続用URLを生成するには以下のようにします。
1 2 3 4 |
$ ./vmware_get_console_url.py -vc vcenter04.local -u administrator@vsphere.local -t AD01 Password: wss://esxi-12.local:443/ticket/6c51b646f68a7132 |
ここで表示された wss://host:port/ticket/ticket_id
を change me
部分にコピペします。
ちなみに、最終的なディレクトリ構造は以下のようにしています。
1 2 3 4 5 6 7 8 9 10 |
. ├── console.html ├── css │ ├── extended-keypad.css │ ├── main-ui.css │ ├── trackpad.css │ └── wmks-all.css ├── vmware_get_console_url.py └── wmks.min.js |
この構造であれば console.html
の change me
部分を書き換えてブラウザで表示すれば以下のようにコンソールが表示されます。
他にも Ctrl + Alt + Delete
をVMに送信するためのメソッドやフルスクリーンにするメソッドなどあるので、詳しくはドキュメントを参照してください。
これで、自作コンソールも作れるようになりますね 🙂