Configuração da limitação da taxa de QoS para acesso entre pods
Cenário
A preempção de largura de banda ocorre entre diferentes contêineres implementados no mesmo nó, o que pode causar jitter de serviço. Você pode configurar a limitação da taxa de QoS para o acesso entre pods impedir este problema.
Restrições
Tipo de restrição |
Modelo da rede de túnel |
Modelo de rede da VPC |
Modelo de rede de Cloud Native 2.0 |
---|---|---|---|
Versões suportadas |
Todas as versões |
Clusters da v1.19.10 e posterior |
Clusters da v1.19.10 e posterior |
Tipos de tempo de execução suportados |
Somente contêineres comuns (runC como o tempo de execução do contêiner) são suportados. Não há suporte para contêineres seguros. |
Somente contêineres comuns (runC como o tempo de execução do contêiner) são suportados. Contêineres seguros (Kata como o runtime do contêiner) não são suportados. |
Somente contêineres comuns (runC como o tempo de execução do contêiner) são suportados. Contêineres seguros (Kata como o runtime do contêiner) não são suportados. |
Tipos de pod suportados |
Apenas pods non-HostNetwork |
||
Cenários suportados |
Acesso entre pods, pods que acessam nós e pods que acessam serviços |
||
Restrições |
Nenhuma |
Nenhuma |
|
Limite da taxa superior |
Valor mínimo entre o limite superior de largura de banda e 34 Gbit/s |
Valor mínimo entre o limite superior de largura de banda e 4,3 Gbit/s |
Valor mínimo entre o limite superior de largura de banda e 4,3 Gbit/s |
Limite da taxa inferior |
Somente o limite de taxa de Kbit/s ou superior é suportado. |
Atualmente, apenas o limite de taxa de Mbit/s ou superior é suportado. |
Usar o kubectl
apiVersion: apps/v1 kind: Deployment metadata: name: test namespace: default labels: app: test spec: replicas: 2 selector: matchLabels: app: test template: metadata: labels: app: test annotations: kubernetes.io/ingress-bandwidth: 100M kubernetes.io/egress-bandwidth: 100M spec: containers: - name: container-1 image: nginx:alpine imagePullPolicy: IfNotPresent imagePullSecrets: - name: default-secret
- kubernetes.io/ingress-bandwidth: largura de banda de entrada do pod
- kubernetes.io/egress-bandwidth: largura de banda de saída do pod
Se esses dois parâmetros não forem especificados, a largura de banda não será limitada.
Depois de modificar o limite de largura de banda de entrada ou saída de um pod, reinicie o contêiner para que a modificação tenha efeito. Depois que as anotações forem modificadas em um pod não gerenciado por cargas de trabalho, o contêiner não será reiniciado, para que os limites de largura de banda não entrem em vigor. Você pode criar um pod novamente ou reiniciar manualmente o contêiner.