デバッグ#

インスタンスの問題をデバッグする際の情報については、インスタンスの起動に失敗する問題のトラブルシューティング方法を参照してください。

lxclxd のデバッグ#

lxclxd のコードをトラブルシューティングするのに役立ついくつかの 異なる方法を説明します。

lxc --debug#

クライアントのどのコマンドにも --debug フラグを追加することで内部についての 追加情報を出力することができます。もし有用な情報がない場合はログ出力の 呼び出しで追加することができます。

logger.Debugf("Hello: %s", "Debug")

lxc monitor#

このコマンドはメッセージがリモートのサーバに現れるのをモニターします。

ローカルソケット経由でのREST API#

サーバサイドでLXDとやりとりするのに最も簡単な方法はローカルソケットを 経由することです。以下のコマンドは GET /1.0 にアクセスし、 jq ユーティリティを使って JSONを人間が読みやすいように整形します。

curl --unix-socket /var/lib/lxd/unix.socket lxd/1.0 | jq .

あるいは snap ユーザーの場合は

curl --unix-socket /var/snap/lxd/common/lxd/unix.socket lxd/1.0 | jq .

利用可能なAPIについては RESTful API をご参照ください。

HTTPS経由でのREST API#

LXDへのHTTPS接続には、有効な クライアント証明書が必要で、最初のlxc remote addで生成されます。この 証明書は、認証と暗号化のための接続ツールに渡す必要があります。

必要に応じて、opensslを使って証明書(~/.config/lxc/client.crt またはSnapユーザーの場合 ~/snap/lxd/common/config/client.crt)を調べることができます:

openssl x509 -text -noout -in client.crt

表示される行の中に以下のようなものがあるはずです:

Certificate purposes:
SSL client : Yes

コマンドラインツールを使う#

wget --no-check-certificate --certificate=$HOME/.config/lxc/client.crt --private-key=$HOME/.config/lxc/client.key -qO - https://127.0.0.1:8443/1.0

# または snap ユーザーの場合
wget --no-check-certificate --certificate=$HOME/snap/lxd/common/config/client.crt --private-key=$HOME/snap/lxd/common/config/client.key -qO - https://127.0.0.1:8443/1.0

ブラウザを使う#

いくつかのブラウザ拡張はウェブのリクエストを作成、修正、リプレイする ための便利なインタフェースを提供しています。LXDサーバに対して認証 するには lxc のクライアント証明書をインポート可能な形式に変換し ブラウザにインポートしてください。

openssl pkcs12 -clcerts -inkey client.key -in client.crt -export -out client.pfx

上記のコマンドを実行し、(訳注:変換後の証明書をインポートしてから) ブラウザで https://127.0.0.1:8443/1.0 を開けば期待通り動くはずです。