Ubuntu 18.04 - LXD 3.0でRESTful APIを有効化する

参考サイト


作業環境


詳細

SHELL> hostnamectl status
   Static hostname: lxd.ie-server.info
         Icon name: computer-vm
           Chassis: vm
~
    Virtualization: kvm
  Operating System: Ubuntu 18.04.1 LTS
            Kernel: Linux 4.15.0-32-generic
      Architecture: x86-64

LXD/LXCのバージョンを確認

lxd --version/lxc --versionコマンドを実行

SHELL> lxd --version
3.0.1
SHELL> lxc --version
3.0.1

RESTful APIを有効化


パスワードを設定

「******」は、適時パスワードに変更すること

SHELL> sudo lxc config set core.trust_password ******

接続制限を設定

以下は、全てのアクセスを許可する 危険

SHELL> sudo lxc config set core.https_address [::]

接続情報を保存

lxc remoteコマンドでサーバーに接続する
lxcコマンドがインストールされている環境からなら、どこからでも以下コマンドを実行できるはず

SHELL> sudo lxc remote add api 127.0.0.1:8443
Generating a client certificate. This may take a minute...
Certificate fingerprint: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ok (y/n)? y
Admin password for api:
Client certificate stored at server:  api

接続に成功するとホームディレクトリに鍵が生成される

SHELL> ls ~/.config/lxc/
client.crt  client.key  config.yml  cookies  servercerts

Curlで RESTful APIを利用する

SHELL> sudo curl -k -v --cert ~/.config/lxc/client.crt --key ~/.config/lxc/client.key https://127.0.0.1:8443/

JSONが表示されれば、きっと完了

{
  "type": "sync",
  "status": "Success",
  "status_code": 200,
  "operation": "",
  "error_code": 0,
  "error": "",
  "metadata": [
    "/1.0"
  ]
}