自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Ack集群Terway網絡場景下的vSwitch擴容

網絡 通信技術
Terway是阿里云開源的基于專有網絡 VPC 的容器網絡接口CNI(Container Network Interface)插件,支持基于Kubernetes標準的網絡策略來定義容器間的訪問策略。

[[442525]]

 目錄

  • 1、Terway 網絡介紹
  • 2、問題現(xiàn)象
  • 3、擴容操作
    • 3.1 新增交換機并配置 NAT
    • 3.2 配置集群的 Terway
    • 3.3 重啟 terway

1、Terway 網絡介紹

Terway是阿里云開源的基于專有網絡 VPC 的容器網絡接口CNI(Container Network Interface)插件,支持基于Kubernetes標準的網絡策略來定義容器間的訪問策略??梢酝ㄟ^使用Terway網絡插件實現(xiàn)Kubernetes集群內部的網絡互通

Terway網絡插件將原生的彈性網卡分配給Pod實現(xiàn)Pod網絡,支持基于Kubernetes標準的網絡策略(Network Policy)來定義容器間的訪問策略,并兼容Calico的網絡策略

在Terway網絡插件中,每個Pod都擁有自己網絡棧和IP地址。同一臺ECS內的Pod之間通信,直接通過機器內部的轉發(fā),跨ECS的Pod通信,報文通過VPC的彈性網卡直接轉發(fā)。由于不需要使用VxLAN等的隧道技術封裝報文,因此Terway模式網絡具有較高的通信性能

一句話總結,Terway最大的特點就是借助于云上ECS服務器的特性,將pod與node的網絡進行了拉平,同時使用VPC下vSwitch中的ip

2、問題現(xiàn)象

由于使用了Terway網絡模式,隨著node機器和pod數量的增多,每分配一個ip出去都需要消耗掉vpc下vsw的可用ip。如果某短時間業(yè)務快速增長,導致pod大量消耗可用ip,這個時候就有可能因前期規(guī)劃不充足導致vSwitch的可用ip不足

這個時候新創(chuàng)建的pod狀態(tài)為ContainerCreating,describe查看pod提示error allocate ip...,這個時候查看Pod所在節(jié)點的Terway的日志,會有下面內容

  1. Message: The specified VSwitch "vsw-xxxxx" has not enough IpAddress. 

提示沒有足夠的ip,這個時候基本都是由于交換機的ip不夠用,登錄到交換機的控制臺可以查看到這個節(jié)點所在的交換機的可用ip數,如果很少甚至為0,就表示需要擴容了

3、擴容操作

3.1 新增交換機并配置 NAT

在專有網絡管理控制臺對應的VPC創(chuàng)建新的vSwitch,該vSwitch必須與IP資源不足的vSwitch在同一個區(qū)域。這是因為Terway分配給pod ip時的策略是,分配node所在可用區(qū)中的vSwitch對應的ip,因此,擴容就需要擴容同一可用區(qū)的交換機

在初始化集群新建交換機以及擴容交換機的時候都應該考慮,因Pod密度越來越大,為了滿足Pod對IP地址日益增長的需求,建議創(chuàng)建給Pod使用的vSwitch的網絡位小于等于19,即每個網段中至少包含8192個可用IP地址

vSwitch創(chuàng)建完成后,需要對這個vSwitch配置NAT策略,以便訪問外部網絡。

3.2 配置集群的 Terway

配置集群的Terway,添加上面創(chuàng)建的vSwitch到Terway的ConfigMap配置中。

  1. kubectl -n kube-system edit cm eni-config 

配置樣例參考Terway 配置參考[1],部分內容說明如下:

  1. apiVersion: v1 
  2. kind: ConfigMap 
  3. metadata: 
  4.   name: eni-config 
  5.   namespace: kube-system 
  6. data: 
  7.   10-terway.conf: |- 
  8.     { 
  9.       "cniVersion""0.3.0"
  10.       "name""terway"
  11.       "type""terway" 
  12.     } 
  13.   disable_network_policy: "true" 
  14.   eni_conf: |- 
  15.     { 
  16.       "version""1",  # 版本 
  17.       "max_pool_size": 80,  # 資源池最大水位 
  18.       "min_pool_size": 20,  # 資源池最小水位 
  19.       "credential_path""/var/addon/token-config"
  20.       "vswitches": {"cn-shanghai-f":["vsw-AAA""vsw-BBB"]},  # 關聯(lián)的虛擬交換機(ENI多IP模式),添加vsw-BBB到VSwitches部分,其中vsw-AAA是已經存在的且IP資源不足的VSwitch 
  21.       "eni_tags": {"ack.aliyun.com":"xxxxxxxxx"}, 
  22.       "service_cidr""172.16.0.0/16",  # 服務CIDR 
  23.       "security_group""sg-xxxxxxx", # 安全組ID 
  24.       "vswitch_selection_policy""ordered" 
  25.     } 

上面配置參數中,資源池水位的配置值。Terway使用底層虛擬化底層的網絡資源打通容器網絡,網絡資源的創(chuàng)建和釋放需要一系列的API調用,如果在Pod創(chuàng)建銷毀時頻繁調用API會導致Pod配置時間較長。Terway通過池化的方式對資源進行緩存,當小于資源的池的最小水位時自動補充資源,在大于資源池最大水位時開始釋放資源,這樣保障了高效的資源利用和分配的效率。

相當于預先分配了ip,具體設置可以考慮到所在機器節(jié)點規(guī)格支持的最大eni輔助網卡個數以及最大pod數靈活設置。

3.3 重啟 terway

重啟所有Terway的pod以便快速刷新緩存生效。

  1. # kubectl -n kube-system delete pod -l app=terway-eniip 
  2. # kubectl -n kube-system get pod | grep terway 

重啟后檢查異常的pod是否正常獲取了ip即可。

當排查某個pod的ip分配相關問題時,也可以通過進入到所在節(jié)點的terway pod中,執(zhí)行命令行,查看當前已分配的 ip 情況,以及已經從vSwitch分配得來后,暫時空閑的ip情況。

  1. # terway-cli mapping 
  2. Status | Pod Name                                               | Res ID                           | Factory Res ID 
  3. Normal | node-problem-detector-l5h52                            | 00:16:10:48:3e:37.10.244.18.167 | 00:16:10:48:3e:37.10.244.18.167 
  4. ... 
  5. Idle   |                                                        | 00:16:10:48:3e:37.10.244.18.132 | 00:16:10:48:3e:37.10.244.18.132 
  6. Idle   |                                                        | 00:16:10:48:3e:37.10.244.18.18  | 00:16:10:48:3e:37.10.244.18.18 
  7. Idle   |                                                        | 00:16:10:48:3e:37.10.244.18.54  | 00:16:10:48:3e:37.10.244.18.54 

See you ~

參考資料

[1]Terway 配置參考:

https://github.com/AliyunContainerService/terway/blob/main/docs/dynamic-config.md

本文轉載自微信公眾號「仙人技術」,可以通過以下二維碼關注。轉載本文請聯(lián)系仙人技術公眾號。

 

 

責任編輯:武曉燕 來源: 仙人技術
相關推薦

2021-02-06 08:51:32

MyCAT擴容場景

2015-10-10 14:54:00

網絡虛擬化物理網絡vSwitch

2018-08-08 15:35:42

網絡故障網絡異常網絡報錯

2011-10-27 10:21:57

數據中心虛擬化虛擬交換機

2021-03-29 15:59:52

區(qū)塊鏈比特幣擴容

2011-08-18 12:19:17

vSwitchVMNIC

2025-01-06 00:38:12

2020-11-04 11:25:33

Linux目錄命令

2018-08-08 10:32:55

分布式集群存儲

2012-11-19 16:16:05

TD-LTECDMA網絡架構

2011-08-30 10:10:21

vSphere vSwVLAN虛擬交換機

2016-08-12 15:40:17

CCEKubernetes華為

2024-08-13 15:46:57

2021-09-28 11:30:37

阿里云容器ACK

2021-10-07 16:45:44

存儲網絡場景

2022-05-13 07:26:28

策略模式設計模式

2020-04-20 10:40:19

紅藍對抗網絡攻擊數據泄露

2023-12-26 08:59:52

分布式場景事務機制

2022-08-04 18:23:28

屏幕共享卡頓流暢度

2022-04-21 10:38:34

阿里云原生數據
點贊
收藏

51CTO技術棧公眾號