OpenStackコマンドでインスタンスを作成(起動)するには、openstack server create
を使います。
実際にインスタンスを作成するには、次のコマンドで必要な情報を用意する必要があります。
インスタンス起動に必要な情報の取得
//フレーバーの確認 openstack flavor list //イメージの確認 openstack image list //セキュリティグループの確認 openstack security group list //キーペアの確認 openstack keypair list //ネットワークの確認 openstack network list //サブネットの確認 openstack subnet list
インスタンス起動
cloud-initファイルの準備
適当に用意します。例は、ログインするときのデフォルトユーザーを「デフォルト」からcloud-user
に変更します。
デフォルトユーザーはイメージによって異なっており、Ubuntuならubuntu
、Debianならdebian
、Fedoraならfedora
、RHELの場合はcloud-user
、Alma Linuxならalmalinux
だったと思います。詳しくは配布元の情報を確認してください。
面倒なので、ここではcloud-user
にしちゃいます。デフォルトのユーザーを変えるのは、セキュリティー的には良いことです。
$ cat cloudinit.file ... #cloud-config system_info: default_user: name: cloud-user
基本的なインスタンスの起動
一番基本的なインスタンスの起動方法は、エフェメラルストレージを使って(Cinderボリュームを使わないで)インスタンスを起動する方法です。多くのOpenStackデプロイメントではこの構成でデプロイされると思います。
大文字部分は冒頭のコマンドを実行して、適切なIDや名前に置き換えて実行してください。
$ openstack server create --flavor FLAVOR-ID --image IMAGE-ID \ --security-group SG-ID --key-name KEYPAIR-NAME --user-data cloudinit.file --config-drive true \ --nic net-id=PROJECT_NET_ID INSTANCE-NAME
Cinderボリュームを使ったインスタンスを起動:
続いて、Cinderボリュームを使ってインスタンスを起動する方法です。この例はブートボリュームがCinder ボリュームになります。
$ openstack volume create --size VOLUME-SIZE --image IMAGE-ID --bootable VOLUME-NAME $ openstack server create --flavor FLAVOR-ID --volume VOLUME-NAME \ --security-group SG-ID --key-name KEYPAIR-NAME --user-data cloudinit.file --config-drive true \ --nic net-id=PROJECT_NET_ID INSTANCE-NAME
実行例
$ openstack server create --flavor 518130ce-f7d3-4ea8-91dc-a8d7f924a0b2 --volume testvm1-volume \ > --security-group ytooyama --key-name yt-key --user-data cloudinit.file --config-drive true \ > --nic net-id=a68a0a9b-61b8-47b5-9fb5-b227ab2a3ab2 testvm1 +-------------------------------------+-------------------------------------------------+ | Field | Value | +-------------------------------------+-------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | | | OS-EXT-SRV-ATTR:host | None | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | OS-EXT-SRV-ATTR:instance_name | | | OS-EXT-STS:power_state | NOSTATE | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | None | | OS-SRV-USG:terminated_at | None | | accessIPv4 | | | accessIPv6 | | | addresses | | | adminPass | 2VKoQLP65tiM | | config_drive | True | | created | 2024-03-06T08:35:56Z | | flavor | m1.micro (518130ce-f7d3-4ea8-91dc-a8d7f924a0b2) | | hostId | | | id | 9b3925bd-8f41-434d-8973-da72f2cafd01 | | image | | | key_name | yt-key | | name | testvm1 | | progress | 0 | | project_id | 1043b30ac4d54c9f959dfc23803e85c7 | | properties | | | security_groups | name='b2687081-c69d-457f-9a2e-df0233fbd57f' | | status | BUILD | | updated | 2024-03-06T08:35:56Z | | user_id | f8396fe570a3459c973b535fa2d15d6a | | volumes_attached | | +-------------------------------------+-------------------------------------------- $ openstack floating ip list +--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+ | ID | Floating IP Address | Fixed IP Address | Port | Floating Network | Project | +--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+ | 73480d1b-eeb8-41fe-a925-7720ef8fbca9 | 172.16.214.32 | None | None | 8b4b8ca2-33d8-43d8-be5a-9e77cea99cfc | 1043b30ac4d54c9f959dfc23803e85c7 | | 9bac66f0-86f4-468e-b580-88f54938a688 | 172.16.214.63 | None | None | 8b4b8ca2-33d8-43d8-be5a-9e77cea99cfc | 1043b30ac4d54c9f959dfc23803e85c7 | | d2e132d6-0898-4cf8-a796-7fa3e9e2665d | 172.16.214.61 | None | None | 8b4b8ca2-33d8-43d8-be5a-9e77cea99cfc | 1043b30ac4d54c9f959dfc23803e85c7 | +--------------------------------------+---------------------+------------------+------+--------------------------------------+----------------------------------+ -----+ $ openstack server add floating ip testvm1 172.16.214.61 $ openstack server list +--------------------------------------+---------+--------+---------------------------------------+-------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+---------+--------+---------------------------------------+-------+----------+ | 9b3925bd-8f41-434d-8973-da72f2cafd01 | testvm1 | ACTIVE | user-net=192.168.1.159, 172.16.214.61 | | m1.micro | +--------------------------------------+---------+--------+---------------------------------------+-------+----------+ $ ping -c3 172.16.214.61 PING 172.16.214.61 (172.16.214.61) 56(84) bytes of data. 64 bytes from 172.16.214.61: icmp_seq=1 ttl=62 time=3.37 ms 64 bytes from 172.16.214.61: icmp_seq=2 ttl=62 time=1.58 ms 64 bytes from 172.16.214.61: icmp_seq=3 ttl=62 time=0.690 ms --- 172.16.214.61 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.690/1.880/3.369/1.113 ms The authenticity of host '172.16.214.61 (172.16.214.61)' can't be established. ECDSA key fingerprint is SHA256:xxxxx. Are you sure you want to continue connecting (yes/no/[fingerprint])?