手把手教你安装OpenStack——Ocata安装指南(下)
接手把手教你安装OpenStack——Ocata安装指南(上)五、网络服务 安装并配置控制节点 1、前提条件 创建数据库,与之前类似: $ mysql -u root -p MariaDB [(none)] CREATE DATABASE neutron; MariaDB [(none)]> GRANT ALL PRIVILEGESON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS'; MariaDB [(none)]> GRANT ALL PRIVILEGESON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';
获取admin权限: $ . admin-openrc
创建服务认证: 创建neutron用户 $ openstack user create --domain default --password-prompt neutron
给neutron添加admin角色: $ openstack role add --project service --user neutron admin
创建neutron服务实体: $ openstack service create --name neutron --deion "OpenStack Networking" network
创建网络服务API端口: $ openstack endpoint create --region RegionOne network public http://controller:9696 $ openstack endpoint create --region RegionOne network internal http://controller:9696 $ openstack endpoint create --region RegionOne network admin http://controller:9696
2、配置网络选项 选项1:部署一个最简单的网络,仅支持实例和公共网络的连接。 选项2:在选项1的基础上,增加了3层服务,支持实例连接到私有网络。 这里我们选择选项2,选项2的部署包括选项1。 在控制节点上进行以下操作: 安装组件 # yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
配置服务器组件 编辑/etc/neutron/neutron.conf文件,并完成以下配置: 在[database]选项中,配置数据库连接: [database] # ... connection=mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
替换掉NEUTRON_DBPASS密码。注释掉或者删除[database]IT论坛参数。 在[DEFAULT]选项中,开启ML2插件,路由服务以及overlapping IP地址,配置消息队列连接: [DEFAULT] # ... core_plugin=ml2 service_plugins=router allow_overlapping_ips=true transport_url=rabbit://openstack:RABBIT_PASS@controller
替换掉RABBIT_PASS 在[DEFAULT]选项和[keystone_authtoken]选项中,配置认证服务连接 [DEFAULT] # ... auth_strategy=keystone [keystone_authtoken] # ... auth_uri=http://controller:5000 auth_url=http://controller:35357 memcached_servers=controller:11211 auth_type=password project_domain_name=default user_domain_name=default project_name=service username=neutron password=NEUTRON_PASS
替换掉NEUTRON_PASS 注释或删除[keystone_authtoken]中的IT论坛选项。 在[DEFAULT]和[nova]选项中,配置网络来通知计算机网络拓扑的变换: [DEFAULT] # ... notify_nova_on_port_status_changes=true notify_nova_on_port_data_changes=true [nova] # ... auth_url=http://controller:35357 auth_type=password project_domain_name=default user_domain_name=default region_name=RegionOne project_name=service username=nova password=NOVA_PASS
替换掉NOVA_PASS 在[oslo_concurrency]选项中,配置锁定地址: [oslo_concurrency] # ... lock_path=/var/lib/neutron/tmp
配置ML2 编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件,在ml2选项中,开启flat,VLAN,以及VXLAN网络: [ml2] # ... type_drivers=flat,vlan,vxlan
开启VXLAN私有网络: [ml2] # ... tenant_network_types=vxlan
开启桥接和2层机制 [ml2] # ... mechanism_drivers=linuxbridge,l2population
Linux桥接代理仅支持VXLAN覆盖网络,开启端口安全扩展驱动: [ml2] # ... extension_drivers=port_security
在选项中;配置公共虚拟网络作为扁平网络: [ml2_type_flat] # ... flat_networks=provider
为私有网络配置VXLAN网络识别范围 [ml2_type_vxlan] # ... vni_ranges=1:1000
在[securitygroup]选项中,开启ipset增加安全组规则的高效性; [securitygroup] # ... enable_ipset=true
配置Linux 桥接代理 编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件 在[linux_bridge]选项中,映射公共虚拟网络到公共物理网络接口; [linux_bridge] physical_interface_mappings=provider  ROVIDER_INTERFACE_NAME
将PROVIDER_INTERFACE_NAME替换为公共网络网卡名字 在选项中,开始VXLAN覆盖网络,配置物理网络的IP地址,启用L2。 [vxlan] enable_vxlan=true local_ip=OVERLAY_INTERFACE_IP_ADDRESS l2_population=true
将OVERLAY_INTERFACE_IP_ADDRESS替换为管理网络IP地址,即控制节点IP。(没有配置管理网络) 在[securitygroup]选项中,启用安全组并配置Linux桥接iptables防火墙驱动; [securitygroup] # ... enable_security_group=true firewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
配置3层代理 编辑/etc/neutron/l3_agent.ini文件 在[DEFAULT]选项中,配置Linuxbridge驱动接口 [DEFAULT] # ... interface_driver=linuxbridge
配置DHCP代理 编辑/etc/neutron/dhcp_agent.ini文件 在[DEFAULT]选项中,配置inuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据 [DEFAULT] # ... interface_driver=linuxbridge dhcp_driver=neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata=true 配置元数据代理在[DEFAULT]选项中,配置元数据主机和共享密码 [DEFAULT] # ... nova_metadata_ip=controller metadata_proxy_shared_secret=METADATA_SECRET
替换METADATA_SECRET为合适的密码 配置计算服务来使用网络 编辑/etc/nova/nova.conf文件 在[neutron]选项中,配置连接参数,启用元数据代理,配置密码: [neutron] # ... url=http://controller:9696 auth_url=http://controller:35357 auth_type=password project_domain_name=default user_domain_name=default region_name=RegionOne project_name=service username=neutron password=NEUTRON_PASS service_metadata_proxy=true metadata_proxy_shared_secret=METADATA_SECRET
替换NEUTRON_PASS,METADATA_SECRET 3、完成安装 建立符号链接 # 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
重启计算API服务 # systemctl restart openstack-nova-api.service
启动网络服务并配置开机启动 # systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service # systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
对于网络选项2,也要启用3层服务 # systemctl enable neutron-l3-agent.service # systemctl start neutron-l3-agent.service 安装并配置计算节点1、安装组件# yum install openstack-neutron-linuxbridge ebtables ipset
配置公共组件 编辑/etc/neutron/neutron.conf文件 在[database]中,注释掉任何的连接,因为计算节点不直接连接数据库。 在[DEFAULT],配置消息队列连接 [DEFAULT] # ... transport_url=rabbit://openstack:RABBIT_PASS@controller
替换RABBIT_PASS 在[DEFAULT]和[keystone_authtoken]选项中 [DEFAULT] # ... auth_strategy=keystone [keystone_authtoken] # ... auth_uri=http://controller:5000 auth_url=http://controller:35357 memcached_servers=controller:11211 auth_type=password project_domain_name=default user_domain_name=default project_name=service username=neutron password=NEUTRON_PASS
替换NEUTRON_PASS密码 在[oslo_concurrency]选项中,配置锁定路径 [oslo_concurrency] # ... lock_path=/var/lib/neutron/tmp
在计算节点上配置网络选项2 配置Linux桥接代理 编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件 在[linux_bridge]部分,映射公共虚拟网络到公共物理网络接口: [linux_bridge] physical_interface_mappings=provider  ROVIDER_INTERFACE_NAME
把PROVIDER_INTERFACE_NAME替换为物理网卡名字。 在[vxlan]部分,启用VXLAN覆盖网络,配置物理网络IP地址,启用l2_population: [vxlan] enable_vxlan=true local_ip=OVERLAY_INTERFACE_IP_ADDRESS l2_population=true
在[securitygroup]部分,启用安全组并配置Linux桥接iptables防火墙驱动: [securitygroup] # ... enable_security_group=true firewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver 为计算节点配置网络服务: 编辑/etc/nova/nova.conf文件 在[neutron]部分,配置连接参数; [neutron] # ... url=http://controller:9696 auth_url=http://controller:35357 auth_type=password project_domain_name=default user_domain_name=default region_name=RegionOne project_name=service username=neutron password=NEUTRON_PASS
替换NEUTRON_PASS 完成安装 重启计算服务: # systemctl restart openstack-nova-compute.service
启动Linux桥接代理并配置开机启动: # systemctl enable neutron-linuxbridge-agent.service # systemctl start neutron-linuxbridge-agent.service 验证操作获取admin权限 $ . admin-openrc
列出加载的扩展来验证neutron-server是否成功运行: $ openstack extension list --network
验证网络: 在控制节点上,列出所有的代理: $ openstack network agent list
输出应该是4个控制节点上的代理和一个计算节点上的代理。 六、Dashboard 安装和配置 验证操作 安装并配置组件 安装相关包 # yum install openstack-dashboard
编辑/etc/openstack-dashboard/local_settings文件,修改以下配置 注:以下的配置大部分在原配置文件中都包括,修改即可,不要直接添加。 配置dashboard在控制节点上使用OpenStack服务: OPENSTACK_HOST="controller"
允许主机连接到dashboard: ALLOWED_HOSTS=['*,]
*表示允许所有主机连接dashboard,在生产环境中不建议这样做。 配置memcached存储服务: SESSION_ENGINE='django.contrib.sessions.backends.cache' CACHES={ 'default':{ 'BACKEND':'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION':'controller:11211', } }
启用认证API版本3 OPENSTACK_KEYSTONE_URL="http://%s:5000/v3"%OPENSTACK_HOST
启用域支持: OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT=True
配置API版本: OPENSTACK_API_VERSIONS={ "identity":3, "image":2, "volume":2, }
配置default作为用户通过dashboard创建的默认的域: OPENSTACK_KEYSTONE_DEFAULT_DOMAIN="default"
配置user作为用户创建的默认的角色: OPENSTACK_KEYSTONE_DEFAULT_ROLE="user"
可选的,可以配置时区: TIME_ZONE="TIME_ZONE"
替换掉TIME_ZONE,这里替换为:Asia/chongqing 完成安装: 重启web服务器以及会话存储服务: # systemctl restart httpd.service memcached.service
验证操作: 使用浏览器连接http://controller/dashboard,如果无法连接,那么就将controller替换为IP地址。如下图; 使用admin或者demo用户和default域认证,如下图,登录成功: 相关阅读:高端私有云项目交流群,欢迎加入! 手把手教你安装OpenStack——Ocata安装指南(下)
|