當前位置:
首頁 > 最新 > Kolla中配置OpenStac虛機網路vxlan和vlan共存

Kolla中配置OpenStac虛機網路vxlan和vlan共存

配置OpenStack虛機網路vxlan和vlan共存

OpenStack Neutron網路服務定義了四種網路模式:

# tenant_network_type = local

# tenant_network_type = vlan

# tenant_network_type = gre

# tenant_network_type = vxlan

這裡,本文以vlan、vxlan為例,闡述如何實現OpenStack虛機網路(亦稱租戶網路、業務網路)同時支持vxlan和vlan兩種網路。

說明

環境:Openstack queens版本

部署工具:kolla-ansible

在kolla-ansible部署節點的/etc/kolla/globals.yml文件中,配置網卡。如下所示。

? eth0:openstack管理網路;vlan 51,交換機埠設置為Access模式

? eth1:虛機網路(vxlan);vlan 52,交換機埠設置為Access模式

? eth2:外部網路兼虛機網路(vlan);vlan網段53-54,交換機埠設置為trunk模式,主機不配置IP地址

1.在所有網路節點上,操作如下

修改文件/etc/kolla/neutron-server/ml2_conf.ini

修改文件/etc/kolla/neutron-openvswitch-agent/ml2_conf.ini

重啟neutron容器

docker restart neutron_server neutron_openvswitch_agent

在網路節點上,查看br-ex網橋設置情況,如下。

2.在所有計算節點上,執行操作如下

修改文件/etc/kolla/neutron-openvswitch-agent/ml2_conf.ini

創建一個br-ex外部網橋,並關聯到主機的eth2物理網卡上。這樣,當計算節點上的虛擬機使用vlan網路時,便可以直接通過qbr->br-int->br-ex->eth2連接到外網。(vlan網路的三層路由,建議使用物理路由器,這樣性能和穩定性更好,而不需要通過網路節點上的L3 vRouter虛擬路由)。

# docker exec -u root -it neutron_openvswitch_agent ovs-vsctl add-br br-ex

# docker exec -u root -it neutron_openvswitch_agent ovs-vsctl add-port br-ex eth2

最後,重啟相關容器

# docker restart neutron_openvswitch_agent

在計算節點上,查看br-ex網橋設置情況,如下。

創建一個vlan id為53的網段

# neutron net-create vlan-53 --shared --provider:physical_network physnet1 --provider:network_type vlan --provider:segmentation_id 53

# neutron subnet-create vlan-53 172.17.53.0/24 --name provider-53-subnet --gateway 172.17.53.1

查看創建的網路,如下。

最後,創建一個虛擬機並使用該vlan網路。

# nova boot --flavor 1Gmem_1cpu --image centos7 --nic net-id=5d9c4874-e03b-4bde-aee0-947d7dde4860 test_vm

# nova list | grep test_vm

| f506129b-610f-4e2d-886b-5d791cdcb282 | test_vm | ACTIVE | - | Running | vlan-53=172.17.53.7

測試虛擬機網路通信

br-int和br-ex說明

? br-int

br-int是OpenVswitch中的集成網橋,類似於一個二層的交換機。上面掛載了大量的agent來提供各種網路服務,另外負責對發往br-ex的流量,實現local vlan轉化為外部vlan。

# ovs-ofctl dump-flows br-int

NXST_FLOW reply (xid=0x4):

cookie=0x0, duration=147294.121s, table=0, n_packets=224, n_bytes=33961, idle_age=13, hard_age=65534, priority=3,in_port=4,dl_vlan=1 actions=mod_vlan_vid:101,NORMAL

cookie=0x0, duration=603538.84s, table=0, n_packets=19, n_bytes=2234, idle_age=18963, hard_age=65534, priority=2,in_port=4 actions=drop

cookie=0x0, duration=603547.134s, table=0, n_packets=31901, n_bytes=6419756, idle_age=13, hard_age=65534, priority=1 actions=NORMAL

? br-ex

br-ex是OpenVswitch中的一個外部網橋,要做的事情很簡單,只需要正常轉發數據流量即可。

# ovs-ofctl dump-flows br-ex

NXST_FLOW reply (xid=0x4):

cookie=0x0, duration=6770.969s, table=0, n_packets=5411, n_bytes=306944, idle_age=0, hard_age=65534, priority=0 actions=NORMAL

作者介紹

徐超,現任某互聯網公司雲計算工程師。三年多OpenStack從業經歷,Kubernetes、CI/CD學習者。著有《OpenStack最佳實踐 —測試與CI/CD》一書。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲技術之家 的精彩文章:

趣圖:BUG改不完的程序猿

TAG:雲技術之家 |