9.创建provider实例

创建provider网络

9.创建provider实例_第1张图片

 

controller节点

创建一个provider 网络,网络类型为 external
对于 provider 网络来说,实例通过 2 层(桥接网络)连接到提供商网 络。
参数说明:
--share: 允许所有项目都可以使用该网络
--external: 类型为连通外部的虚拟网络
--provider-physical-network: 指定网络的提供者为provider,由ml2_conf.ini文件的flflat_networks定义;
--provider-network-type flat: 映射到主机的网卡ens34,由linuxbridge_agent.ini文件的physical_interface_mappings定义;
source admin-openrc
openstack network create --share --external \
--provider-physical-network provider \
--provider-network-type flat provider

 查看网络

openstack network list

provider 网络指定子网的范围(该 provider 网络包括一个 DHCP 服务器为实例提供IP 地址)
参数说明:
--network: 指定网络名称;
--allocation-pool: 指定分配的地址池,start设定起始地址,end设置结束地址;
--dns-nameserver: 指定域名服务器,可以用8.8.4.4(google), 223.5.5.5(阿里云)等;
--gateway: 指定网关,设定宿主机的网络网关;
--subnet-range: 指定子网范围;
openstack subnet create --network provider \
--allocation-pool start=192.168.0.150,end=192.168.0.160
\
--dns-nameserver 223.5.5.5 --gateway 192.168.0.254 \
--subnet-range 192.168.0.0/24 provider

 这个根据自己的ip网段来设置,网关也是根据自己的来设置

9.创建provider实例_第2张图片

查看网络

openstack network list

创建VM实例规格flavor

创建一个名为m1.nano的flflavor
参数说明:
--id: 规格ID;
--vcpus: cpu数量;
--ram: 内存大小,单位Mb;
--disk: 磁盘空间大小,单位Gb;
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

9.创建provider实例_第3张图片

9.创建provider实例_第4张图片

 

配置密钥

openstack 支持用户使用公钥认证的方式创建实例,而不是传统的密码认证。 在启动实例之前,必须向计算服务添加公钥。

 9.创建provider实例_第5张图片

#切换到普通用户(以普通租户身份创建实例)
source demo-openrc
#生成密钥
ssh-keygen -q -N ""
Enter file in which to save the key (/root/.ssh/id_rsa): [回车]
#创建密钥到openstack中,并指定密钥名称mykey
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey

9.创建provider实例_第6张图片

添加安全组规则

在安全组规则中默认拒绝远程访问实例,所以需要放行安全组规则,允许ICMP(ping)和 SSH 访问
查看安全组
source demo-openrc
openstack security group list

添加icmp规则

openstack security group rule create --proto icmp default

查看安全组规则
openstack security group rule list

9.创建provider实例_第7张图片

provider网络启动实例

要启动实例,至少必须指定 flflavor glance 名称、网络、安全组 (ID) 、密钥和实例名称。
#切换到普通用户
source demo-openrc
#查看实例可用的规则
openstack flavor list

9.创建provider实例_第8张图片

#查看实例可用的安全组
openstack security group list

#查看实例可用的镜像
openstack image list
#查看实例可用的网络
openstack network list

9.创建provider实例_第9张图片

 

创建实例

参数说明:
--flavor: 指定实例使用的规则;
--image: 指定虚拟机使用的镜像文件;
--nic: 指定虚拟网卡使用的网络,net-id=网络ID;
--security-group: 指定虚拟机使用的安全组;
--key-name: 指定虚拟机使用的秘钥对名称;
提示:net-id=网络ID,要指定为openstack network list查出来的 ID
source demo-openrc
openstack server create --flavor m1.nano --image cirros \
--nic net-id=75e80634-9703-4297-adc8-36c442511464 --
security-group default \
--key-name mykey provider-instance
openstack server create --flavor m1.nano --image cirros \
--nic net-id=01f538b6-b217-432c-a025-d9732c1eb167 --
security-group default \
--key-name mykey provider-instance

9.创建provider实例_第10张图片 查看实例 

openstack server list

提示:如果创建失败,查看相关日志信息:
controller 节点 nova-api 日志: grep -i ERROR /var/log/nova/nova-api.log
compute 节点 nova-compute 日志: grep -i ERROR /var/log/nova/nova-compute.log

 在计算节点查看实例

compute节点

virsh list

9.创建provider实例_第11张图片

访问实例

此时的实例默认无法访问,应为该实例的网段地址我们并没有在物理节点配置过对应的网关,所以先按照官方提供的方案,先获取虚拟机的VNC 地址

controller节点

查看实例 VNC 地址

 

openstack console url show provider-instance

 通过浏览器访问

提示:如果在 windows 没有配置 controller 的域名解析,可以把地址栏中的controller 换成 IP 地址

 http://192.168.0.50:6080/vnc_auto.html?path=%3Ftoken%3Dbadaed18-b6cf-45d2-b452-5f884bde1a33

 9.创建provider实例_第12张图片

查看是实例没有正常创建,卡在 grub 系统引导这里了, 这种情况是因为我使用的vmware 虚机虚拟磁盘格式和驱动程序的问题,导致创建的实例无法正常的启动,我们需要做如下操作
#查看镜像
source admin-openrc
openstack image list

9.创建provider实例_第13张图片

提示: VMware 环境需通过下边命令修改磁盘的类型为 IDE (物理机不需要)
openstack image set \
--property hw_disk_bus=ide \
--property hw_vif_model=e1000 \
240c1c8a-656a-40cd-9023-2bf4712db89c
 #将镜像ID替换为查询出来的ID
删除当前实例
source demo-openrc
openstack server delete provider-instance
重新创建实例
#查看网络ID
openstack network list
#创建实例(提示:net-id=网络ID)
source demo-openrc
openstack server create --flavor m1.nano --image cirros \
--nic net-id=75e80634-9703-4297-adc8-36c442511464 --
security-group default \
--key-name mykey provider-instance
#查看实例
openstack server list

9.创建provider实例_第14张图片

9.创建provider实例_第15张图片

 查看实例

openstack server list

 查看实例VNC地址

openstack console url show provider-instance
通过浏览器访问:将地址中 controller 名称替换为管理节点的 IP
http://192.168.0.50:6080/vnc_auto.html?path=%3Ftoken%3De3180067-9304-4d51-b544-61fb031ba9af
9.创建provider实例_第16张图片

 

9.创建provider实例_第17张图片

 

根据提示输入用户名和密码就可以进入系统了
用户名: cirros

密码: gocubsgo
测试是否可以 ping 通,是否可以通过 ssh 连接

 

 OpenStack环境搭建完成了,网络可以正常创建,实例也能够正常的创建,这就证明这套私有云平台搭建完成了

你可能感兴趣的:(Openstack,java,开发语言)