创建虚拟网络
在启动实例之前,您必须创建必须的虚拟机网络设施。
创建提供者网络
在控制节点上,加载 admin
凭证来获取管理员能执行的命令访问权限:
. admin-openrc
创建网络:
openstack network create --share --external \
--provider-physical-network provider \
--provider-network-type flat provider
在网络上创建一个子网:
//解析
openstack subnet create --network provider \
--allocation-pool start=分配的第一个IP,end=配的最后一个IP \ 这个范围不能包括任何已经使用的IP地址。
--dns-nameserver DNS服务器IP --gateway 网关地址 \
--subnet-range 掩码CIDR provider
openstack subnet create --network provider \
--allocation-pool start=192.168.145.140,end=192.168.145.150 \
--dns-nameserver 114.114.114.114 --gateway 192.168.145.2 \
--subnet-range 192.168.145.0/24 provider
创建m1.nano类型
默认的最小规格的主机需要512 MB内存。对于环境中计算节点内存不足4 GB的,我们推荐创建只需要64 MB的m1.nano
规格的主机。若单纯为了测试的目的,请使用m1.nano
规格的主机来加载CirrOS镜像
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
生成一个键值对
在启动实例前,你必须添加一个公共密钥到计算服务。
导入demo
项目凭证
. demo-openrc
生成密钥对并添加公钥:
ssh-keygen -q -N ""
回车一下
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
验证公钥的添加:
openstack keypair list
增加安全组规则
默认情况下, default
安全组适用于所有实例并且包括拒绝远程访问实例的防火墙规则。对诸如CirrOS这样的Linux镜像,我们推荐至少允许ICMP (ping) 和安全shell(SSH)规则。
添加规则到 default
安全组。
Permit ICMP (ping):
openstack security group rule create --proto icmp default
允许安全 shell (SSH) 的访问:
openstack security group rule create --proto tcp --dst-port 22 default
启动一个实例
启动一台实例,您必须至少指定一个类型、镜像名称、网络、安全组、密钥和实例名称。
在控制节点上,获得 admin
凭证来获取只有管理员能执行的命令的访问权限:
. demo-openrc
一个实例指定了虚拟机资源的大致分配,包括处理器、内存和存储。
列出可用类型:
openstack flavor list
列出可用镜像:
openstack image list
列出可用网络:
openstack network list
列出可用的安全组:
启动云主机
启动实例:
使用provider
公有网络的ID替换PUBLIC_NET_ID
。
openstack server create --flavor m1.nano --image cirros \
--nic net-id=PROVIDER_NET_ID --security-group default \
--key-name mykey provider-instance
//PROVIDER_NET_ID填写openstack network list指令查出的网络ID
openstack server create --flavor m1.nano --image cirros \
--nic net-id=cb9b69a8-5036-44cf-adb3-580a7df45dec --security-group default \
--key-name mykey provider-instance
检查实例的状态:
openstack server list
Windows添加hosts
在Windows路径C:\Windows\System32\drivers\etc中找到hosts文件编辑它,鼠标右键,打开方式选择你熟悉的文档编辑器;
加入以下配置并保存:
控制节点IP controller
计算节点IP compute1
192.168.145.133 controller
192.168.145.134 compute1
使用虚拟控制台访问实例
获取会话URL并从web浏览器访问它:
openstack console url show provider-instance
登录后发现小问题booting from hard disk
,我们解决它
在计算节点编辑nova.conf 文件
vim /etc/nova/nova.conf
[libvirt]
...
cpu_mode = none
virt_type = qemu
重启Nova服务
systemctl restart openstack-nova-compute
在web页面可以看见刚才启动的实例,
再次访问实例,进行ping操作;