Tungsten Fabric知識庫丨這裡有18個TF補丁程式,建議收藏
作者:Tatsuya Naganawa 譯者:TF編譯組
靜態scheduler:用於svc-monitor logic選擇可用的vRouter
從svc-monitor logic中解耦analytics
diff --git a/src/config/svc-monitor/svc_monitor/scheduler/vrouter_scheduler.py b/src/config/svc-monitor/svc_monitor/scheduler/vrouter_scheduler. index f40de26..7fd1f0a 100644 --- a/src/config/svc-monitor/svc_monitor/scheduler/vrouter_scheduler.py +++ b/src/config/svc-monitor/svc_monitor/scheduler/vrouter_scheduler.py @@ -115,6 +115,8 @@ class VRouterScheduler(object): return response_dict def vrouters_running(self): + ## implement logic to see available vRouter, without checking analytics response (possible choice is xmpp status from control node) + # get az host list az_vrs = self._get_az_vrouter_list()
更具擴充套件性的haproxy負載均衡器和SNAT
diff --git a/src/config/svc-monitor/svc_monitor/services/loadbalancer/drivers/ha_proxy/driver.py b/src/config/svc-monitor/svc_monitor/services/loadbalancer/drivers/ha_proxy/driver.py index 5487b2b..1bee992 100644 --- a/src/config/svc-monitor/svc_monitor/services/loadbalancer/drivers/ha_proxy/driver.py +++ b/src/config/svc-monitor/svc_monitor/services/loadbalancer/drivers/ha_proxy/driver.py @@ -92,8 +92,8 @@ class OpencontrailLoadbalancerDriver( # set interfaces and ha props.set_interface_list(if_list) - props.set_ha_mode('active-standby') - scale_out = ServiceScaleOutType(max_instances=2, auto_scale=False) + props.set_ha_mode('active-active') + scale_out = ServiceScaleOutType(max_instances=10, auto_scale=False) props.set_scale_out(scale_out) return props diff --git a/src/config/svc-monitor/svc_monitor/snat_agent.py b/src/config/svc-monitor/svc_monitor/snat_agent.py index 54ea709..f5bce37 100644 --- a/src/config/svc-monitor/svc_monitor/snat_agent.py +++ b/src/config/svc-monitor/svc_monitor/snat_agent.py @@ -169,7 +169,7 @@ class SNATAgent(Agent): si_obj.fq_name = project_fq_name + [si_name] si_created = True si_prop_obj = ServiceInstanceType( - scale_out=ServiceScaleOutType(max_instances=2, + scale_out=ServiceScaleOutType(max_instances=10, auto_scale=True), auto_policy=False) @@ -181,7 +181,7 @@ class SNATAgent(Agent): right_if = ServiceInstanceInterfaceType( virtual_network=':'.join(vn_obj.fq_name)) si_prop_obj.set_interface_list([right_if, left_if]) - si_prop_obj.set_ha_mode('active-standby') + si_prop_obj.set_ha_mode('active-active') si_obj.set_service_instance_properties(si_prop_obj) si_obj.set_service_template(st_obj)
三個XMPP連線(以覆蓋雙重故障情景)
靜態XMPP分配
contrail-controller:
基於VLAN的EVPN T2互操作
“enable_nova: no”是可配置的
(已實施)
每個標籤的安全端點統計資訊作為UVE
kubernetes的多master設定
(已實施)
tc-flower解除安裝
對此感興趣的朋友, 我嘗試了兩種vRouter設定,並在一個節點上鍵入了這些命令以繞過vRouter資料路徑,來使用tc, 發現基於tc-flower的vxlan資料路徑(出口)和vRouter的vxlan資料路徑可以互通:) -ingress vxlan decap無法正常運作,我仍在調查.. vRouter0: 172.31.4.175 (container, 10.0.1.251) vRouter1: 172.31.1.214 (container, 10.0.1.250, connected to tapeth0-038fdd) [from specific tap to known ip address, vxlan encap could be offloaded to tc] - typed on vRouter1 ip link set vxlan7 up ip link add vxlan7 type vxlan vni 7 dev ens5 dstport 0 external tc filter add dev tapeth0-038fdd protocol ip parent ffff: \ flower \ ip_proto icmp dst_ip 10.0.1.251 \ action simple sdata "ttt" action tunnel_key set \ src_ip 172.31.1.214 \ dst_ip 172.31.4.175 \ id 7 \ dst_port 4789 \ action mirred egress redirect dev vxlan7 [although for egress traffic vRouter1 is bypassed, it can still communicate] [root@ip-172-31-1-214 ~]# tcpdump -nn -i ens5 udp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens5, link-type EN10MB (Ethernet), capture size 262144 bytes 04:55:41.566458 IP 172.31.1.214.57877 > 172.31.4.175.4789: VXLAN, flags [I] (0x08), vni 7 IP 10.0.1.250 > 10.0.1.251: ICMP echo request, id 60416, seq 180, length 64 04:55:41.566620 IP 172.31.4.175.61117 > 172.31.1.214.4789: VXLAN, flags [I] (0x08), vni 7 IP 10.0.1.251 > 10.0.1.250: ICMP echo reply, id 60416, seq 180, length 64 04:55:42.570917 IP 172.31.1.214.57877 > 172.31.4.175.4789: VXLAN, flags [I] (0x08), vni 7 IP 10.0.1.250 > 10.0.1.251: ICMP echo request, id 60416, seq 181, length 64 04:55:42.571056 IP 172.31.4.175.61117 > 172.31.1.214.4789: VXLAN, flags [I] (0x08), vni 7 IP 10.0.1.251 > 10.0.1.250: ICMP echo reply, id 60416, seq 181, length 64 ^C 4 packets captured 5 packets received by filter 0 packets dropped by kernel [root@ip-172-31-1-214 ~]# / # ping 10.0.1.251 PING 10.0.1.251 (10.0.1.251): 56 data bytes 64 bytes from 10.0.1.251: seq=0 ttl=64 time=5.183 ms 64 bytes from 10.0.1.251: seq=1 ttl=64 time=4.587 ms ^C --- 10.0.1.251 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max = 4.587/4.885/5.183 ms / # [tap's RX is not incrementing since that is bypassed (TX increments, since ingress traffic still uses vRouter datapath)] [root@ip-172-31-1-214 ~]# vif --get 8 | grep bytes RX packets:3393 bytes:288094 errors:0 TX packets:3438 bytes:291340 errors:0 [root@ip-172-31-1-214 ~]# vif --get 8 | grep bytes RX packets:3393 bytes:288094 errors:0 TX packets:3439 bytes:291438 errors:0 [root@ip-172-31-1-214 ~]# vif --get 8 | grep bytes RX packets:3394 bytes:288136 errors:0 TX packets:3442 bytes:291676 errors:0 [root@ip-172-31-1-214 ~]# vif --get 8 | grep bytes RX packets:3394 bytes:288136 errors:0 TX packets:3444 bytes:291872 errors:0 [root@ip-172-31-1-214 ~]# vif --get 8 | grep bytes RX packets:3394 bytes:288136 errors:0 TX packets:3447 bytes:292166 errors:0 [root@ip-172-31-1-214 ~]#
GCE上的vRouter無法到達同一子網中的其它節點
在GCE中安裝vRouter時,它無法到達同一子網中的某個節點。該補丁是一個臨時的解決方法。
diff --git a/containers/vrouter/agent/entrypoint.sh b/containers/vrouter/agent/entrypoint.sh index f4f49f4..01e1349 100755 --- a/containers/vrouter/agent/entrypoint.sh +++ b/containers/vrouter/agent/entrypoint.sh @@ -140,7 +140,7 @@ if [ "$gcp" == "Google" ]; then for intf in $intfs ; do if [[ $phys_int_mac == "$(curl -s {intf}/mac)" ]]; then mask=$(curl -s {intf}/subnetmask) - vrouter_cidr=$vrouter_ip/$(mask2cidr $mask) + vrouter_cidr=$vrouter_ip/31 ### this can't be set /32, since in that setup, vrouter can't create ingress flow for some reason .. fi done fi
何時與multus一起使用
(已實施)
提交後發現,vRouter可以很好地與multus-cni一起工作(它可以動態識別是直接呼叫還是由某些元外掛呼叫)。
注意:由於ansible-deployer安裝了v0.3.0 CNI,因此預設情況下,橋接CNI不能正常工作。將/opt/cni/bin/bridge(和/opt/cni/bin/static)檔案替換為v0.8.6模組時,它可以正常工作。
多vCenter設定
Tungsten Fabric控制器節點提供的vCenter外掛數量與vCenter數量一樣多。
由於每個vCenter下都有多個ESXi,因此對於某個特定vCenter的ESXi,其vRouterVM上的每個vcenter-manager,都需要使用該租戶名稱(而不是硬編碼的“vCenter”租戶)來配置。
在所有計算節點上使用相同的ECMP雜湊,以實現資料包模式下的對稱ECMP
(已實施)
使用透明服務鏈時指定vlan-id
支援CentOS的舊核心
Juniper/contrail-packages
可配置的最小路由目標ID
使用Linux 5.x核心構建vRouter失敗問題
如有更多問題,請與TF中文社群聯絡。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957171/viewspace-2723845/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Tungsten Fabric知識庫丨構建、安裝與公有云部署
- Tungsten Fabric知識庫丨vRouter內部執行探秘VR
- Tungsten Fabric知識庫丨更多元件內部探秘元件
- Tungsten Fabric知識庫丨測試2000個vRouter節點部署VR
- Tungsten Fabric架構解析丨TF如何編排架構
- TF實戰丨使用Vagrant安裝Tungsten Fabric
- Tungsten Fabric架構解析丨TF的服務鏈架構
- Tungsten Fabric架構解析丨TF如何收集、分析、部署?架構
- Tungsten Fabric架構解析丨TF支援API一覽架構API
- Tungsten Fabric架構解析丨TF怎麼運作?架構
- Tungsten Fabric知識庫丨關於OpenStack、K8s、CentOS安裝問題的補充K8SCentOS
- Tungsten Fabric入門寶典丨TF元件的七種“武器”元件
- Tungsten Fabric架構解析丨TF基於應用程式的安全策略架構
- 【補丁】Oracle補丁的知識及術語Oracle
- Tungsten Fabric架構和最新技術進展丨TF成立大會演講實錄架構
- Tungsten Fabric架構解析|TF主要特點和用例架構
- 網易裁員事件,我給大家挖了這些法律知識,建議收藏!事件
- 拿下阿里、華為AI技術崗,這些知識點全考了!(建議收藏)阿里AI
- Oracle database 補丁知識介紹OracleDatabase
- Tungsten Fabric架構解析丨vRouter的部署選項架構VR
- Tungsten Fabric入門寶典丨編排器整合
- Tungsten Fabric入門寶典丨8個典型故障及排查Tips
- 【建議收藏】Go語言關鍵知識點總結Go
- 你所不知道的 Python 冷知識!(建議收藏)Python
- Tungsten Fabric架構解析丨詳解vRouter體系結構架構VR
- 你所不知道的 Python 冷知識!(二)(建議收藏)Python
- Tungsten Fabric入門寶典丨多編排器用法及配置
- Tungsten Fabric入門寶典丨首次啟動和執行指南
- 一文打盡知識圖譜(超級乾貨,建議收藏!)
- TF功能開發路線圖:盤點2021年Tungsten Fabric聚焦領域
- Tungsten Fabric入門寶典丨關於安裝的那些事(下)
- Tungsten Fabric入門寶典丨關於叢集更新的那些事
- Tungsten Fabric入門寶典丨關於服務鏈、BGPaaS及其它
- 一個程式的開機補丁
- Tungsten Fabric入門寶典丨開始第二天的工作
- 常用 CSS 程式碼片段集合,建議收藏CSS
- 微軟補丁帶來新問題 著名駭客提建議(轉)微軟
- 萬字長文肝Git--全流程知識點包您滿意【建議收藏】Git