opesnstack四部曲(4)---neutron
4、neutron篇
以下需要在控制节点安装
a、安装组件
安装neutron服务
yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge python-neutronclient ebtables ipset -y
注册相应服务
openstack service create --name neutron --description "OpenStack Networking" network
openstack endpoint create --region RegionOne network public http://192.168.56.11:9696
openstack endpoint create --region RegionOne network internal http://192.168.56.11:9696
openstack endpoint create --region RegionOne network admin http://192.168.56.11:9696
创建用户,添加角色
openstack user create --domain default --password=neutron neutron
openstack role add --project service --user neutron admin
修改对应的配置文件
注意我们不单单需要更改neutron还需要更改nova的配置,更改内容如下
创建连接文件 (程序会默认读取plugin.ini )
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
同步数据库
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
重启nova-API(因为上面改过nova的配置所以需要重新启动加载新的配置参数)
systemctl restart openstack-nova-api
启动相关服务并设为开机启动
systemctl enable neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent
systemctl start neutron-server neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent
验证服务是否正常
neutron agent-list
出现如下情况证明服务正常
以下需要在计算节点安装
a、安装组件
yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset -y
修改配置文件(直接拷贝控制节点文件)
scp 192.168.56.11:/etc/neutron/neutron.conf /etc/neutron/
scp 192.168.56.11:/etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/
scp 192.168.56.11:/etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugins/ml2/
修改nova配置文件(由于配置信息众多,且只是添加了neutron的配置信息,所以直接复制neutron信息即可)
由于修改了nova配置文件,所以我们需要重启nova服务
systemctl restart openstack-nova-compute
创建连接文件 (程序会默认读取plugin.ini )
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
启动linuxbridge-agent
systemctl enable neutron-linuxbridge-agent
systemctl start neutron-linuxbridge-agent
在计算节点进行验证
source admin-openrc.sh
neutron agent-list
如出现如下结果则证明安装成功
b、创建桥接网络
neutron net-create flat --shared --provider:physical_network physnet1 --provider:network_type flat
创建子网(如果使用VM的同学,请关闭VM的DHCP服务)
neutron subnet-create flat 192.168.56.0/24 --name flat-subnet --allocation-pool start=192.168.56.100,end=192.168.56.200 --dns
-nameserver 192.168.56.2 --gateway 192.168.56.2
c、创建虚拟机
使用demo用户创建key
source demo-openrc.sh
ssh-keygen -q -N ""
将公钥加入密钥队(创建虚拟机时就可以直接使用)
nova keypair-add --pub-key .ssh/id_rsa.pub mykey
验证key是否存在
nova keypair-list
增加安全组(防火墙规则)
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
获取网络ID
其实还可以采用如下语句获取ID
nova net-list|awk '{print $2}'|grep '^[a-z]'
创建虚拟机
nova boot --flavor m1.tiny --image cirros --nic net-id=b2379789-a25a-4568-be4c-9774611c4942 --security-group default --key-name mykey demo01
其中net-id请填写自己的实际ID,执行本条过后会有相关回显
查看虚拟机创建状态
nova list
如果看到状态为ACTIVE那么恭喜你第一台虚拟机已经成功创建,如果是build的状态则需要在等一段时间
d、连接虚拟机
姿势一(文本连接)
ssh cirros@192.168.56.101
#之所以用户为cirros主要是因为我们使用的镜像只有这个用户,此外细心的观众还发现没有输入密码就可以使用,这主要是我们之前已经把key上传到了虚拟机,所以将会通过key进行验证
姿势二(web界面)
1、获取token信息
nova get-vnc-console demo01 novnc
2、在浏览器中访问token的地址
默认的用户名为:cirros 密码为:cubswin:)
至此openstack入门基本完成,其中keystone、glance、nova、neutron是openstack的必备模块。其余模块我们将在以后进行介绍