Configuración de la limitación de la velocidad de QoS para el acceso entre los pod
Escenario
La preferencia de ancho de banda se produce entre diferentes contenedores desplegados en el mismo nodo, lo que puede causar fluctuación de servicio. Puede configurar la limitación de la velocidad de QoS para el acceso entre los pod para evitar este problema.
Restricciones
Tipo de restricción |
Modelo de red de túneles |
Modelo de red de VPC |
Modelo de la red de Cloud Native 2.0 |
---|---|---|---|
Versiones compatibles |
Todas las versiones |
Clústeres de v1.19.10 y posteriores |
Clústeres de v1.19.10 y posteriores |
Tipos de tiempo de ejecución admitidos |
Solo se admiten contenedores comunes (runC como el tiempo de ejecución contenedor). No se admiten contenedores seguros. |
Solo se admiten contenedores comunes (runC como el tiempo de ejecución contenedor). No se admiten contenedores seguros (Kata como el tiempo de ejecución contenedor). |
Solo se admiten contenedores comunes (runC como el tiempo de ejecución contenedor). No se admiten contenedores seguros (Kata como el tiempo de ejecución contenedor). |
Tipos de pod admitidos |
Solo los pod que no sean de HostNetwork |
||
Escenarios soportados |
Acceso entre los pod, pod que acceden a nodos y pod que acceden a servicios |
||
Restricciones |
No hay |
No hay |
|
Límite de tasa superior |
Valor mínimo entre el límite de ancho de banda superior y 34 Gbit/s |
Valor mínimo entre el límite de ancho de banda superior y 4.3 Gbit/s |
Valor mínimo entre el límite de ancho de banda superior y 4.3 Gbit/s |
Límite de velocidad más bajo |
Solo se admite el límite de velocidad de Kbit/s o superior. |
Actualmente, solo se admite el límite de velocidad de Mbit/s o superior. |
Uso de 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: ancho de banda de entrada del pod
- kubernetes.io/egress-bandwidth: ancho de banda de salida del pod
Si no se especifican estos dos parámetros, el ancho de banda no está limitado.
Después de modificar el límite de ancho de banda de entrada o salida de un pod, debe reiniciar el contenedor para que la modificación surta efecto. Después de modificar las anotaciones en un pod no gestionado por cargas de trabajo, el contenedor no se reiniciará, por lo que los límites de ancho de banda no surten efecto. Puede volver a crear un pod o reiniciar el contenedor manualmente.