分享

OpenStack启动一个实例

 心本心123 2022-03-08

一、第一次启动实例需要步骤

1:创建openstack网络

2:   创建实例的硬件配置方案

3:创建密钥对

4:创建安全组规则

5:启动一个实例

二、启动实例实践(控制节点上操作)

1. 创建网络

复制代码
[root@controller ~]# neutron net-create --shared --provider:physical_network provider --provider:network_type flat test-net
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2020-11-19T14:46:02                  |
| description               |                                      |
| id                        | 2fcb8979-fc5f-41f0-a1ce-955c595d521e |
| ipv4_address_scope        |                                      |
| ipv6_address_scope        |                                      |
| mtu                       | 1500                                 |
| name                      | test-net                             |
| port_security_enabled     | True                                 |
| provider:network_type     | flat                                 |
| provider:physical_network | provider                             |
| provider:segmentation_id  |                                      |
| router:external           | False                                |
| shared                    | True                                 |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tags                      |                                      |
| tenant_id                 | 9a6e662b63de48eeb651a3332c74b092     |
| updated_at                | 2020-11-19T14:46:02                  |
+---------------------------+--------------------------------------+
复制代码

创建子网

复制代码
[root@controller ~]# neutron subnet-create --name test-subnet --allocation-pool start=10.0.0.101,end=10.0.0.250 --dns-nameserver 223.5.5.5 --gateway 10.0.0.254 test-net 10.0.0.0/24
Created a new subnet:
+-------------------+----------------------------------------------+
| Field             | Value                                        |
+-------------------+----------------------------------------------+
| allocation_pools  | {'start': '10.0.0.101', 'end': '10.0.0.250'} |
| cidr              | 10.0.0.0/24                                  |
| created_at        | 2020-11-19T14:48:23                          |
| description       |                                              |
| dns_nameservers   | 223.5.5.5                                    |
| enable_dhcp       | True                                         |
| gateway_ip        | 10.0.0.254                                   |
| host_routes       |                                              |
| id                | 013e3bc4-e0b4-4dd6-badb-d6d1d04e934b         |
| ip_version        | 4                                            |
| ipv6_address_mode |                                              |
| ipv6_ra_mode      |                                              |
| name              | test-subnet                                  |
| network_id        | 2fcb8979-fc5f-41f0-a1ce-955c595d521e         |
| subnetpool_id     |                                              |
| tenant_id         | 9a6e662b63de48eeb651a3332c74b092             |
| updated_at        | 2020-11-19T14:48:23                          |
+-------------------+----------------------------------------------+
复制代码

2. 创建云主机的硬件配置方案

查看硬件配置

复制代码
[root@controller ~]# openstack flavor list
+----+-----------+-------+------+-----------+-------+-----------+
| ID | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+-----------+-------+------+-----------+-------+-----------+
| 1  | m1.tiny   |   512 |    1 |         0 |     1 | True      |
| 2  | m1.small  |  2048 |   20 |         0 |     1 | True      |
| 3  | m1.medium |  4096 |   40 |         0 |     2 | True      |
| 4  | m1.large  |  8192 |   80 |         0 |     4 | True      |
| 5  | m1.xlarge | 16384 |  160 |         0 |     8 | True      |
+----+-----------+-------+------+-----------+-------+-----------+
复制代码

创建一个64M的 1个CPU的flavor

复制代码
[root@controller ~]# openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
+----------------------------+---------+
| Field                      | Value   |
+----------------------------+---------+
| OS-FLV-DISABLED:disabled   | False   |
| OS-FLV-EXT-DATA:ephemeral  | 0       |
| disk                       | 1       |
| id                         | 0       |
| name                       | m1.nano |
| os-flavor-access:is_public | True    |
| ram                        | 64      |
| rxtx_factor                | 1.0     |
| swap                       |         |
| vcpus                      | 1       |
+----------------------------+---------+
复制代码
复制代码
[root@controller ~]# openstack flavor list
+----+-----------+-------+------+-----------+-------+-----------+
| ID | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+-----------+-------+------+-----------+-------+-----------+
| 0  | m1.nano   |    64 |    1 |         0 |     1 | True      |
| 1  | m1.tiny   |   512 |    1 |         0 |     1 | True      |
| 2  | m1.small  |  2048 |   20 |         0 |     1 | True      |
| 3  | m1.medium |  4096 |   40 |         0 |     2 | True      |
| 4  | m1.large  |  8192 |   80 |         0 |     4 | True      |
| 5  | m1.xlarge | 16384 |  160 |         0 |     8 | True      |
+----+-----------+-------+------+-----------+-------+-----------+
复制代码

3. 创建密钥对

复制代码
[root@controller ~]# ssh-keygen -q -N '' -f ~/.ssh/id_rsa
[root@controller ~]# ll /root/.ssh/
total 12
-rw------- 1 root root 1675 Nov 19 22:53 id_rsa
-rw-r--r-- 1 root root  397 Nov 19 22:53 id_rsa.pub
-rw-r--r-- 1 root root  171 Nov 18 17:01 known_hosts
[root@controller
~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey +-------------+-------------------------------------------------+ | Field | Value | +-------------+-------------------------------------------------+ | fingerprint | e3:4f:b0:3d:4d:6a:b4:ce:ae:93:e8:03:ef:9d:86:a3 | | name | mykey | | user_id | 10e57203019442eb85062f7e90e5604b | +-------------+-------------------------------------------------+
复制代码

4. 创建安全组规则

创建2条规则(tcp和icmp)

复制代码
[root@controller ~]# openstack security group rule create --proto icmp default
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| id                    | 4b909adf-3230-4b7f-8d1b-f87f890de599 |
| ip_protocol           | icmp                                 |
| ip_range              | 0.0.0.0/0                            |
| parent_group_id       | c7bf606a-69b5-4b6e-982e-aa597e7c7519 |
| port_range            |                                      |
| remote_security_group |                                      |
+-----------------------+--------------------------------------+
[root@controller ~]# openstack security group rule create --proto tcp --dst-port 22 default
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| id                    | 1e7ff4f2-7e6c-4713-a59a-c15d8a32dd86 |
| ip_protocol           | tcp                                  |
| ip_range              | 0.0.0.0/0                            |
| parent_group_id       | c7bf606a-69b5-4b6e-982e-aa597e7c7519 |
| port_range            | 22:22                                |
| remote_security_group |                                      |
+-----------------------+--------------------------------------+
复制代码

5. 启动一个实例

查看实例需要的镜像和网络

复制代码
[root@controller ~]# openstack image list
+--------------------------------------+--------+--------+
| ID                                   | Name   | Status |
+--------------------------------------+--------+--------+
| 0dc22fbc-be1c-4fe8-9b0f-138e486fd3af | cirros | active |
+--------------------------------------+--------+--------+
[root@controller ~]# neutron net list
Unknown command [u'net', u'list']
[root@controller ~]# neutron net-list
+--------------------------------------+----------+--------------------------------------------------+
| id                                   | name     | subnets                                          |
+--------------------------------------+----------+--------------------------------------------------+
| 2fcb8979-fc5f-41f0-a1ce-955c595d521e | test-net | 013e3bc4-e0b4-4dd6-badb-d6d1d04e934b 10.0.0.0/24 |
+--------------------------------------+----------+--------------------------------------------------+
复制代码

创建实例

复制代码
[root@controller ~]# openstack server create --flavor m1.nano --image cirros --nic net-id=2fcb8979-fc5f-41f0-a1ce-955c595d521e --security-group default --key-name mykey test-vm
+--------------------------------------+-----------------------------------------------+
| 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        | instance-00000001                             |
| OS-EXT-STS:power_state               | 0                                             |
| 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                            | uymPLgZi545T                                  |
| config_drive                         |                                               |
| created                              | 2020-11-19T15:02:09Z                          |
| flavor                               | m1.nano (0)                                   |
| hostId                               |                                               |
| id                                   | 82e12d66-f233-4eab-acc8-12e8f2a96aec          |
| image                                | cirros (0dc22fbc-be1c-4fe8-9b0f-138e486fd3af) |
| key_name                             | mykey                                         |
| name                                 | test-vm                                       |
| os-extended-volumes:volumes_attached | []                                            |
| progress                             | 0                                             |
| project_id                           | 9a6e662b63de48eeb651a3332c74b092              |
| properties                           |                                               |
| security_groups                      | [{u'name': u'default'}]                       |
| status                               | BUILD                                         |
| updated                              | 2020-11-19T15:02:11Z                          |
| user_id                              | 10e57203019442eb85062f7e90e5604b              |
+--------------------------------------+-----------------------------------------------+
复制代码

查看实例状态

复制代码
[root@controller ~]# openstack server list
+--------------------------------------+---------+--------+---------------------+
| ID                                   | Name    | Status | Networks            |
+--------------------------------------+---------+--------+---------------------+
| 82e12d66-f233-4eab-acc8-12e8f2a96aec | test-vm | ACTIVE | test-net=10.0.0.102 |
+--------------------------------------+---------+--------+---------------------+
[root@controller ~]# nova list
+--------------------------------------+---------+--------+------------+-------------+---------------------+
| ID                                   | Name    | Status | Task State | Power State | Networks            |
+--------------------------------------+---------+--------+------------+-------------+---------------------+
| 82e12d66-f233-4eab-acc8-12e8f2a96aec | test-vm | ACTIVE | -          | Running     | test-net=10.0.0.102 |
+--------------------------------------+---------+--------+------------+-------------+---------------------+
复制代码

6. 在计算节点查看虚拟机

安装virsh命令的包

[root@computer1 ~]# yum install libvirt -y
复制代码
[root@computer1 ~]# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-11-19 23:07:07 CST; 50s ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 7865 (libvirtd)
   CGroup: /system.slice/libvirtd.service
           ├─7865 /usr/sbin/libvirtd
           ├─7999 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libv...
           └─8000 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libv...

Nov 19 23:07:07 computer1 systemd[1]: Started Virtualization daemon.
Nov 19 23:07:23 computer1 dnsmasq[7999]: started, version 2.76 cachesize 150
Nov 19 23:07:23 computer1 dnsmasq[7999]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN DHCP DHCPv6 no-Lua TFTP no-co...inotify
Nov 19 23:07:23 computer1 dnsmasq-dhcp[7999]: DHCP, IP range 192.168.122.2 -- 192.168.122.254, lease time 1h
Nov 19 23:07:23 computer1 dnsmasq-dhcp[7999]: DHCP, sockets bound exclusively to interface virbr0
Nov 19 23:07:23 computer1 dnsmasq[7999]: reading /etc/resolv.conf
Nov 19 23:07:23 computer1 dnsmasq[7999]: using nameserver 223.5.5.5#53
Nov 19 23:07:23 computer1 dnsmasq[7999]: read /etc/hosts - 4 addresses
Nov 19 23:07:23 computer1 dnsmasq[7999]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Nov 19 23:07:23 computer1 dnsmasq-dhcp[7999]: read /var/lib/libvirt/dnsmasq/default.hostsfile
Hint: Some lines were ellipsized, use -l to show in full.
复制代码

查看虚拟机

复制代码
[root@computer1 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     instance-00000001              running

[root@computer1 ~]# netstat -lntup |grep 5900
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      7666/qemu-kvm       
[root@computer1 ~]# 
复制代码

在控制节点上再创建一个实例

复制代码
[root@controller ~]# openstack server create --flavor m1.nano --image cirros --nic net-id=2fcb8979-fc5f-41f0-a1ce-955c595d521e --security-group default --key-name mykey test-vm2
+--------------------------------------+-----------------------------------------------+
| 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        | instance-00000002                             |
| OS-EXT-STS:power_state               | 0                                             |
| 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                            | vGQYgLz48aLi                                  |
| config_drive                         |                                               |
| created                              | 2020-11-19T15:10:40Z                          |
| flavor                               | m1.nano (0)                                   |
| hostId                               |                                               |
| id                                   | 854e2371-a45c-45cf-91d3-5c70a7be1fd9          |
| image                                | cirros (0dc22fbc-be1c-4fe8-9b0f-138e486fd3af) |
| key_name                             | mykey                                         |
| name                                 | test-vm2                                      |
| os-extended-volumes:volumes_attached | []                                            |
| progress                             | 0                                             |
| project_id                           | 9a6e662b63de48eeb651a3332c74b092              |
| properties                           |                                               |
| security_groups                      | [{u'name': u'default'}]                       |
| status                               | BUILD                                         |
| updated                              | 2020-11-19T15:10:40Z                          |
| user_id                              | 10e57203019442eb85062f7e90e5604b              |
+--------------------------------------+-----------------------------------------------+
复制代码
复制代码
[root@controller ~]# nova list
+--------------------------------------+----------+--------+------------+-------------+---------------------+
| ID                                   | Name     | Status | Task State | Power State | Networks            |
+--------------------------------------+----------+--------+------------+-------------+---------------------+
| 82e12d66-f233-4eab-acc8-12e8f2a96aec | test-vm  | ACTIVE | -          | Running     | test-net=10.0.0.102 |
| 854e2371-a45c-45cf-91d3-5c70a7be1fd9 | test-vm2 | ACTIVE | -          | Running     | test-net=10.0.0.103 |
+--------------------------------------+----------+--------+------------+-------------+---------------------+
复制代码

计算节点上查看虚拟机

复制代码
[root@computer1 ~]# virsh list
 Id    Name                           State
----------------------------------------------------
 1     instance-00000001              running
 2     instance-00000002              running

[root@computer1 ~]# netstat -lntup 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      7666/qemu-kvm       
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      8116/qemu-kvm       
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      7999/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1161/sshd           
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      7119/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      1161/sshd           
udp        0      0 192.168.122.1:53        0.0.0.0:*                           7999/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           7999/dnsmasq        
udp        0      0 127.0.0.1:323           0.0.0.0:*                           936/chronyd         
udp6       0      0 ::1:323                 :::*                                936/chronyd         
复制代码

7 在web页面上查看

三、web页面创建实例操作

1. 启动实例

点击启动实例

2. 控制台登录实例

解决办法:在windows的host配置文件中添加controller解析ip地址

刷新后报错如下(如果实例卡在gurb界面)

解决办法:

在计算节点上修改/etc/nova/nova.conf配置文件

复制代码
[root@computer1 ~]# openstack-config --set /etc/nova/nova.conf  libvirt cpu_mode  none
[root@computer1 ~]# openstack-config --set /etc/nova/nova.conf  libvirt virt_type  qemu
[root@computer1 ~]# cat /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 10.0.0.12
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api_database]
[barbican]
[cache]
[cells]
[cinder]
[conductor]
[cors]
[cors.subdomain]
[database]
[ephemeral_storage_encryption]
[glance]
api_servers = http://controller:9292
[guestfs]
[hyperv]
[image_file_url]
[ironic]
[keymgr]
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 123456
[libvirt]
cpu_mode = none
virt_type = qemu
[matchmaker_redis]
[metrics]
[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = 123456
[osapi_v21]
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
rabbit_host = 10.0.0.11
rabbit_userid = openstack
rabbit_password = 123456
[oslo_middleware]
[oslo_policy]
[rdp]
[serial_console]
[spice]
[ssl]
[trusted_computing]
[upgrade_levels]
[vmware]
[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
[workarounds]
[xenserver]
复制代码
复制代码
#重启openstack-nova-compute服务
[root@computer1 ~]# systemctl restart openstack-nova-compute.service [root@computer1 ~]# systemctl status openstack-nova-compute.service ● openstack-nova-compute.service - OpenStack Nova Compute Server Loaded: loaded (/usr/lib/systemd/system/openstack-nova-compute.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-11-19 23:43:04 CST; 10s ago Main PID: 9389 (nova-compute) CGroup: /system.slice/openstack-nova-compute.service └─9389 /usr/bin/python2 /usr/bin/nova-compute Nov 19 23:42:44 computer1 systemd[1]: Starting OpenStack Nova Compute Server... Nov 19 23:43:04 computer1 nova-compute[9389]: /usr/lib/python2.7/site-packages/pkg_resources/__init__.py:187: RuntimeWarning: You ha... Nov 19 23:43:04 computer1 nova-compute[9389]: stacklevel=1, Nov 19 23:43:04 computer1 systemd[1]: Started OpenStack Nova Compute Server. Hint: Some lines were ellipsized, use -l to show in full.
复制代码

3. 重启实例,登录实例控制台

4. 控制节点免秘钥登录,登录成功

复制代码
[root@controller ~]# ssh cirros@10.0.0.102
The authenticity of host '10.0.0.102 (10.0.0.102)' can't be established.
RSA key fingerprint is SHA256:bqTdki/sHHJAcMAJsL+pBXjvc1E0/g7F8F6DUVEtiz4.
RSA key fingerprint is MD5:4e:c9:ea:05:16:9f:88:52:e4:fe:66:fc:0c:fa:df:f8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.102' (RSA) to the list of known hosts.
$ cat /etc/os-release 
NAME=Buildroot
VERSION=2012.05
ID=buildroot
VERSION_ID=2012.05
PRETTY_NAME='Buildroot 2012.05'
$ 
复制代码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多