搭建多OpenStack多节点私有云平台)(七)(创建实例)
创建一个网络实例
1、命令创建云主机
-
创建虚拟网络创建网络
-
在控制节点上,加载
admin凭证来获取管理员能执行的命令访问权限:$ . admin-openrc -
创建网络:
--shared 共享的;
--provider:physical_network provider:物理网络名词叫:provider;
与配置文件里 [root@controller ~]# cat /etc/neutron/plugins/ml2/ml2_conf.ini 的物理网络一样flat类型
--provider:network_type flat myprovider创建的网络名字交myprovider
$ neutron net-create --shared --provider:physical_network provider \ --provider:network_type flat myprovider +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | True | | availability_zone_hints | | | availability_zones | | | created_at | 2020-11-23T05:16:40Z | | description | | | id | fb2e720c-f8a7-4e68-b4cb-ed3b9ea67223 | | ipv4_address_scope | | | ipv6_address_scope | | | mtu | 1500 | | name | myprovider | | port_security_enabled | True | | project_id | 144d035e5f604e5383fc3cc4e1ce5b3c | | provider:network_type | flat | | provider:physical_network | provider | | provider:segmentation_id | | | revision_number | 2 | | router:external | False | | shared | True | | status | ACTIVE | | subnets | | | tags | | | tenant_id | 144d035e5f604e5383fc3cc4e1ce5b3c | | updated_at | 2020-11-23T05:16:40Z | +---------------------------+--------------------------------------+查看配置文件有没有以下内容:
/etc/neutron/plugins/ml2/ml2_conf.ini:[ml2_type_flat] flat_networks = provider/etc/neutron/plugins/ml2/linuxbridge_agent.ini:[linux_bridge] physical_interface_mappings = provider:ens33 -
在网络上创建一个子网:
$ neutron subnet-create --name provider \ --allocation-pool start=START_IP_ADDRESS,end=END_IP_ADDRESS \ --dns-nameserver DNS_RESOLVER --gateway PROVIDER_NETWORK_GATEWAY \ provider PROVIDER_NETWORK_CIDR使用提供者物理网络的子网CIDR标记替换
PROVIDER_NETWORK_CIDR。将
START_IP_ADDRESS和END_IP_ADDRESS使用你想分配给实例的子网网段的第一个和最后一个IP地址。这个范围不能包括任何已经使用的IP地址。将
DNS_RESOLVER替换为DNS解析服务的IP地址。在大多数情况下,你可以从主机/etc/resolv.conf文件选择一个使用。将
PUBLIC_NETWORK_GATEWAY替换为公共网络的网关,一般的网关IP地址以 ”.1” 结尾。例子
公共网络203.0.113.0/24的网关为203.0.113.1。DHCP服务为每个实例分配IP,IP从203.0.113.101 到 203.0.113.200。所有实例的DNS使用8.8.4.4。
$ neutron subnet-create --name myproviderps \ --allocation-pool start=192.168.25.230,end=192.168.25.240 \ --dns-nameserver 114.114.114.114 --gateway 192.168.25.2 \ myprovider 192.168.25.0/24 +-------------------+------------------------------------------------------+ | Field | Value | +-------------------+------------------------------------------------------+ | allocation_pools | {"start": "192.168.25.230", "end": "192.168.25.240"} | | cidr | 192.168.25.0/24 | | created_at | 2020-11-23T05:27:44Z | | description | | | dns_nameservers | 114.114.114.114 | | enable_dhcp | True | | gateway_ip | 192.168.25.2 | | host_routes | | | id | 22d0df96-db82-4ab2-bf99-7d8bcf6be4aa | | ip_version | 4 | | ipv6_address_mode | | | ipv6_ra_mode | | | name | myproviderps | | network_id | cb5f2225-2d0f-4c04-9493-0e9e8b546990 | | project_id | 144d035e5f604e5383fc3cc4e1ce5b3c | | revision_number | 0 | | service_types | | | subnetpool_id | | | tags | | | tenant_id | 144d035e5f604e5383fc3cc4e1ce5b3c | | updated_at | 2020-11-23T05:27:44Z | +-------------------+------------------------------------------------------+
-
-
创建规格
默认的最小规格的主机需要512 MB内存。对于环境中计算节点内存不足4 GB的,我们推荐创建只需要64 MB的
m1.nano规格的主机。若单纯为了测试的目的,请使用m1.nano规格的主机来加载CirrOS镜像--disk 1 硬盘需要1G
$ 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 | | properties | | | ram | 64 | | rxtx_factor | 1.0 | | swap | | | vcpus | 1 | +----------------------------+---------+查看有哪些硬件规程方案
[root@controller ~]# openstack flavor list -
生成键值对
-
生成和添加秘钥对:
$ ssh-keygen -q -N "" Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa already exists. Overwrite (y/n)? $ openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey +-------------+-------------------------------------------------+ | Field | Value | +-------------+-------------------------------------------------+ | fingerprint | 91:42:8a:af:f6:e0:a1:8d:5b:df:d7:30:d7:3a:2b:24 | | name | mykey | | user_id | d2f32ce32f764264afa783e11c5e6e92 | +-------------+-------------------------------------------------+ -
验证公钥的添加:
$ openstack keypair list +-------+-------------------------------------------------+ | Name | Fingerprint | +-------+-------------------------------------------------+ | mykey | 91:42:8a:af:f6:e0:a1:8d:5b:df:d7:30:d7:3a:2b:24 | +-------+-------------------------------------------------+
-
-
增加安全组规则
添加规则到
default安全组。-
允许 ICMP (ping):
$ openstack security group rule create --proto icmp default +-------------------+--------------------------------------+ | Field | Value | +-------------------+--------------------------------------+ | created_at | 2020-11-23T01:04:44Z | | description | | | direction | ingress | | ether_type | IPv4 | | id | 8429fc67-e19a-4afd-b2e2-0241beda99f2 | | name | None | | port_range_max | None | | port_range_min | None | | project_id | 144d035e5f604e5383fc3cc4e1ce5b3c | | protocol | icmp | | remote_group_id | None | | remote_ip_prefix | 0.0.0.0/0 | | revision_number | 0 | | security_group_id | 187247aa-8278-4df7-8be3-3e1473dd683a | | updated_at | 2020-11-23T01:04:44Z | +-------------------+--------------------------------------+ -
允许安全 shell (SSH) 的访问:
$ openstack security group rule create --proto tcp --dst-port 22 default +-------------------+--------------------------------------+ | Field | Value | +-------------------+--------------------------------------+ | created_at | 2020-11-23T01:05:33Z | | description | | | direction | ingress | | ether_type | IPv4 | | id | c4cb0fb5-3930-43ac-9ddc-4a1818040bfd | | name | None | | port_range_max | 22 | | port_range_min | 22 | | project_id | 144d035e5f604e5383fc3cc4e1ce5b3c | | protocol | tcp | | remote_group_id | None | | remote_ip_prefix | 0.0.0.0/0 | | revision_number | 0 | | security_group_id | 187247aa-8278-4df7-8be3-3e1473dd683a | | updated_at | 2020-11-23T01:05:33Z | +-------------------+--------------------------------------+
-
-
确定实例环境
-
一个实例指定了虚拟机资源的大致分配,包括处理器、内存和存储。
列出可用类型:
$ openstack flavor list +----+---------+-----+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +----+---------+-----+------+-----------+-------+-----------+ | 0 | m1.nano | 64 | 1 | 0 | 1 | True | +----+---------+-----+------+-----------+-------+-----------+ -
列出可用镜像:
$ openstack image list +--------------------------------------+--------+--------+ | ID | Name | Status | +--------------------------------------+--------+--------+ | d81bc2ba-ffcf-402c-abe4-62dd062d583f | cirros | active | +--------------------------------------+--------+--------+这个实例使用
cirros镜像。 -
列出可用网络:
$ openstack network list +--------------------------------------+------------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+------------+--------------------------------------+ | 2af382f6-5935-489c-8962-53a0b91609bd | myprovider | 3f3f0c5b-19d9-4f29-91cb-0ff4a2e3e954 | +--------------------------------------+------------+--------------------------------------+ -
列出可用的安全组:
$ openstack security group list +--------------------------------------+---------+-------------+----------------------------------+ | ID | Name | Description | Project | +--------------------------------------+---------+-------------+----------------------------------+ | 187247aa-8278-4df7-8be3-3e1473dd683a | default | 缺省安全组 | 144d035e5f604e5383fc3cc4e1ce5b3c | +--------------------------------------+---------+-------------+----------------------------------+这个实例使用
default安全组。
-
-
创建实例
-
启动实例:
使用
provider公有网络的ID替换PUBLIC_NET_ID。如果你选择选项1并且你的环境只有一个网络,你可以省去
–nic选项因为OpenStack会自动选择这个唯一可用的网络。$ openstack server create --flavor m1.tiny --image cirros \ --nic net-id=PROVIDER_NET_ID --security-group default \ --key-name mykey provider-instance例子:
# neutron net-list +--------------------------------------+------------+----------------------------------+------------------------------------------------------+ | id | name | tenant_id | subnets | +--------------------------------------+------------+----------------------------------+------------------------------------------------------+ | 2af382f6-5935-489c-8962-53a0b91609bd | myprovider | 144d035e5f604e5383fc3cc4e1ce5b3c | 3f3f0c5b-19d9-4f29-91cb-0ff4a2e3e954 192.168.25.0/24 | +--------------------------------------+------------+----------------------------------+------------------------------------------------------+ $ openstack server create --flavor m1.nano --image cirros --security-group default --key-name mykey computer1 +-------------------------------------+-----------------------------------------------+ | 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 | d9ZD8cupQ6yu | | config_drive | | | created | 2020-11-23T01:07:32Z | | flavor | m1.nano (0) | | hostId | | | id | 50a8fc9c-e73c-4056-a371-e92f07d4994b | | image | cirros (d81bc2ba-ffcf-402c-abe4-62dd062d583f) | | key_name | mykey | | name | computer1 | | progress | 0 | | project_id | 144d035e5f604e5383fc3cc4e1ce5b3c | | properties | | | security_groups | name='187247aa-8278-4df7-8be3-3e1473dd683a' | | status | BUILD | | updated | 2020-11-23T01:07:32Z | | user_id | d2f32ce32f764264afa783e11c5e6e92 | | volumes_attached | | +-------------------------------------+-----------------------------------------------+ -
检查实例的状态:
[root@controller ~]# openstack server list +--------------------------------------+-----------+--------+---------------------------+---------+---------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-----------+--------+---------------------------+---------+---------+ | d6768be9-d93f-4c6c-9e62-e98c560878fb | computer1 | ACTIVE | myprovider=192.168.16.165 | cirros5 | m1.nano | +--------------------------------------+-----------+--------+---------------------------+---------+---------+ [root@controller ~]# nova list +--------------------------------------+-----------+--------+------------+-------------+---------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-----------+--------+------------+-------------+---------------------------+ | d6768be9-d93f-4c6c-9e62-e98c560878fb | computer1 | ACTIVE | - | Running | myprovider=192.168.16.165 | +--------------------------------------+-----------+--------+------------+-------------+---------------------------+
-
当构建过程完全成功后,状态会从 BUILD``变为``ACTIVE。
实例存放位置:
查看有没有弄好:
[root@compute1 _base]# cd /var/lib/nova/instances/
[root@compute1 instances]# ls
_base compute_nodes d6768be9-d93f-4c6c-9e62-e98c560878fb locks
[root@compute1 instances]# cd d6768be9-d93f-4c6c-9e62-e98c560878fb/
[root@compute1 d6768be9-d93f-4c6c-9e62-e98c560878fb]# ls
console.log disk disk.info
[root@compute1 d6768be9-d93f-4c6c-9e62-e98c560878fb]# ll -h
total 204K
-rw------- 1 root root 0 Nov 22 12:22 console.log
-rw-r--r-- 1 qemu qemu 257K Nov 22 12:22 disk
-rw-r--r-- 1 nova nova 79 Nov 22 12:22 disk.info
-
使用虚拟机访问实例
-
获取你实例的 Virtual Network Computing (VNC) 会话URL并从web浏览器访问它:
$ openstack console url show provider-instance注解
如果你运行浏览器的主机无法解析
controller主机名,你可以将 [](https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/launch-instance-provider.html#id1)controller替换为你控制节点管理网络的IP地址。CirrOS 镜像包含传统的用户名/密码认证方式并需在登录提示中提供这些这些认证。登录到 CirrOS 后,我们建议您验证使用
ping验证网络的连通性。[root@controller ~]# openstack console url show computer1 +-------+---------------------------------------------------------------------------------+ | Field | Value | +-------+---------------------------------------------------------------------------------+ | type | novnc | | url | http://controller:6080/vnc_auto.html?token=8757eda3-f872-4619-a2c0-d4482e46792d | +-------+---------------------------------------------------------------------------------+备注:
1、需要修改C:\Windows\System32\drivers\etc\hosts文件的解析,添加controller解析地址
2、修改计算节点的nova.conf
[root@compute1 ~]# vi /etc/nova/nova.conf [libvirt] virt_type = qemu cpu_mode = none重启计算服务:
[root@compute1 ~]# systemctl restart libvirtd.service openstack-nova-compute.service然后硬重启实例
-
查看日志文件
less /var/log/nova/nova-compute.log

浙公网安备 33010602011771号