日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

為Pod配置帶寬限制

本文介紹Flannel網絡插件下如何使用Kubernetes定義的Pod Annotations配置Pod出、入方向帶寬限制。Flannel集群不會默認開啟帶寬限制功能,您可以根據本文開啟該功能。

前提條件

  • 已創建使用Flannel網絡插件的ACK托管版或專有版集群,具體操作,請參見創建Kubernetes托管版集群或者創建Kubernetes專有版集群。關于如何在創建集群的過程中安裝Flannel網絡插件,請參見使用Flannel網絡插件

  • 集群中已安裝的Flannel網絡插件版本大于等于v0.15.1.4-e02c8f12-aliyun。您可以通過組件管理頁面查詢到Flannel插件版本,關于如何訪問組件管理頁面,請參見管理組件

    說明

    如無法升級Flannel組件到該版本,請先升級Kubernetes版本。具體操作,請參見升級ACK集群

配置帶寬限制

Flannel集群不會默認開啟帶寬限制功能,您需要修改Flannel配置文件來開啟該功能。如您尚未啟用該功能,請參見開啟集群帶寬限制功能

Flannel網絡插件支持對Pod網絡帶寬進行控制,您可以使用以下Pod Annotations指定Pod出、入方向的最大帶寬:

Annotation

說明

kubernetes.io/ingress-bandwidth: 10M

容器入方向最大帶寬,示例值10Mbps。

kubernetes.io/egress-bandwidth: 30M

容器出方向最大帶寬,示例值30Mbps。

使用示例
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: demo
  name: demo
  namespace: default
spec:
  selector:
    matchLabels:
      app: demo
  template:
    metadata:
      annotations:
      	# 限制Pod入方向最大帶寬為10Mbps
        kubernetes.io/ingress-bandwidth: 10M
        # 限制Pod出方向最大帶寬為30Mbps
        kubernetes.io/egress-bandwidth: 30M
      labels:
        app: demo
    spec:
      containers:
      # 以下省略

開啟集群帶寬限制功能

  1. 執行以下命令,打開并編輯Flannel組件的ConfigMap。

    kubectl edit cm -n kube-system kube-flannel-cfg
  2. data.cni-conf.json下,增加bandwidth配置,見下方注釋。

    請確保其為合法JSON格式,無多余和缺少逗號,所有符號均為英文半角格式。

    修改完成后保存退出。

    apiVersion: v1
    data:
      cni-conf.json: |
        {
          "name": "cb0",
          "cniVersion":"0.3.1",
          "plugins": [
            {
              "type": "flannel",
              "delegate": {
                "isDefaultGateway": true,
                "hairpinMode": true
               },
               "dataDir": "/var/run/cni/flannel",
               "ipam": {
                 "type": "host-local",
                 "dataDir": "/var/run/cni/networks"
               }
            },
            {
              "type": "portmap",
              "capabilities": {
                "portMappings": true
              },
              "externalSetMarkChain": "KUBE-MARK-MASQ"
            },
            # 增加以下 4 行,注意逗號
            {
              "type": "bandwidth",
              "capabilities": {"bandwidth": true}
            }
          ]
        }
  1. 執行以下命令,刪除所有Flannel容器使其自動重建容器,重建后配置開始生效。

    刪除重建Flannel不會影響存量業務的運行。

    kubectl -n kube-system delete pod -l app=flannel
  1. 執行以下命令,確保所有Flannel容器處于Running狀態。

    kubectl -n kube-system get pod -o wide -l app=flannel

    預期輸出如下,說明Flannel容器正常運行。

    NAME                    READY   STATUS    RESTARTS   AGE   IP              NODE                        NOMINATED NODE   READINESS GATES
    kube-flannel-ds-h45zj   1/1     Running   0          67s   192.XX.XX.118   cn-hangzhou.192.XX.XX.118   <none>           <none>
    kube-flannel-ds-mvfcw   1/1     Running   0          67s   192.XX.XX.119   cn-hangzhou.192.XX.XX.119   <none>           <none>
  1. 執行以下命令,確保所有Flannel容器日志中沒有異常。

    kubectl -n kube-system logs <pod 名稱>

    預期輸出如下,說明Flannel容器正常運行。

    Defaulted container "kube-flannel" out of: kube-flannel, install-cni-plugin (init), install-cni (init)
    I0925 07:20:53.794715       1 main.go:219] CLI flags config: {etcdEndpoints:http://127.XX.XX.1:4001,http://127.XX.XX.1:2379 etcdPrefix:/coreos.com/network etcdKeyfile: etcdCertfile: etcdCAFile: etcdUsername: etcdPassword: help:false version:false autoDetectIPv4:false autoDetectIPv6:false kubeSubnetMgr:true kubeApiUrl: kubeAnnotationPrefix:flannel.alpha.coreos.com kubeConfigFile: iface:[] ifaceRegex:[] ipMasq:true subnetFile:/run/flannel/subnet.env subnetDir: publicIP: publicIPv6: subnetLeaseRenewMargin:60 healthzIP:0.0.0.0 healthzPort:0 charonExecutablePath: charonViciUri: iptablesResyncSeconds:5 iptablesForwardRules:true ipforwardResyncSeconds:600 netConfPath:/etc/kube-flannel/net-conf.json setNodeNetworkUnavailable:false}
    W0925 07:20:53.794782       1 client_config.go:608] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
    I0925 07:20:53.897149       1 kube.go:121] Node controller skips sync
    I0925 07:20:53.897176       1 main.go:239] Created subnet manager: Kubernetes Subnet Manager - cn-hangzhou.192.XX.XX.118