openstack笔记 5

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: openstack笔记

六、安装neutron服务

1、创建数据库

[root@controller ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 75
Server version: 10.3.20-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE neutron;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost'
IDENTIFIED BY '000000';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED
BY '000000';
Query OK, 0 rows affected (0.000 sec)

2、获取admin凭证

[root@controller ~]# source admin-openrc

3、创建neutron用户

[root@controller ~]# openstack user create --domain default --password-prompt
neutron
User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 91cded1130a545d68775be19fd8f6b56 |
| name | neutron |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
# 将neutron用户添加到admin角色
[root@controller ~]# openstack role add --project service --user neutron admin
# 创建neutron服务实体
[root@controller ~]# openstack service create --name neutron --description
"OpenStack Networking" network
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Networking |
| enabled | True |
| id | 009428a2aae64977ae895abc2ea10106 |
| name | neutron |
| type | network |
+-------------+----------------------------------+

4、创建neutron服务API端点:

[root@controller ~]# openstack endpoint create --region RegionOne network public
http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 2878168bad0c484d835a00cef1ca1e7f |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 009428a2aae64977ae895abc2ea10106 |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne network
internal http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 93ca6767de7f45ae82938b8186bf2998 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 009428a2aae64977ae895abc2ea10106 |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+
[root@controller ~]# openstack endpoint create --region RegionOne network admin
http://controller:9696
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | fa66b213e7f94951a8838c5350d81c13 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 009428a2aae64977ae895abc2ea10106 |
| service_name | neutron |
| service_type | network |
| url | http://controller:9696 |
+--------------+----------------------------------+

5、安装neutron服务

[root@controller ~]# yum install openstack-neutron openstack-neutron-ml2
openstack-neutron-linuxbridge ebtables -y

6、修改neutron配置文件

编辑/etc/neutron/neutron.conf文件,完成如下操作:

[database]部分,配置数据库访问:

[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/neutron.conf database connection
mysql+pymysql://neutron:000000@controller/neutron

[DEFAULT]部分,启用模块化第2(ML2)插件并禁用其他插件:

[DEFAULT]
core_plugin = ml2
service_plugins =
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins

[DEFAULT]部分,配置RabbitMQ消息队列访问:

[DEFAULT]
transport_url = rabbit://openstack:000000@controller
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/neutron.conf DEFAULT transport_url
rabbit://openstack:000000@controller

[DEFAULT][keystone_authtoken]部分中,配置身份服务访问:

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = 000000
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken
www_authenticate_uri http://controller:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_url
http://controller:5000
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken
memcached_servers controller:11211
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_type
password
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken
project_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken
user_domain_name default
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken project_name
service
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken username
neutron
openstack-config --set /etc/neutron/neutron.conf keystone_authtoken password
000000

[DEFAULT][nova]部分中,配置Networking以通知Compute网络拓扑变化:

[DEFAULT]
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[nova]
auth_url = http://controller:5000
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = 000000
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/neutron.conf DEFAULT
notify_nova_on_port_status_changes true
openstack-config --set /etc/neutron/neutron.conf DEFAULT
notify_nova_on_port_data_changes true
openstack-config --set /etc/neutron/neutron.conf nova auth_url
http://controller:5000
openstack-config --set /etc/neutron/neutron.conf nova auth_type password
openstack-config --set /etc/neutron/neutron.conf nova project_domain_name
default
openstack-config --set /etc/neutron/neutron.conf nova user_domain_name default
openstack-config --set /etc/neutron/neutron.conf nova region_name RegionOne
openstack-config --set /etc/neutron/neutron.conf nova project_name service
openstack-config --set /etc/neutron/neutron.conf nova username nova
openstack-config --set /etc/neutron/neutron.conf nova password 000000

[oslo_concurrency]部分,配置锁路径:

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/neutron.conf oslo_concurrency lock_path
/var/lib/neutron/tmp

7、配置模块化第2(ML2)插件

编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件,完成如下操作:

[m12]部分,启用平面和VLAN网络:

[ml2]
type_drivers = flat,vlan
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers
flat,vlan

[m12]部分,禁用自助网络:

[ml2]
tenant_network_types =
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2
tenant_network_types vxlan

[m12]部分,启用Linux桥接机制:

[ml2]
mechanism_drivers = linuxbridge
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2
mechanism_drivers linuxbridge

[ml2]部分,启用端口安全扩展驱动程序:

[ml2]
extension_drivers = port_security
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2
extension_drivers port_security

[ml2_type_flat]部分中,将提供商虚拟网络配置为平面网络:

[ml2_type_flat]
flat_networks = provider
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat
flat_networks provider

[securitygroup]部分,启用ipset,提高安全组规则的效率:

[securitygroup]
enable_ipset = true
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup
enable_ipset true

8、配置Linux网桥代理

编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件,完成如下操作:

[linux_bridge]部分,将提供商虚拟网络映射到提供商物理网络接口:

[linux_bridge]
physical_interface_mappings = provider:ens34
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini
linux_bridge physical_interface_mappings provider:ens34

[vxlan]区域,禁用vxlan覆盖网络:

[vxlan]
enable_vxlan = false
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini vxlan
enable_vxlan false

[securitygroup]部分,启用安全组并配置Linux bridge iptables防火墙驱动程序:

[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini
securitygroup enable_security_group true
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini
securitygroup firewall_driver
neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置内核参数

vi /etc/sysctl.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
# 永久加载模块
cat > /etc/modules-load.d/neutron-bridge.conf <<EOF
br_netfilter
EOF
## 配置开机启动
systemctl restart systemd-modules-load
systemctl enable systemd-modules-load
sysctl -p

9、配置DHCP代理

编辑/etc/neutron/dhcp_agent.ini文件,完成如下操作:

[DEFAULT]部分,配置Linux桥接接口驱动程序,Dnsmasq DHCP驱动程序,并启用隔离元数

据,以便提供商网络上的实例可以通过网络访问元数据

[DEFAULT]
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
# 可使用以下命令直接修改
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver
linuxbridge
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver
neutron.agent.linux.dhcp.Dnsmasq
openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT
enable_isolated_metadata true
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
消息中间件 Oracle 关系型数据库
openstack笔记 3
openstack笔记
150 0
|
消息中间件 API 数据库
openstack笔记 4
openstack笔记
190 1
|
存储 API 数据安全/隐私保护
openstack笔记 7
openstack笔记
205 0
|
消息中间件 Linux 网络安全
openstack笔记 6
openstack笔记
240 0
|
存储 前端开发 数据库
openstack笔记 2
openstack笔记
155 0
|
消息中间件 网络协议 网络安全
openstack笔记 1
openstack笔记
250 0
|
网络协议 Linux 网络安全
openstack 云平台一体化部署(超详细)
openstack 云平台一体化部署(超详细)
2077 0
openstack 云平台一体化部署(超详细)
|
消息中间件 缓存 Shell
跟我一起来学OpenStack部署
跟我一起来学OpenStack部署
695 0
|
存储 数据安全/隐私保护 Docker
Kolla-ansible部署openStack
Kolla-ansible部署openStack
1543 11