当前位置:   article > 正文

OpenStack(1)--创建实例_openstack创建实例

openstack创建实例

目录

一、上传镜像

1.1 新建目录

1.2 上传至glance

1.3 查看镜像

二、新建实例

2.1 获取秘钥

2.2 新建实例

2.3 新建实例admin-vm

2.4 获取实例VNC的url

2.5 nova常用命令


一、上传镜像

1.1 新建目录

上传名为cirros-0.3.4-x86_64-disk.img的Linux测试镜像,cirros镜像通常用来做测试用,仅12M大小,方便测试。

新建用于存放镜像的目录,此处如果wget失败需要在宿主机下载后用xftp传入虚拟机/opt/images目录。

  1. source /root/keystonerc_admin
  2. mkdir /opt/images
  3. cd /opt/images
  4. wget https://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

1.2 上传至glance

 上传至glance服务,glance image-create --name cirros-0.3.4-x86_64 --disk-format qcow2 --container-format bare --file /opt/images/cirros-0.3.4-x86_64-disk.img  --visibility public --progress

 命令解释:

--name 镜像名称

--disk-format 镜像的磁盘格式,支持:ami, ari, aki, vhd, vmdk, raw, qcow2, vdi,iso 格式

--container-format 镜像容器格式,支持:ami, ari, aki, bare, ovf 格式

--file 镜像路径

--visibility 镜像是否可以被公共访问,此处设置为公共镜像

--progress 显示上传进度条

  1. [root@openstack images(keystone_admin)]# glance image-create --name cirros-0.3.4-x86_64 --disk-format qcow2 --container-format bare --file /opt/images/cirros-0.3.4-x86_64-disk.img --visibility public --progress
  2. [=============================>] 100%
  3. +------------------+--------------------------------------+
  4. | Property | Value |
  5. +------------------+--------------------------------------+
  6. | checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
  7. | container_format | bare |
  8. | created_at | 2023-06-07T13:38:26Z |
  9. | disk_format | qcow2 |
  10. | id | 041c0a42-adc2-4694-b932-7f01ae198919 |
  11. | min_disk | 0 |
  12. | min_ram | 0 |
  13. | name | cirros-0.3.4-x86_64 |
  14. | owner | 5de5c5079f4147a69f330e9ce20c7f1b |
  15. | protected | False |
  16. | size | 13287936 |
  17. | status | active |
  18. | tags | [] |
  19. | updated_at | 2023-06-07T13:38:26Z |
  20. | virtual_size | None |
  21. | visibility | public |
  22. +------------------+--------------------------------------+

1.3 查看镜像

使用 glance image-list 查看镜像列表或通过通过仪表盘查看,上传glance成功。不要使用 nova image-list,该命令已弃用。

  1. [root@openstack ~(keystone_admin)]# glance image-list
  2. +--------------------------------------+---------------------+
  3. | ID | Name |
  4. +--------------------------------------+---------------------+
  5. | 5955b3dc-00b3-4dec-b21a-a9605275faf2 | cirros |
  6. | 041c0a42-adc2-4694-b932-7f01ae198919 | cirros-0.3.4-x86_64 |
  7. +--------------------------------------+---------------------+

创建实例之前必须指定实例类型、镜像名、网络、安全组、密钥、实例名

查看可用实例类型 nova flavor-list ,默认五种类型

  1. [root@openstack ~(keystone_admin)]# nova flavor-list
  2. +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
  3. | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | Description |
  4. +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
  5. | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | - |
  6. | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | - |
  7. | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | - |
  8. | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | - |
  9. | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | - |
  10. +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+

查看可用网络 neutron net-list,默认一个公共网,一个内部网,外部网络表示与其他项目共用该网络。

  1. [root@openstack ~(keystone_admin)]# neutron net-list
  2. neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
  3. +--------------------------------------+---------+----------------------------------+----------------------------------------------------+
  4. | id | name | tenant_id | subnets |
  5. +--------------------------------------+---------+----------------------------------+----------------------------------------------------+
  6. | 39bf56a4-68a8-4f9c-af56-b7bf788a5c45 | public | 5de5c5079f4147a69f330e9ce20c7f1b | 4bdac25f-a68e-4ef5-b638-c7f9500957ce 172.24.4.0/24 |
  7. | 639cf33e-3ced-45a7-9d1e-542cd5aec015 | private | 2e506aef614242ee8f5fe824fdf74226 | 2034ab92-5372-47f5-89b0-88d17f9b26d2 10.0.0.0/24 |
  8. +--------------------------------------+---------+----------------------------------+----------------------------------------------------+

查看安全组 openstack security group list,不要使用 nova secgroup-list,该命令已弃用。

  1. [root@openstack images(keystone_admin)]# openstack security group list
  2. +--------------------------------------+---------+------------------------+----------------------------------+
  3. | ID | Name | Description | Project |
  4. +--------------------------------------+---------+------------------------+----------------------------------+
  5. | 18102e48-6a05-4901-ae9e-a0d43647a9f3 | default | Default security group | |
  6. | ec20a954-0572-428f-87a3-4916318fcadc | default | Default security group | 2e506aef614242ee8f5fe824fdf74226 |
  7. | f18bcb15-5573-4dd1-8de5-c201b5472ceb | default | Default security group | 5de5c5079f4147a69f330e9ce20c7f1b |
  8. +--------------------------------------+---------+------------------------+----------------------------------+

二、新建实例

2.1 获取秘钥

 获取密钥admin-key,获取后重启虚拟机秘钥仍然存在,秘钥跟账户是绑定的。

  1. source /root/keystonerc_admin
  2. nova keypair-add admin-key
  3. openstack keypair list
  4. [root@openstack images(keystone_admin)]# openstack keypair list
  5. +-----------+-------------------------------------------------+
  6. | Name | Fingerprint |
  7. +-----------+-------------------------------------------------+
  8. | admin-key | c0:83:d6:02:35:39:a9:6e:a0:4e:46:5a:52:af:3d:ec |
  9. +-----------+-------------------------------------------------+

查看nove列表,nova list,此时没有实例。

  1. [root@openstack ~(keystone_admin)]# nova list
  2. +----+------+--------+------------+-------------+----------+
  3. | ID | Name | Status | Task State | Power State | Networks |
  4. +----+------+--------+------------+-------------+----------+
  5. +----+------+--------+------------+-------------+----------+

2.2 新建实例

查看网络id,此处我使用的就是public网络,提前复制id号39bf56a4-68a8-4f9c-af56-b7bf788a5c45。

  1. [root@openstack ~(keystone_admin)]# neutron net-list
  2. neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
  3. +--------------------------------------+---------+----------------------------------+----------------------------------------------------+
  4. | id | name | tenant_id | subnets |
  5. +--------------------------------------+---------+----------------------------------+----------------------------------------------------+
  6. | 39bf56a4-68a8-4f9c-af56-b7bf788a5c45 | public | 5de5c5079f4147a69f330e9ce20c7f1b | 4bdac25f-a68e-4ef5-b638-c7f9500957ce 172.24.4.0/24 |
  7. | 639cf33e-3ced-45a7-9d1e-542cd5aec015 | private | 2e506aef614242ee8f5fe824fdf74226 | 2034ab92-5372-47f5-89b0-88d17f9b26d2 10.0.0.0/24 |
  8. +--------------------------------------+---------+----------------------------------+----------------------------------------------------+

2.3 新建实例admin-vm

nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 --nic net-id=39bf56a4-68a8-4f9c-af56-b7bf788a5c45 --security-group default --key-name admin-key admin-vm

命令解释:

--flavor 实例类型

--image 镜像名,必须先上传至glance服务,通过 glance image-list 查看镜像列表

--nic 使用网络,net-id= 填写网络id号

-security-group 安全组

--key-name 选择秘钥

admin-vm 实例名,可随意取

  1. [root@openstack images(keystone_admin)]# nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 --nic net-id=39bf56a4-68a8-4f9c-af56-b7bf788a5c45 --security-group default --key-name admin-key admin-vm
  2. +--------------------------------------+------------------------------------------------------------+
  3. | Property | Value |
  4. +--------------------------------------+------------------------------------------------------------+
  5. | OS-DCF:diskConfig | MANUAL |
  6. | OS-EXT-AZ:availability_zone | |
  7. | OS-EXT-SRV-ATTR:host | - |
  8. | OS-EXT-SRV-ATTR:hostname | admin-vm |
  9. | OS-EXT-SRV-ATTR:hypervisor_hostname | - |
  10. | OS-EXT-SRV-ATTR:instance_name | |
  11. | OS-EXT-SRV-ATTR:kernel_id | |
  12. | OS-EXT-SRV-ATTR:launch_index | 0 |
  13. | OS-EXT-SRV-ATTR:ramdisk_id | |
  14. | OS-EXT-SRV-ATTR:reservation_id | r-1x8lssuk |
  15. | OS-EXT-SRV-ATTR:root_device_name | - |
  16. | OS-EXT-SRV-ATTR:user_data | - |
  17. | OS-EXT-STS:power_state | 0 |
  18. | OS-EXT-STS:task_state | scheduling |
  19. | OS-EXT-STS:vm_state | building |
  20. | OS-SRV-USG:launched_at | - |
  21. | OS-SRV-USG:terminated_at | - |
  22. | accessIPv4 | |
  23. | accessIPv6 | |
  24. | adminPass | uirGY9o8kaL6 |
  25. | config_drive | |
  26. | created | 2023-06-07T15:54:32Z |
  27. | description | - |
  28. | flavor:disk | 1 |
  29. | flavor:ephemeral | 0 |
  30. | flavor:extra_specs | {} |
  31. | flavor:original_name | m1.tiny |
  32. | flavor:ram | 512 |
  33. | flavor:swap | 0 |
  34. | flavor:vcpus | 1 |
  35. | hostId | |
  36. | host_status | |
  37. | id | b5f47588-196a-40d6-a52b-7f2cd371f417 |
  38. | image | cirros-0.3.4-x86_64 (041c0a42-adc2-4694-b932-7f01ae198919) |
  39. | key_name | admin-key |
  40. | locked | False |
  41. | metadata | {} |
  42. | name | admin-vm |
  43. | os-extended-volumes:volumes_attached | [] |
  44. | progress | 0 |
  45. | security_groups | default |
  46. | status | BUILD |
  47. | tags | [] |
  48. | tenant_id | 5de5c5079f4147a69f330e9ce20c7f1b |
  49. | updated | 2023-06-07T15:54:32Z |
  50. | user_id | a6ecc9dfabd04180947bfad72c67e5d4 |
  51. +--------------------------------------+------------------------------------------------------------+

 查看实例列表nova list

  1. [root@openstack images(keystone_admin)]# nova list
  2. +--------------------------------------+----------+--------+------------+-------------+--------------------+
  3. | ID | Name | Status | Task State | Power State | Networks |
  4. +--------------------------------------+----------+--------+------------+-------------+--------------------+
  5. | b5f47588-196a-40d6-a52b-7f2cd371f417 | admin-vm | ACTIVE | - | Running | public=172.24.4.17 |
  6. +--------------------------------------+----------+--------+------------+-------------+--------------------+

 还可以通过virsh list查看

  1. [root@localhost images(keystone_admin)]# virsh list
  2. Id Name State
  3. ----------------------------------------------------
  4. 1 instance-00000001 running

还可以通过仪表盘查看 


 

2.4 获取实例VNC的url

实例新建成功,那么如何进入新建的实例呢?需要获取实例VNC的url ,nova get-vnc-console admin-vm novnc,每次使用该命令都会刷新url,url刷新后旧的url就会失效,实例重启后也需要重新获取url。

  1. [root@openstack images(keystone_admin)]# nova get-vnc-console admin-vm novnc
  2. +-------+-------------------------------------------------------------------------------------+
  3. | Type | Url |
  4. +-------+-------------------------------------------------------------------------------------+
  5. | novnc | http://192.168.136.56:6080/vnc_auto.html?token=6d463d80-8e49-4100-8cdf-f10d5fc94af2 |
  6. +-------+-------------------------------------------------------------------------------------+

拿到url后再浏览器输入即可进入实例的一个终端,进入后需要等待大概5分钟,才会出现“cirrors login:”表示实例正式启动成功,cirros镜像根据提示,账号名为cirros,密码为cubswin:)。

若出现Failed connect to server(code:1006)报错

查看是否实例是否启动,实例状态必须为ACTIVE,我遇到过两次实例自动关机的状况,最后发现是内存不足导致,推荐内存至少10G。

如果实例开机还是不行,添加hosts并重启nova服务

  1. vi /etc/hosts
  2. 192.168.136.56 openstack #添加,注意是主机名,如果你的主机名不是openstack,自行更改,保证可以ping通主机名就可以
  3. source /etc/hosts
  4. systemctl restart openstack-nova-compute.service
  5. [root@openstack ~(keystone_admin)]# ping openstack
  6. PING openstack (192.168.136.56) 56(84) bytes of data.
  7. 64 bytes from openstack (192.168.136.56): icmp_seq=1 ttl=64 time=0.034 ms
  8. 64 bytes from openstack (192.168.136.56): icmp_seq=2 ttl=64 time=0.035 ms

除了使用url登录还以直接通过仪表盘的“控制台”直接控制实例。

2.5 nova常用命令

  1. nova list #查看虚拟机
  2. nova show [vm-name][vm-id] #查看虚拟机详细信息
  3. nova reboot (--hard) [vm-name][vm-id] #硬重启实例,失败可以添加属性--hard,强制硬重启
  4. nova start [vm-name][vm-id]  #启动虚拟机
  5. nova stop [vm-name][vm-id]  #关闭虚拟机
  6. nova suspend [vm-name][vm-id]  #暂停虚拟机
  7. nova resume [vm-name][vm-id]  #启动暂停的虚拟机
  8. nova delete [vm-name][vm-id]  #删除虚拟机
  9. openstack compute service list #查看nova相关服务
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号