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.