標籤:
聲明:最近在進行openstack的kilo版本的安裝,發現現有的網路教程非常少,而且多數教程並不能安裝成功,故寫此教程。openstack的安裝較為複雜,本教程並不能保證在不同環境下也能將其安裝成功。個人安裝教程,也難免出錯。同時,安裝是在虛擬機器環境下,真實安裝環境需要變更。
轉載請聲明出處:
張某人ER
原文連結:http://blog.csdn.net/xinxing__8185/article/details/51317722
第五部分 neutron的安裝 (1)
neutron簡介
Neutron是OpenStack中的一個項目,在各介面裝置之間提供網路即服務(networking as a service),而且受其他OpenStack服務管理,如Nova。 具體來說,Neutron為OpenStack雲更靈活地劃分物理網路,在多租戶環境下提供給每個租戶獨立的網路環境。另外,Neutron提供API來實現這種目標。Neutron中“網路”是一個可以被使用者建立的對象,如果要和實體環境下的概念映射的話,這個對象相當於一個巨大的交換器,可以擁有無限多個動態可建立和銷毀的虛擬連接埠。
Neutron網路結構圖,管理員建立和管理Neutron外部網路,是租戶虛擬機器與互連網資訊互動的橋樑。更具體的,外部網路會分出一個子網,它是一組在互連網上可定址的IP地址。一般情況下,外部網路只有一個(neutron是支援多個外部網路的),且由管理員建立。租戶虛擬機器建立和管理租戶網路,每個網路可以根據需要劃分成多個子網。諸多子網通過路由器與Neutron外部網路(圖中具體是子網A)串連。路由器的gateway網關端串連外部網路的子網,interfaces介面端有多個,串連租戶網路的子網。路由器及interface介面端串連的網路都是由租戶根據需要自助建立,管理者只建立和管理Neutron外部網路部分。
總結來看,建立一個Neutron網路的過程如下:
1 、首先管理員拿到一組可以在互連網上定址的IP地址,並且建立一個外部網路和子網
2、 租戶建立一個網路和子網
3、 租戶建立一個路由器並且串連租戶子網和外部網路
4、 租戶建立虛擬機器
在controller節點上
建立資料庫,並進行相關操作
mysql -u root -p
進行如下操作:
CREATE DATABASE neutron;GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS'; # 替換<span style="font-family: Arial, Helvetica, sans-serif;">NEUTRON_DBPASS</span>quit
建立使用者和endpoint
source admin-openrc.shopenstack user create --password-prompt neutron ##密碼:neutronopenstack role add --project service --user neutron adminopenstack service create --name neutron --description "OpenStack Networking" networkopenstack endpoint create --publicurl http://controller:9696 --adminurl http://controller:9696 --internalurl http://controller:9696 --region RegionOne network
進行相關包的安裝
yum install openstack-neutron openstack-neutron-ml2 python-neutronclient which
相關配置
vim /etc/neutron/neutron.conf
[database]connection = mysql://neutron:[email protected]/neutron[DEFAULT]rpc_backend=rabbit [oslo_messaging_rabbit]rabbit_host=controllerrabbit_userid=openstackrabbit_password=openstack auth_strategy=keystone [keystone_authtoken] auth_uri = http://controller:5000auth_url = http://controller:35357auth_plugin = passwordproject_domain_id = defaultuser_domain_id = defaultproject_name = serviceusername = neutronpassword = neutron [DEFAULT]core_plugin=ml2service_plugins=routerallow_overlapping_ips= Truenotify_nova_on_port_data_changes = Truenotify_nova_on_port_status_changes = Truenova_url=http://controller:8774/v2 [nova] #auth_plugin = 以下開始添加auth_url = http://controller:35357auth_plugin = passwordproject_domain_id = defaultuser_domain_id = defaultregion_name = RegionOneproject_name = serviceusername = novapassword = nova[DEFAULT]verbose=True
vim /etc/neutron/plugins/ml2/ml2_conf.ini
type_drivers = flat,vlan,gre,vxlantenant_network_types=gre mechanism_drivers = openvswitch tunnel_id_ranges = 1:1000 enable_security_group = Trueenable_ipset = True#在下面添加一行firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
vim /etc/nova/nova.conf
[DEFAULT]network_api_class = nova.network.neutronv2.api.APIsecurity_group_api = neutronlinuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriverfirewall_driver = nova.virt.firewall.NoopFirewallDriver [neutron]#URL for connecting to neutron url = http://controller:9696auth_strategy = keystoneadmin_auth_url = http://controller:35357/v2.0admin_tenant_name = serviceadmin_username = neutronadmin_password = neutron
進行相關操作
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.inisu -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
啟動
systemctl restart openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.servicesystemctl enable neutron-server.servicesystemctl start neutron-server.service
Oracle VM + centos7.1+openstack kilo 多結點安裝教程---neutron的安裝(1)