Istio
Al activar el complemento de cluster de Istio, puede transferir los siguientes pares clave/valor como argumentos.
| 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:
Posibles equivalentes:
|
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 Formato JSON en texto sin formato o codificado con Base64. No utilizado por:
Posibles equivalentes:
|
Opcional | nulo | {"foo":"bar", "foo2": "bar2"}El pod solo se ejecutará en nodos que tengan la etiqueta |
numOfReplicas |
numOfReplicas | Número de réplicas del despliegue del complemento. No utilizado por:
Posibles equivalentes:
|
Obligatorio | 1Crea una réplica del despliegue del complemento por cluster. |
2Crea 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:
Posibles equivalentes:
|
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 Formato JSON en texto sin formato o codificado con Base64. Posibles equivalentes:
|
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 |
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:
|
Opcional | nulo | nulo |
| 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 Si desea personalizar Istio mediante istioctl (u otra herramienta soportada por Istio) y desea conservar las personalizaciones cuando Oracle actualice el complemento, defina |
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 |
""
|
|
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 |
|
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 |
|
profile
|
perfil | Perfil de instalación de Istio | Obligatorio |
"oke-default"
|
"oke-default"
|
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 |
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 |
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 |
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 |
Es posible que se necesiten más réplicas de |
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 |
Es posible que se necesiten más réplicas |
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.PodDisruptionBudgetMinAvailable
|
Y |
Define el número o el porcentaje mínimo de pods |
El mantenimiento de las réplicas |
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 |
profile
|
N |
Especifica el perfil de instalación de Istio. |
No aplicable | No aplicable | No aplicable |