Terway网络场景下的vSwitch扩容

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Terway网络插件是阿里云容器服务自研的网络插件,使用原生的弹性网卡分配给Pod实现Pod网络。兼顾性能和灵活性,是阿里云容器服务目前阶段、尤其是在大规模集群场景下的首选网络方案。本文讲解如何处理集群使用的vSwitch IP资源不足的问题以及解决办法。

Terway网络插件是阿里云容器服务自研的网络插件,使用原生的弹性网卡分配给Pod实现Pod网络。兼顾性能和灵活性,是阿里云容器服务目前阶段、尤其是在大规模集群场景下的首选网络方案。本文讲解如何处理集群使用的vSwitch IP资源不足的问题以及解决办法。

image

1. vSwitch IP资源不足的特征

如果用户发现Pod创建不出来,状态为ContainerCreating,使用命令

kubectl logs --tail=100 -f terway-eniip-zwjwx -n kube-system -c terway

查看Pod所在节点的terway的日志中,出现如下InvalidVSwitchId.IpNotEnough错误信息:

time="2020-03-17T07:03:40Z" level=warning msg="Assign private ip address failed: Aliyun API Error: RequestId: 2095E971-E473-4BA0-853F-0C41CF52651D Status Code: 403 Code: InvalidVSwitchId.IpNotEnough Message: The specified VSwitch \"vsw-AAA\" has not enough IpAddress., retrying"

说明该节点的terway所使用的vSwitch没有空余IP地址,Pod会因为没有IP资源而一直处于ContainerCreating状态。
如果登录控制台查看该vSwitch的状态,会发现剩余IP数目为0.
image

为了解决这个问题,用户可以手动添加新的vSwitch,增加新的IP地址资源。


2. 添加vSwitch的流程

通过执行如下流程完成添加vSwitch到K8s集群使用。

(1) 在VPC控制台创建新的vSwitch, 注意该vSwitch必须与IP资源不足的vSwitch在一个区域。

因为Pod密度越来越大,建议给Pod使用的vSwitch的网段,网络位小于等于19,也就是网段至少包含8192个IP地址。

(2) 使用如下命令,添加vSwitch到terway的配置ConfigMap中。

kubectl edit cm eni-config -n kube-system

例如添加"vsw-BBB"到vswitches部分,其中vsw-AAA是已经存在的、IP资源不足的vSwitch。

eni_conf: |
{
"version": "1",
"max_pool_size": 25,
"min_pool_size": 10,
"vswitches": {"cn-shanghai-f":["vsw-AAA", "vsw-BBB"]},
"service_cidr": "172.21.0.0/20",
"security_group": "sg-CCC"
}

(3) 如果terway版本不是最新的,需要在组件控制台将terway版本升到最新版本

(4) 如果Step 3中版本已经是最新,跳过该步,继续到下一步;否则,使用如下命令删除全部terway Pod重建。

针对ENI单IP场景执行:

kubectl delete -n kube-system pod -l app=terway-eniip

或者针对ENI单IP场景执行:

kubectl delete -n kube-system pod -l app=terway-eni

然后检查全部terway Pod重建成功。

(5) 创建Pod,验证新创建的Pod可以从新vSwitch成功分配获得IP。


3. 寻求帮助

如果在上述操作中出现异常,请联系客服解决。

目录
相关文章
|
1月前
|
自动驾驶 物联网 5G
深入探索5G网络中的网络切片技术及其应用场景
深入探索5G网络中的网络切片技术及其应用场景
496 3
|
3天前
|
机器学习/深度学习 自然语言处理 自动驾驶
神经网络有哪些应用场景呢
【10月更文挑战第14天】神经网络有哪些应用场景呢
|
16天前
|
Java Linux
【网络】高并发场景处理:线程池和IO多路复用
【网络】高并发场景处理:线程池和IO多路复用
34 2
|
15天前
|
机器学习/深度学习 自然语言处理 算法
神经网络算法以及应用场景和基本语法
神经网络算法以及应用场景和基本语法
24 0
|
2月前
|
API
|
5月前
|
监控 安全 Linux
【专栏】Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip
【4月更文挑战第28天】本文介绍了Linux中六个常用的网络命令:ping、traceroute、netstat、nmap、ifconfig和ip,以及它们在测试网络连通性、追踪路由、查看网络状态、安全扫描和接口配置等场景的应用。通过学习和运用这些命令,系统管理员和网络爱好者能更有效地诊断和管理网络问题,确保网络稳定运行。
247 0
|
2月前
|
负载均衡 安全 网络虚拟化
CCE集群VPC网络模式下几种访问场景
【8月更文挑战第13天】在CCE(Cloud Container Engine)集群的VPC网络模式下,支持多样化的访问场景:容器应用可直接利用VPC访问外部资源;通过ELB负载均衡或VPN/专线配置,实现外部网络对容器应用的安全访问;容器间通过内部IP或服务发现机制相互通信;跨VPC访问则可通过VPC对等连接或云连接服务实现。这些方案确保了应用内外部通信的安全与高效。
|
4月前
|
监控 网络协议 安全
Socket网络编程中的常见应用场景与实例分析
Socket网络编程中的常见应用场景与实例分析
|
4月前
|
Kubernetes 网络协议 Cloud Native
Kubernetes网络问题排查分享两则(1)——calico特定场景下的网络性能问题
在对Kubernetes项目[kosmos](https://github.com/kosmos-io/kosmos)与Calico网络性能进行对比测试时,发现kosmos在跨集群容器网络的性能显著优于Calico的集群内网络(约6Gbit/s对比2.9Gbit/s)。物理机网络测试达到9.38Gbit/s,显示Calico有68%的性能损耗。问题定位到网卡的checksum/offload参数,尝试用`ethtool`调整后虽短暂提升,但随后恢复原状。转载自:https://mp.weixin.qq.com/s/XsQZCSqZAXJK46zqc7IpLw
|
3月前
|
Java 物联网 应用服务中间件
Socket网络编程中的常见应用场景与实例分析
Socket网络编程中的常见应用场景与实例分析