Istio

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

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
customizeConfigMap customizeConfigMap

Si desea que Oracle gestione Istio automáticamente, defina customizeConfigMap en false (valor por defecto).

Si desea personalizar Istio mediante istioctl (u otra herramienta soportada por Istio) y desea conservar las personalizaciones cuando Oracle actualice el complemento, defina customizeConfigMap en true.

Obligatorio false true
discovery.ContainerResources discovery.ContainerResources

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.

discovery.EnvVariables discovery.EnvVariables

Lista de variables de entorno de contenedor de detección de plano de control de Istio, en formato JSON.

Opcional nulo [{"name":"ISTIO_GPRC_MAXRECVMSGSIZE","value":"8388608"},{"name":"ISTIO_GPRC_MAXSTREAMS","value":"150000"}]
enableIngressGateway enableIngressGateway Activar gateway de entrada de Istio Obligatorio false true
istio-ingressgateway.Annotations istio-ingressgateway.Annotations

Anotaciones para transferir al despliegue de Istio.

Por ejemplo, para especificar la unidad del equilibrador de carga o si se debe crear el equilibrador de carga como un equilibrador de carga de red. Para obtener más anotaciones, consulte Resumen de anotaciones para equilibradores de carga y equilibradores de carga de red.

Formato JSON en texto sin formato o codificado con Base64.

Opcional ""

{"service.beta.kubernetes.io/oci-load-balancer-shape":"400Mbps"}

{"oci.oraclecloud.com/load-balancer-type": "nlb"}

istio-ingressgateway.HorizontalPodAutoscalerMinReplicas istio-ingressgateway.HorizontalPodAutoscalerMinReplicas

Número mínimo de réplicas de la escala automática de pod horizontal de la puerta de entrada de Istio.

Debe ser un entero, con un valor mayor que cero.

Opcional nulo 1
istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas

Número máximo de réplicas de la escala automática de pod horizontal del gateway de entrada de Istio.

Debe ser un entero, con un valor mayor que cero.

Opcional nulo 3
istio-ingressgateway.PodDisruptionBudgetMinAvailable istio-ingressgateway.PodDisruptionBudgetMinAvailable

Número o porcentaje mínimo de pods de gateway de entrada de Istio disponibles.

Opcional nulo

1

10%

istiod.HorizontalPodAutoscalerMinReplicas istiod.HorizontalPodAutoscalerMinReplicas

Número mínimo de réplicas del controlador de Istio.

Debe ser un entero, con un valor mayor que cero.

Opcional nulo 1
istiod.HorizontalPodAutoscalerMaxReplicas istiod.HorizontalPodAutoscalerMaxReplicas

Número máximo de réplicas del controlador de Istio.

Debe ser un entero, con un valor mayor que cero.

Opcional nulo 3
istiod.PodDisruptionBudgetMinAvailable istiod.PodDisruptionBudgetMinAvailable

Número o porcentaje mínimo de pods de controlador de Istio disponibles.

Opcional nulo

1

10%

profile perfil Perfil de instalación de Istio Obligatorio "oke-default" "oke-default"
Consideraciones de cluster grande

En la siguiente tabla, se describen las consideraciones para configurar este complemento de cluster en clusters de gran tamaño.

Nombre del Argumento Número de nodos ordenado de roles Descripción A medida que aumenta el tamaño del cluster Riesgos Recomendación
affinity N

Controla la ubicación de los pods de Istio en nodos concretos.

No aplicable No aplicable No aplicable
nodeSelectors N

Controla si los pods de Istio se ejecutan en nodos con etiquetas concretas.

No aplicable No aplicable No aplicable
tolerations N

Controla si los pods de Istio se pueden ejecutar en nodos contaminados.

No aplicable No aplicable No aplicable
topologySpreadConstraints Y

Controla cómo se distribuyen los pods de Istio coincidentes entre la topología del cluster.

Es posible que deba ajustar las restricciones de distribución de topología cuando aumente el número de réplicas istiod .

Si no se configura bien, las réplicas de istiod o gateway pueden terminar en la misma ubicación en el mismo nodo o en la misma zona, por lo que un fallo de nodo/zona elimina varias réplicas a la vez.

Configure topologySpreadConstraints para distribuir réplicas de istiod y gateway de entrada en diferentes nodos y zonas de disponibilidad, lo que mejora la resiliencia frente a fallos de nodos y zonas.

numOfReplicas Y

Controla el número de réplicas del plano de control de Istio.

Es posible que se necesiten más réplicas a medida que aumenta el número de pods que participan en la malla de servicio.

Si se establece en un valor demasiado bajo, el istiod tiene mayores posibilidades de convertirse en un único punto de fallo durante los drenajes o las actualizaciones del nodo.

Aumente el número de réplicas a medida que aumenta el número de pods acoplados.

rollingUpdate N

Controla la estrategia de actualización para el despliegue de Istio.

No aplicable No aplicable No aplicable
customizeConfigMap N

Controla la configuración de Istio en el nivel de operador.

No aplicable No aplicable No aplicable
discovery.ContainerResources Y

Define recursos de CPU y memoria para el contenedor de detección istiod .

Los requisitos de CPU y memoria pueden aumentar a medida que aumenta el número de proxies acoplados y la cantidad de configuración de Istio.

Si el tamaño es bajo, el plano de control de Istio puede carecer de CPU o memoria, lo que corre el riesgo de una propagación de configuración más lenta, actualizaciones de sidecar retrasadas e inestabilidad bajo una alta rotación de malla.

Asigne suficiente CPU y memoria para el istiod en función del tamaño y el tráfico de la malla, y supervise el uso de los recursos con regularidad para evitar cuellos de botella del plano de control a medida que crece el cluster.
discovery.EnvVariables N

Define variables de entorno para el contenedor de detección de plano de control Istio.

No aplicable No aplicable No aplicable
enableIngressGateway N

Controla si el gateway de entrada de Istio clásico está activado.

No aplicable No aplicable

Active el gateway de entrada solo cuando el cluster necesite el gateway de entrada de Istio clásico.

istio-ingressgateway.Annotations Y

Define anotaciones para el gateway de entrada de Istio, incluidas las anotaciones que controlan el tipo y la unidad del equilibrador de carga.

La configuración del equilibrador de carga necesaria depende de la cantidad de tráfico que recibe o se espera que reciba el gateway de entrada, en lugar de depender directamente del número de nodos del cluster.

Si está mal configurado, el gateway de entrada se puede aprovisionar con la unidad o el tipo de equilibrador de carga incorrectos (por ejemplo, una unidad de LB o un valor de NLB de OCI incorrectos). Esto puede provocar una exposición incorrecta, límites de rendimiento o problemas de enrutamiento de tráfico.

Configure las anotaciones del equilibrador de carga de OCI para que coincidan con sus requisitos de tráfico de producción y su arquitectura de red, lo que garantiza un equilibrio de carga, una escalabilidad y una alta disponibilidad óptimos.
istio-ingressgateway.HorizontalPodAutoscalerMinReplicas Y

Define el número mínimo de réplicas de gateway de entrada de Istio mantenidas por la escala automática de pod horizontal.

Es posible que se necesiten más réplicas de gateway de entrada a medida que aumenta el tráfico.

Si es demasiado bajo, el gateway de entrada tiene menos capacidad base y es más probable que se convierta en un cuello de botella de tráfico durante los picos. Si es 1, también hay menos resiliencia durante las interrupciones.

Aumente el número mínimo de réplicas a medida que aumenta el tráfico para mantener la disponibilidad y la tolerancia a fallos.

istio-ingressgateway.HorizontalPodAutoscalerMaxReplicas Y

Define el número máximo de réplicas de gateway de entrada de Istio que puede crear la escala automática de pod horizontal.

Es posible que el gateway de entrada deba ampliarse a más réplicas a medida que aumenta el tráfico.

Si es demasiado bajo, el gateway de entrada no se puede escalar lo suficiente durante los aumentos del tráfico, lo que puede crear latencia o conexiones descartadas.

Aumente el número máximo de réplicas a medida que aumenta el tráfico para mantener la disponibilidad y la tolerancia a fallos.

istio-ingressgateway.PodDisruptionBudgetMinAvailable Y

Define el número o el porcentaje mínimo de pods de gateway de entrada de Istio que deben permanecer disponibles durante una interrupción voluntaria.

Es posible que sea necesario un valor de disponibilidad mínimo más alto a medida que aumenta el tráfico de entrada.

Si es demasiado bajo, las actualizaciones o los drenajes de nodos pueden eliminar demasiadas puertas de enlace a la vez y crear una interrupción de entrada.

Aumente el valor de disponibilidad mínimo a medida que aumenta el tráfico para mantener una alta disponibilidad.

istiod.HorizontalPodAutoscalerMinReplicas Y

Define el número mínimo de réplicas istiod que mantiene la escala automática de pod horizontal.

Es posible que se necesiten más réplicas de istiod a medida que aumenta el tamaño de la malla de servicio.

Si es demasiado bajo, el plano de control comienza con muy poca capacidad y es más probable que se quede atrás durante las ráfagas de configuración.

Aumente el número mínimo de réplicas a medida que aumenta el tamaño de la malla. Utilice al menos tres réplicas para mantener la disponibilidad.

istiod.HorizontalPodAutoscalerMaxReplicas Y

Define el número máximo de réplicas istiod que puede crear la escala automática de pod horizontal.

Es posible que se necesiten más réplicas istiod cuando las réplicas existentes alcancen o superen sus límites de recursos.

Si es demasiado bajo, el istiod no puede escalar lo suficiente para manejar el crecimiento de la malla, el abandono de la configuración o un gran número de sidecars.

Aumente el número máximo de réplicas cuando los pods istiod se acerquen de forma consistente o superen sus límites de recursos.

istiod.PodDisruptionBudgetMinAvailable Y

Define el número o el porcentaje mínimo de pods istiod que deben permanecer disponibles durante una interrupción voluntaria.

El mantenimiento de las réplicas istiod disponibles adquiere cada vez mayor importancia cuando el plano de control gestiona una malla de servicio de gran tamaño.

Si es demasiado bajo, un drenaje o actualización puede dejar el plano de control no disponible y la inyección de sidecar puede fallar en todo el cluster.

Configure el valor para que algunos pods istiod permanezcan disponibles durante los reinicios y las actualizaciones de configuración.

profile N

Especifica el perfil de instalación de Istio.

No aplicable No aplicable No aplicable