kube-proxy

Al activar el complemento de cluster kube-proxy, puede transferir los siguientes pares clave/valor como argumentos.

Tenga en cuenta que para clusters grandes, le recomendamos que revise la configuración de kube-proxy antes de desplegar el complemento:

  • Revise kube-proxy.ContainerResources. kube-proxy se ejecuta en cada nodo de trabajador y los requisitos de recursos pueden aumentar a medida que aumenta el número de servicios, segmentos de punto final, IP de punto final y eventos de actualización. Aumente las solicitudes y los límites de CPU y memoria si los pods de proxy de kube muestran una presión sostenida de CPU o memoria.
  • Tenga cuidado al definir nodeSelectors, affinity o tolerations. kube-proxy debe ejecutarse en todos los nodos de trabajador que requieran redes de servicio de Kubernetes. La programación de restricciones que excluyen nodos puede dejar esos nodos sin una red de servicio funcional.
  • Utilice la configuración rollingUpdate que permite que las actualizaciones de proxy de kube progresen en un gran número de nodos. Evite los valores que actualizan demasiados nodos a la vez o evite que las actualizaciones avancen por el cluster.
  • Si define customizeKubeProxyConfigMap en true, revise la configuración de sincronización de kube-proxy para la versión de Kubernetes del cluster y el modo de proxy. La documentación de Kubernetes señala que en el modo iptables, es posible que los clusters muy grandes necesiten un minSyncPeriod más grande si la duración de la sincronización de reglas de proxy de kube es mucho mayor que un segundo (consulte IP virtuales y proxies de servicio en la documentación de Kubernetes).
  • Si la versión del cluster de Kubernetes, el sistema operativo y el plugin de red soportan el modo nftables, evalúe si nftables es adecuado para la carga de trabajo. La documentación de Kubernetes señala que el modo nftables está diseñado para proporcionar un mejor rendimiento y escalabilidad que el modo iptables, pero también señala que es posible que no sea compatible con todos los plugins de red (consulte IP virtuales y proxies de servicio en la documentación de Kubernetes).
Argumentos de configuración comunes a todos los complementos del cluster
Clave (API y CLI) Nombre mostrado de clave (consola) Descripción Necesario/Opcional Valor por defecto Valor de ejemplo
affinity afinidad

Grupo de reglas de programación de afinidad.

Formato JSON en texto sin formato o codificado con Base64.

No utilizado por:
  • Operador de GPU de Nvidia
Posibles equivalentes:
  • Detección de funciones de nodo, utilice master.affinity
  • Operador de red NVIDIA, utilice operator.affinity
  • SMB de controlador CSI, utilice contoller.affinity
Opcional nulo nulo
nodeSelectors selectores de nodos

Puede utilizar selectores de nodos y etiquetas de nodos para controlar los nodos de trabajador en los que se ejecutan los pods de complementos.

Para que un pod se ejecute en un nodo, el selector de nodos del pod debe tener la misma clave/valor que la etiqueta del nodo.

Defina nodeSelectors en un par clave/valor que coincida con el selector de nodos del pod y la etiqueta del nodo de trabajador.

Formato JSON en texto sin formato o codificado con Base64.

No utilizado por:
  • Operador de GPU de NVIDIA
  • SMB de controlador CSI
Posibles equivalentes:
  • Detección de funciones de nodo, utilice worker.nodeSelector
  • Operador de red NVIDIA, utilice operator.nodeSelectors
Opcional nulo {"foo":"bar", "foo2": "bar2"}

El pod solo se ejecutará en nodos que tengan la etiqueta foo=bar o foo2=bar2.

numOfReplicas numOfReplicas Número de réplicas del despliegue del complemento.
No utilizado por:
  • Plugin de GPU de AMD
  • Operador de GPU de NVIDIA
  • Operador de red NVIDIA
  • SMB de controlador CSI
Posibles equivalentes:
  • CoreDNS, utilice nodesPerReplica
  • Detección de funciones de nodo, utilice master.replicaCount
Obligatorio 1

Crea una réplica del despliegue del complemento por cluster.

2

Crea dos réplicas del despliegue del complemento por cluster.

rollingUpdate rollingUpdate

Controla el comportamiento deseado de la actualización sucesiva mediante maxSurge y maxUnavailable.

Formato JSON en texto sin formato o codificado con Base64.

No utilizado por:
  • Detección de funciones de nodo
  • Operador de red NVIDIA
  • SMB de controlador CSI
Posibles equivalentes:
  • Operador de GPU de NVIDIA, utilice daemonsets.rollingUpdate.maxUnavailable
Opcional nulo nulo
tolerations tolerancias

Puede utilizar contaminantes y tolerancias para controlar los nodos de trabajador en los que se ejecutan los pods de complementos.

Para que un pod se ejecute en un nodo que tenga un tinte, el pod debe tener una tolerancia correspondiente.

Defina tolerations en un par clave/valor que coincida con la tolerancia del pod y el mantenimiento del nodo de trabajador.

Formato JSON en texto sin formato o codificado con Base64.

Posibles equivalentes:
  • Detección de funciones de nodo, utilice master.tolerations y/o worker.tolerations
  • Operador de GPU de NVIDIA, utilice daemonsets.tolerations
  • Operador de red NVIDIA, utilice operator.tolerations
  • SMB de controlador CSI, utilice controller.tolerations
Opcional nulo [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Solo los pods que tienen esta tolerancia se pueden ejecutar en nodos de trabajador que tengan el mantenimiento tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints topologySpreadConstraints

Cómo difundir vainas coincidentes entre la topología dada.

Formato JSON en texto sin formato o codificado con Base64.

No utilizado por:
  • Detección de funciones de nodo
  • Operador de GPU de NVIDIA
  • Operador de red NVIDIA
  • SMB de controlador CSI
Opcional nulo nulo
Argumentos de configuración específicos de este complemento de cluster
Clave (API y CLI) Nombre mostrado de clave (consola) Descripción Necesario/Opcional Valor por defecto Valor de ejemplo
customizeKubeProxyConfigMap personalizar kube-proxy configMap

Si desea que Oracle gestione el proxy de Kube automáticamente, defina customizeKubeProxyConfigMap en false (valor por defecto).

Si desea personalizar el comportamiento del proxy de Kube, defina customizeKubeProxyConfigMap en true y cree un proxy de kube configMap en el espacio de nombres del sistema de kube.

Obligatorio false true
kube-proxy.ContainerResources Recursos de contenedor kube-proxy

Puede especificar las cantidades de recursos que solicitan los contenedores complementarios y establecer límites de uso de recursos que los contenedores complementarios no pueden superar.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Cree contenedores complementarios que soliciten 100 millicores de CPU y 100 mebibytes de memoria. Limite los contenedores complementarios a 500 millicores de CPU y 200 mebibytes de memoria.