Controlador de entradas nativo de OCI
Al activar el complemento de cluster de controlador de entrada nativo de OCI, 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 |
|---|---|---|---|---|---|
authSecretName
|
authSecretName | Nombre del secreto de Kubernetes que se va a utilizar para la autenticación de usuario cuando authType se define en user. |
Opcional |
""
|
oci-config
|
authType
|
authType | Tipo de autenticación que utiliza el controlador de entrada nativo de OCI al realizar solicitudes, como una de las siguientes:
|
Opcional |
instance
|
workloadIdentity
|
certDeletionGracePeriodInDays
|
certDeletionGracePeriodInDays |
Número de días que espera el controlador de entrada nativo de OCI antes de suprimir los recursos de servicio de certificados de OCI no utilizados. Se aplica cuando el controlador de entrada nativo de OCI obtiene un certificado del servicio Certificates mediante un secreto de Kubernetes. Debe ser un valor entero. Si el valor es menor o igual que cero, el controlador de entrada nativo de OCI no suprime los recursos de servicio OCI Certificates no utilizados. |
Opcional |
0
|
1
|
compartmentId
|
compartmentId | OCID del compartimento en el que el controlador de entrada nativo de OCI va a crear el equilibrador de carga de OCI (y el certificado, si el argumento del complemento useLbCompartmentForCertificates está definido en false). |
Obligatorio |
""
|
ocid1.compartment.oc1..aaaaaaaa______ddq
|
controllerClass
|
controllerClass | El nombre del controlador especificado en su ingressClass que debe gestionar el controlador de entrada nativo de OCI. | Opcional |
oci.oraclecloud.com/native-ingress-controller
|
oci.oraclecloud.com/native-ingress-controller
|
emitEvents
|
emitEvents |
Si se emiten eventos de Kubernetes para errores de entrada y IngressClass observados durante la conciliación. Si se define en |
Opcional |
false
|
false
|
leaseLockName
|
leaseLockName | Indica el nombre del arrendamiento que se usará para la elección de líder. | Opcional |
oci-native-ingress-controller
|
oci-native-ingress-controller
|
leaseLockNamespace
|
leaseLockNamespace | Espacio de nombres del permiso. | Opcional |
native-ingress-controller-system
|
native-ingress-controller-system
|
loadBalancerSubnetId
|
loadBalancerSubnetId | OCID de la subred del equilibrador de carga. | Obligatorio |
""
|
ocid1.subnet.oc1.iad.aaaaaaaa______dba
|
logVerbosity
|
logVerbosity | El número para el nivel de detalle del registro. | Opcional |
4
|
2
|
metricsBackend
|
metricsBackend | Nombre del backend de métricas. | Opcional |
prometheus
|
prometheus
|
metricsPort
|
metricsPort | Puerto de métricas. | Opcional |
2223
|
2223
|
oci-native-ingress-controller.ContainerResources
|
recursos de contenedor native-ingress-controller |
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. |
useLbCompartmentForCertificates
|
useLbCompartmentForCertificates |
Si utilizar el compartimento especificado para el equilibrador de carga de OCI (en el recurso IngressClassParameters relacionado) para gestionar los recursos del servicio OCI Certificates al utilizar un secreto de Kubernetes para obtener un certificado y un grupo de autoridades de certificación. Consulte Opción 1: OCI Native Ingress Controller obtiene el certificado del servicio Certificates mediante un secreto de Kubernetes. Si se define en |
Opcional |
false
|
false
|
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 del controlador de entrada nativo según las reglas de afinidad de pod y antiafinidad de pod. |
No aplicable | No aplicable | No aplicable |
nodeSelectors
|
N |
Controla la ubicación de los pods del controlador de entrada nativo según las etiquetas de nodo. |
No aplicable | No aplicable | No aplicable |
numOfReplicas
|
N |
Controla el número de réplicas en el despliegue del controlador de entrada nativo. |
No aplicable | No aplicable | No aplicable |
rollingUpdate
|
N |
Controla la estrategia de actualización del despliegue, incluida la configuración como |
No aplicable | No aplicable | No aplicable |
tolerations
|
N |
Controla si los pods del controlador de entrada nativo se pueden ejecutar en nodos contaminados. |
No aplicable | No aplicable | No aplicable |
topologySpreadConstraints
|
N |
Controla cómo los pods del controlador de entrada nativo coincidentes se distribuyen en la topología del cluster mediante valores como |
No aplicable | No aplicable | No aplicable |
oci-native-ingress-controller.ContainerResources
|
Y |
Define las solicitudes de CPU y memoria y los límites para el pod del controlador de entrada nativo. |
El controlador examina los nodos para identificar los backends del equilibrador de carga disponibles. Por lo tanto, el uso de CPU y memoria aumenta a medida que aumenta el número de nodos.
Cuando
Cuando |
|
Se espera una CPU alta y un límite con |
routingStrategies.hostBasedRouting
|
N |
Enruta las solicitudes a un servicio según el nombre de dominio de la solicitud. |
No aplicable | No aplicable | No aplicable |
routingStrategies.pathBasedRouting
|
N |
Enruta las solicitudes a un servicio según la ruta de acceso de solicitud o el punto final de API. |
No aplicable | No aplicable | No aplicable |
routingStrategies.defaultRouting
|
N |
Enruta las solicitudes que no coinciden con otra regla al servicio de backend por defecto. |
No aplicable | No aplicable | No aplicable |
NIC annotations
|
Y |
Configure el comportamiento del equilibrador de carga y el controlador de entrada nativo, incluidos los valores de comprobación del sistema del backend. |
El rendimiento del enrutamiento del equilibrador de carga sigue limitado por el máximo de 512 backends en lugar del número total de nodos de cluster. Sin embargo, la política de tráfico externo seleccionada afecta al uso de recursos del controlador:
|
|
Consulte las mejores prácticas en el equilibrador de carga y la comprobación del sistema del backend. |