文档首页/ 云容器引擎 CCE/ 最佳实践/ 容器/ 容器网络带宽限制的配置建议
更新时间:2024-11-25 GMT+08:00

容器网络带宽限制的配置建议

应用场景

同一个节点上的容器会共用主机网络带宽,对容器的网络带宽进行限制,可以有效避免容器之间相互干扰,提升容器间的网络稳定性。

约束与限制

Pod带宽限制功能规格如下:

功能规格

容器隧道网络模型

VPC网络模型

云原生网络2.0模型

支持的集群版本

所有集群版本均支持

v1.19.10以上集群版本

v1.19.10以上集群版本

Egress带宽限制

支持

支持

支持

Ingress带宽限制

支持

支持

支持

带宽限制不支持的场景

  • Pod访问100.125.0.0/16等云服务网段地址
  • Pod健康检查
  • Pod带宽限制仅支持普通容器(容器运行时为runC),暂不支持安全容器(容器运行时为Kata)。
  • Pod带宽限制不支持HostNetwork类型Pod。
  • Pod带宽限制仅支持单位M或G的限速配置,如100M,1G;最小取值1M,最大取值4.29G。

操作步骤

  1. 编辑工作负载yaml文件。

    vi deployment.yaml

    根据需要在spec.template.metadata.annotations中设置工作负载实例的网络带宽,限制容器的网络流量,网络带宽限制字段详解请参见表1

    未设置默认不限制。

    示例如下:

    apiVersion: apps/v1 
    kind: Deployment 
    metadata: 
      name: nginx 
    spec: 
      replicas: 1 
      selector: 
        matchLabels: 
          app: nginx 
      strategy: 
        type: RollingUpdate 
      template: 
        metadata: 
          labels: 
            app: nginx 
          annotations:
           # 入方向网络带宽
            kubernetes.io/ingress-bandwidth: 100M
           # 出方向网络带宽
            kubernetes.io/egress-bandwidth: 1G
        spec: 
          containers: 
          - image: nginx  
            imagePullPolicy: Always 
            name: nginx 
          imagePullSecrets: 
          - name: default-secret
    表1 工作负载实例网络带宽限制字段详解

    字段名称

    字段说明

    必选/可选

    kubernetes.io/ingress-bandwidth

    工作负载实例入方向网络带宽

    取值范围:1k-1P,带宽如果设置大于32G,实际带宽将等于32G

    可选

    kubernetes.io/egress-bandwidth

    工作负载实例出方向网络带宽

    取值范围:1k-1P,带宽如果设置大于32G,实际带宽将等于32G

    可选

  2. 创建工作负载。

    kubectl create -f deployment.yaml

    命令行终端显示如下类似信息:

    deployment.apps/nginx created