OpenStack CLI チートシート

OpenStack CLI チートシート

これはリファレンス目的の一般的なコマンドの一覧です。

Identity (keystone)

すべてのユーザーの一覧表示

$ openstack user list

Identity サービスカタログの一覧表示

$ openstack catalog list

Images (glance)

アクセス可能なイメージの一覧表示

$ openstack image list

指定したイメージの削除

$ openstack image delete IMAGE

指定したイメージの詳細表示

$ openstack image show IMAGE

イメージの更新

$ openstack image set IMAGE

カーネルイメージのアップロード

$ openstack image create "cirros-threepart-kernel" \
  --disk-format aki --container-format aki --public \
  --file ~/images/cirros-0.3.5-x86_64-kernel

RAM イメージのアップロード

$ openstack image create "cirros-threepart-ramdisk" \
  --disk-format ari --container-format ari --public \
  --file ~/images/cirros-0.3.5-x86_64-initramfs

3 分割イメージのアップロード

$ openstack image create "cirros-threepart" --disk-format ami \
  --container-format ami --public \
  --property kernel_id=$KID-property ramdisk_id=$RID \
  --file ~/images/cirros-0.3.5-x86_64-rootfs.img

raw イメージの登録

$ openstack image create "cirros-raw" --disk-format raw \
  --container-format bare --public \
  --file ~/images/cirros-0.3.5-x86_64-disk.img

Compute (nova)

インスタンスの一覧表示、インスタンスの状態の確認

$ openstack server list

イメージの一覧表示

$ openstack image list

m1.tiny という名前のフレーバーを作成します。

$ openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.tiny

フレーバーの一覧表示

$ openstack flavor list

フレーバーとイメージ名 (名前が一意な場合) を用いたインスタンスの起動

$ openstack server create --image IMAGE --flavor FLAVOR INSTANCE_NAME
$ openstack server create --image cirros-0.3.5-x86_64-uec --flavor m1.tiny \
  MyFirstInstance

インスタンスへのログイン (Linux から)

注釈

ip コマンドは Linux のみにおいて使用できます。 ip netns を使用すると、トラブルシューティングのために、自身のルーティング情報、ファイアウォール、ネットワークデバイスを用いてネットワークスタックのコピーをお使いの環境に提供します。

# ip netns
# ip netns exec NETNS_NAME ssh USER@SERVER
# ip netns exec qdhcp-6021a3b4-8587-4f9c-8064-0103885dfba2 \
  ssh cirros@10.0.0.2

注釈

CirrOS の場合、cirros ユーザーのパスワードは cubswin:) です。他のオペレーティングシステムは、SSH キーを使用します。

パブリック IP アドレスを用いたインスタンスへのログイン (Mac から)

$ ssh cloud-user@128.107.37.150

インスタンスの詳細表示

$ openstack server show NAME
$ openstack server show MyFirstInstance

インスタンスのコンソールログの表示

$ openstack console log show MyFirstInstance

インスタンスのメタデータの設定

$ nova meta volumeTwoImage set newmeta='my meta data'

インスタンスのスナップショットの作成

$ openstack image create volumeTwoImage snapshotOfVolumeImage
$ openstack image show snapshotOfVolumeImage

インスタンスの一時停止、休止、停止、レスキュー、リサイズ、再作成、リブート

一時停止

$ openstack server pause NAME
$ openstack server pause volumeTwoImage

一時停止解除

$ openstack server unpause NAME

休止

$ openstack server suspend NAME

休止解除

$ openstack server resume NAME

停止

$ openstack server stop NAME

開始

$ openstack server start NAME

レスキュー

$ openstack server rescue NAME
$ openstack server rescue NAME --rescue_image_ref RESCUE_IMAGE

リサイズ

$ openstack server resize NAME FLAVOR
$ openstack server resize my-pem-server m1.small
$ openstack server resize --confirm my-pem-server1

再作成

$ openstack server rebuild NAME IMAGE
$ openstack server rebuild newtinny cirros-qcow2

リブート

$ openstack server reboot NAME
$ openstack server reboot newtinny

ユーザーデータとファイルのインスタンスへの注入

$ openstack server create --user-data FILE INSTANCE
$ openstack server create --user-data userdata.txt --image cirros-qcow2 \
  --flavor m1.tiny MyUserdataInstance2

ファイルが注入されたことを確認する場合、SSH を使用してインスタンスにログインして、/var/lib/cloud にあるファイルを探します。

インスタンスへのキーペアの注入、キーペアを用いたインスタンスへのアクセス

キーペアの作成

$ openstack keypair create test > test.pem
$ chmod 600 test.pem

インスタンスの起動

$ openstack server create --image cirros-0.3.5-x86_64 --flavor m1.small \
  --key-name test MyFirstServer

インスタンスに接続するための SSH の利用

# ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f \
  ssh -i test.pem cirros@10.0.0.4

セキュリティーグループの管理

default セキュリティーグループでインスタンス間の ping と SSH を許可するルールの default セキュリティーグループへの追加

$ openstack security group rule create default \
    --remote-group default --protocol icmp
$ openstack security group rule create default \
    --remote-group default --dst-port 22

Networking (neutron)

ネットワークの作成

$ openstack network create NETWORK_NAME

サブネットの作成

$ openstack subnet create --subnet-pool SUBNET --network NETWORK SUBNET_NAME
$ openstack subnet create --subnet-pool 10.0.0.0/29 --network net1 subnet1

Block Storage (cinder)

インスタンスに接続される、ボリュームとボリュームのスナップショットを管理するために使用されます。

新しいボリュームの作成

$ openstack volume create --size SIZE_IN_GB NAME
$ openstack volume create --size 1 MyFirstVolume

インスタンスの起動およびボリュームの接続

$ openstack server create --image cirros-qcow2 --flavor m1.tiny MyVolumeInstance

ボリュームの状態に注意して、すべてのボリュームを一覧表示します。

$ openstack volume list

インスタンスの起動後、ボリュームをインスタンスに接続すると、ボリュームが利用可能になります。

$ openstack server add volume INSTANCE_ID VOLUME_ID
$ openstack server add volume MyVolumeInstance 573e024d-5235-49ce-8332-be1576d323f8

注釈

Xen ハイパーバイザーは、自動的に割り当てる代わりに、特定のデバイス名を指定することができます。例:

$ openstack server add volume --device /dev/vdb MyVolumeInstance 573e024d..1576d323f8

This is not currently possible when using non-Xen hypervisors with OpenStack.

インスタンスへのログイン後のボリュームの管理

ストレージデバイスの一覧表示

# fdisk -l

ボリュームのファイルシステムの作成

# mkfs.ext3 /dev/vdb

マウントポイントの作成

# mkdir /myspace

マウントポイントへのボリュームのマウント

# mount /dev/vdb /myspace

ボリュームへのファイルの作成

# touch /myspace/helloworld.txt
# ls /myspace

ボリュームのアンマウント

# umount /myspace

Object Storage (swift)

アカウント、コンテナー、オブジェクトの情報表示

$ swift stat
$ swift stat ACCOUNT
$ swift stat CONTAINER
$ swift stat OBJECT

コンテナーの一覧表示

$ swift list
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.