ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Openstack 之 使用vlan网络

2019-08-09 18:00:10  阅读:993  来源: 互联网

标签:network vlan 网络 ml2 ansible neutron Openstack kolla


blob.png blob.png

 上面左边是我的个人 微  信,如需进一步沟通,请加  微  信。  右边是我的公众号“Openstack私有云”,如有兴趣,请关注。


    Openstack部署安装后,租户网络默认是vxlan ,但是实际项目当中,更多的是租户使用vlan或者flat网络。这里在实验环境里面模拟一下生产环境中如何在安装的时候设置,实现租户vlan网络 。

    还是使用3节点的实验环境,采用Ocata版本,使用一键式安装镜像安装完kolla之后,完成以下步骤:

    注意:如果是重新部署,除了要执行kolla_ansible destroy 之外,还需要将ceph 的osd盘分区清除,使用fdisk 命令清除分区。


1.上传文件3node ,globals.yml文件
2.所有节点第二块硬盘分区打标签:
parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
查看结果: 
 parted /dev/sdb print
3.control01配置ceph:
创建/etc/kolla/config/ceph.conf:
[global]
osd pool default size = 3
osd pool default min size = 1
新增:/etc/kolla/config/neutron-openvswitch-agent/ml2_conf.ini以及/etc/kolla/config/neutron-server/ml2_conf.ini 文件:
[root@control01 config]# more ml2_conf.ini 
[ml2]
tenant_network_types = 
由于是虚拟化测试环境(VMWare或者PVE环境),需要开启qemu ,新增/etc/kolla/config/nova.conf 文件:
[root@control01 config]# more nova.conf 
[libvirt]
virt_type = qemu
cpu_mode = none
4.修改/etc/kolla/globals.yml文件:
修改后的配置如下:
kolla_base_distro: "centos"
kolla_install_type: "source"
openstack_release: "4.0.2.1"
kolla_internal_vip_address: "192.168.170.160"
docker_registry: "192.168.170.150:4000"
docker_namespace: "kolla"
network_interface: "eth0"
neutron_external_interface: "eth1"
designate_backend: "bind9"
designate_ns_record: "sample.openstack.org"
tempest_image_id:
tempest_flavor_ref_id:
tempest_public_network_id:
tempest_floating_network_name:
enable_cinder: "yes"
enable_haproxy: "yes" 
enable_neutron_***aas: "yes"
enable_neutron_lbaas: "yes"
enable_neutron_fwaas: "yes"
enable_chrony: "yes"
enable_neutron_agent_ha: "yes"
注意,neutron_tenant_network_types: 这个参数,默认是vxlan ,这里我们设置为vlan
5.修改 /etc/docker/daemon.json ,将insecure-registry配置项取消 
6.部署前 bootstrap-server:
 /root/kolla-ansible-4.0.3.dev36/tools/kolla-ansible -i 3node bootstrap-servers
 
7.部署前检查:
/root/kolla-ansible-4.0.3.dev36/tools/kolla-ansible -i 3node prechecks
8.部署:
/root/kolla-ansible-4.0.3.dev36/tools/kolla-ansible -i 3node deploy
执行完成后,检查ml2_conf.ini 文件,发现tenant_network_types 还是有vxlan参数,如下:
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
[ml2_type_vlan]
network_vlan_ranges =
[ml2_type_flat]
flat_networks = physnet1
修改tenant_network_types 、network_vlan_ranges 参数后如下:
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vlan,flat
mechanism_drivers = openvswitch,l2population
[ml2_type_vlan]
network_vlan_ranges = physnet1
[ml2_type_flat]
flat_networks = physnet1
然后重启这2个容器:
docker restart neutron_server
docker restart neutron_openvswitch_agent
9.部署成功后执行post-deploy:
/root/kolla-ansible-4.0.3.dev36/tools/kolla-ansible -i 3node post-deploy

注意,这里我没有执行init-runonce脚本,因为这个脚本默认是以vxlan方式初始化相关配置,我们这里使用的是vlan方式,因此,我们手工初始化镜像、网络、路由。当然,更快的方法是自己修改一下init-runonce这个脚本使之适应vlan。

下载并上传测试镜像cirros ,这里使用raw格式,可以先下载qcow2格式,然后转换,具体自行参考其他资料。

创建实例类型:

image.png



关键内容来了,创建vlan的network和subnetwork ,然后在这个vlan的network中创建虚拟机。创建2个network和subnetwork,分别在这个2个network中创建虚拟机,其中同一个network中创建2个虚拟机,测试同一个vlan的network内虚拟机是否通,再测试跨vlan虚拟机是否通。跨vlan需要创建路由器,后面再创建路由器,将2个vlan打通。

image.png


image.png


image.png

测试环境是pve,网卡不能设置trunk模式,没法测试。有些缺憾。





标签:network,vlan,网络,ml2,ansible,neutron,Openstack,kolla
来源: https://blog.51cto.com/yuweibing/2428203

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有