OpenStack:Neutron组件的运维(图形界面版)
目录
创建网络(FLAT型)
显示结果如图:
创建子网
查看网络拓扑
查看现有网络
列出当前租户所有的网络
openstack network list
+--------------------------------------+------------+-----------------------------------------------------+ | id | name | subnets | +--------------------------------------+------------+-----------------------------------------------------+ | 0f82a3a5-5f0e-42d3-ba8b-93a02ea76a20 | sharednet1 | c3623b66-3fff-49ec-b78b-6c48348aedb2 192.168.1.0/24 | +--------------------------------------+------------+-----------------------------------------------------+
查看一个网络的详细信息
openstack network show <name-or-id>
[root@controller ~]# openstack network show 0f82a3a5-5f0e-42d3-ba8b-93a02ea76a20 +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | True | | id | 0f82a3a5-5f0e-42d3-ba8b-93a02ea76a20 | | name | sharednet1 | | provider:network_type | flat | | provider:physical_network | physnet1 | | provider:segmentation_id | | | router:external | False | | shared | True | | status | ACTIVE | | subnets | c3623b66-3fff-49ec-b78b-6c48348aedb2 | | tenant_id | a0a60387c08e402f9790b05310245cd8 | +---------------------------+--------------------------------------+
列出网络中所有的agent(代理)
neutron agent-list
[root@controller ~]# neutron agent-list +--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+ | id | agent_type | host | availability_zone | alive | admin_state_up | binary | +--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+ | 1ce5426d-2dde-493b-9fe4-1f035c9ed7a4 | Metadata agent | compute | | xxx | True | neutron-metadata-agent | | 1d4b6835-284d-477e-b5af-62d6f45ab877 | L3 agent | controller | nova | :-) | True | neutron-l3-agent | | 511c57f6-acaf-4dfc-9069-54190f9bb7c4 | Open vSwitch agent | controller | | :-) | True | neutron-openvswitch-agent | | 847c77bb-8fe9-4d29-aa77-ecf91e5d7322 | Open vSwitch agent | compute | | xxx | True | neutron-openvswitch-agent | | 9af393ab-46ef-47ae-878c-b3d952b011a3 | DHCP agent | controller | nova | :-) | True | neutron-dhcp-agent | | c2aa9542-b60b-47b2-afb0-0d3d387d07b5 | Metadata agent | controller | | :-) | True | neutron-metadata-agent | +--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+
列出路由信息
neutron router-list
管理现有网络
https://docs.openstack.org/zh_CN/user-guide/cli-create-and-manage-networks.html#create-networks
删除路由接口
查看端口信息:neutron port-list
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+ | 596e4378-889c-4944-8335-b196467f2cf1 | | fa:16:3e:9e:86:be | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.109"} | | 79e423dc-7f01-4a67-b64b-d9ef9a9c6bf6 | | fa:16:3e:8c:84:27 | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.111"} | | 9f1882a0-0d89-40ea-a7eb-c891885b1389 | | fa:16:3e:2c:ff:b6 | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.101"} | | ea4dae07-1677-48f2-8ca8-5a01b9a729aa | | fa:16:3e:8f:c1:43 | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.102"} | | fdfcdf5e-8e49-4d52-b8db-c8da69f706d9 | | fa:16:3e:76:58:39 | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.110"} | +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
查看网络信息: neutron net-list
+--------------------------------------+------------+-----------------------------------------------------+ | id | name | subnets | +--------------------------------------+------------+-----------------------------------------------------+ | 0f82a3a5-5f0e-42d3-ba8b-93a02ea76a20 | sharednet1 | c3623b66-3fff-49ec-b78b-6c48348aedb2 192.168.1.0/24 | +--------------------------------------+------------+-----------------------------------------------------+
查看子网信息:neutron subnet-list
+--------------------------------------+------+----------------+----------------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+------+----------------+----------------------------------------------------+ | c3623b66-3fff-49ec-b78b-6c48348aedb2 | | 192.168.1.0/24 | {"start": "192.168.1.100", "end": "192.168.1.200"} | +--------------------------------------+------+----------------+----------------------------------------------------+
查看路由信息:neutron router-list
删除router-interface:
neutron router-interface-delete [router-id] [subnet-id]
删除端口信息
查看端口信息: neutron port-list
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+ | id | name | mac_address | fixed_ips | +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+ | 596e4378-889c-4944-8335-b196467f2cf1 | | fa:16:3e:9e:86:be | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.109"} | | 79e423dc-7f01-4a67-b64b-d9ef9a9c6bf6 | | fa:16:3e:8c:84:27 | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.111"} | | 9f1882a0-0d89-40ea-a7eb-c891885b1389 | | fa:16:3e:2c:ff:b6 | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.101"} | | ea4dae07-1677-48f2-8ca8-5a01b9a729aa | | fa:16:3e:8f:c1:43 | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.102"} | | fdfcdf5e-8e49-4d52-b8db-c8da69f706d9 | | fa:16:3e:76:58:39 | {"subnet_id": "c3623b66-3fff-49ec-b78b-6c48348aedb2", "ip_address": "192.168.1.110"} | +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
删除端口信息:neutron port-delete [id]
反复删除,直到将所有的端口都删干净为止。
再次查看端口信息:neutron port-list
[root@controller ~]# neutron port-delete 596e4378-889c-4944-8335-b196467f2cf1 Deleted port: 596e4378-889c-4944-8335-b196467f2cf1 [root@controller ~]# neutron port-delete 79e423dc-7f01-4a67-b64b-d9ef9a9c6bf6 Deleted port: 79e423dc-7f01-4a67-b64b-d9ef9a9c6bf6 [root@controller ~]# neutron port-delete 9f1882a0-0d89-40ea-a7eb-c891885b1389 Deleted port: 9f1882a0-0d89-40ea-a7eb-c891885b1389 [root@controller ~]# neutron port-delete ea4dae07-1677-48f2-8ca8-5a01b9a729aa Deleted port: ea4dae07-1677-48f2-8ca8-5a01b9a729aa [root@controller ~]# neutron port-delete fdfcdf5e-8e49-4d52-b8db-c8da69f706d9 Deleted port: fdfcdf5e-8e49-4d52-b8db-c8da69f706d9
删除子网
查看子网信息:neutron subnet-list
+--------------------------------------+------+----------------+----------------------------------------------------+ | id | name | cidr | allocation_pools | +--------------------------------------+------+----------------+----------------------------------------------------+ | c3623b66-3fff-49ec-b78b-6c48348aedb2 | | 192.168.1.0/24 | {"start": "192.168.1.100", "end": "192.168.1.200"} | +--------------------------------------+------+----------------+----------------------------------------------------+
删除子网信息:neutron subnet-delete [id]
直到把所有的子网到删除为止:
[root@controller ~]# neutron subnet-delete c3623b66-3fff-49ec-b78b-6c48348aedb2 Deleted subnet: c3623b66-3fff-49ec-b78b-6c48348aedb2
删除路由
查看路由信息: neutron router-list
删除路由:neutron route-delete [id]
删除整个网络
查看网络信息:
neutron net-list
+--------------------------------------+------------+---------+ | id | name | subnets | +--------------------------------------+------------+---------+ | 0f82a3a5-5f0e-42d3-ba8b-93a02ea76a20 | sharednet1 | | +--------------------------------------+------------+---------+
删除网络信息:
neutron net-delete [id]
[root@controller ~]# neutron net-delete 0f82a3a5-5f0e-42d3-ba8b-93a02ea76a20 Deleted network: 0f82a3a5-5f0e-42d3-ba8b-93a02ea76a20
创建GRE网络(选学)
将刚刚创建的网络删除
配置 ML2
#GRE、FLAT #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat,gre #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types flat,gre #GRE 网络修改 #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges 1:1000 HERE! #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs local_ip 20.0.0.10 #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs tunnel_type gre #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs enable_tunneling True # openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dnsmasq_config_file /etc/neutron/dnsmasq-neutron.conf # echo "dhcp-option-force=26,1454" > /etc/neutron/dnsmasq-neutron.conf #FLAT 网络修改 #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks physnet1 #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs flat_networks physnet1 #openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs bridge_mappings physnet1:br-ex #GRE、FLAT #ln -s plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini # cp /etc/init.d/neutron-openvswitch-agent /etc/init.d/neutron-openvswitch-agent.orig # sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /etc/init.d/neutron-openvswitch-agent #chkconfig neutron-openvswitch-agent on #GRE # source admin-openrc.sh # neutron net-create ext-net --shared --router:external=True # neutron subnet-create ext-net --name ext-subnet --allocation-pool start=FLOATING_IP_START,end=FLOATING_IP_END --disable-dhcp --gateway EXTERNAL_NETWORK_GATEWAY EXTERNAL_NETWORK_CIDR # neutron net-create NET_NAME # neutron subnet-create NET_NAME --name demo-subnet --gateway TENANT_NETWORK_GATEWAY TENANT_NETWORK_CIDR # neutron router-create demo-router # neutron router-interface-add demo-router demo-subnet # neutron router-gateway-set demo-router ext-net #
脚本解读
配置FLAT网络
控制节点:
#!/bin/bash source /etc/xiandian/openrc.sh source /etc/keystone/admin-openrc.sh ovs-vsctl add-br br-ex ovs-vsctl add-port br-ex $INTERFACE_NAME cat > /etc/sysconfig/network-scripts/ifcfg-$INTERFACE_NAME <<EOF DEVICE=$INTERFACE_NAME TYPE=Ethernet BOOTPROTO=none ONBOOT=yes EOF systemctl restart network crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks physnet1 crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types flat crudini --set /etc/neutron/plugins/ml2/openvswitch_agent.ini ovs bridge_mappings physnet1:br-ex systemctl restart neutron-openvswitch-agent tenantID=`openstack project list | grep service | awk '{print $2}'` echo -e "\033[31m\nCreate a sample flat network\n\033[0m " neutron net-create --tenant-id $tenantID sharednet1 --shared --provider:network_type flat --provider:physical_network physnet1
计算节点:
#!/bin/bash source /etc/xiandian/openrc.sh ovs-vsctl add-br br-ex ovs-vsctl add-port br-ex $INTERFACE_NAME cat > /etc/sysconfig/network-scripts/ifcfg-$INTERFACE_NAME <<EOF DEVICE=$INTERFACE_NAME TYPE=Ethernet BOOTPROTO=none ONBOOT=yes EOF systemctl restart network crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks physnet1 crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types flat crudini --set /etc/neutron/plugins/ml2/openvswitch_agent.ini ovs bridge_mappings physnet1:br-ex systemctl restart neutron-openvswitch-agent
crudini用法
crudini --set [--existing] config_file section [param] [value]
crudini --get [--format=sh|ini] config_file [section] [param]
crudini --del [--existing] config_file section [param]
crudini --merge [--existing] config_file [section]
crudini 用于操作ini文件,可以设置、获取、删除、合并其中的变量
其中:config_file 代表要操作的文件名,section 表示变量所在的部分,如以下配置文件:
[DEFAULT] user = admin passwd = admin port = 8088 [URL] client = 127.0.0.1:8088 admin = 127.0.0.1:8080
section 则表示了以上配置文件中的DEFAULT 和 URL ,在命令中不需要加中括号[],param 则如user ,passwd,client 等。
添加
$ crudini --set config_file section parameter value
更新
$ crudini --set [--existing] config_file section parameter value
删除
删除变量:
$ crudini --del config_file section parameter
删除section:
$ crudini --del config_file section
获取
$ crudini --del config_file section parameter
如果该标量不在某一个section里面,则section用一个空字符表示:
$ crudini --del config_file parameter
合并
将another.ini配置文件合并到config_file中:
$ crudini --merge config_file < another.ini
本 节 完!</nowiki>
参考文档:https://xiexianbin.cn/linux/2017/04/12/linux-shell-crudini