Configuración del controlador de entrada nativo de OCI
Descubra cómo configurar y personalizar el controlador de entrada nativo de OCI para equilibrar la carga y enrutar el tráfico entrante a los pods de servicio que se ejecutan en nodos de trabajador en un cluster de Kubernetes.
Cuando haya instalado el controlador de entrada nativo de OCI (ya sea como un programa independiente o como un complemento de cluster) y creado los recursos relacionados con la entrada de Kubernetes necesarios para utilizarlo, puede configurar el controlador de entrada nativo de OCI:
Especificación de reglas de ruta para el controlador de entrada nativo de OCI
Para especificar cómo el equilibrador de carga de OCI creado por el controlador de entrada nativo de OCI (instalado como programa independiente o como complemento de cluster) enruta las solicitudes entrantes, especifique reglas de ruta en el manifiesto Ingress
.
Enrutar solicitudes según el host
Puede configurar el controlador de entrada nativo de OCI para enrutar una solicitud entrante según el nombre de dominio en la cabecera Host de la solicitud (el host al que se envió originalmente la solicitud).
Para enrutar una solicitud a un servicio de backend y puerto concretos según el host, cree una regla de ruta en el manifiesto Ingress
. Si el host coincide con la regla de ruta, el controlador de entrada nativo de OCI enruta la solicitud al servicio y puerto backend asociados.
Por ejemplo, puede definir la siguiente regla para direccionar las solicitudes enviadas originalmente a http://foo.bar.com
a un servicio de backend denominado ServiceA en el puerto 80. Todo el tráfico entrante enviado originalmente a http://foo.bar.com
se direcciona a ServiceA en el puerto 80.
kind: Ingress
...
spec:
rules:
- host: "foo.bar.com"
http:
paths:
- pathType: Prefix
path: /
backend:
serviceName: ServiceA
servicePort: 80
Enrutar solicitudes a diferentes servicios de backend según la ruta de acceso
Puede configurar el controlador de entrada nativo de OCI para enrutar las solicitudes entrantes a diferentes servicios de backend, en función de los elementos de la ruta a la que se enviaron originalmente las solicitudes.
Para enrutar una solicitud a un puerto y servicio de backend concreto según la ruta de acceso, cree una regla de ruta en el manifiesto Ingress
. Si la ruta coincide con la regla de ruta, el controlador de entrada nativo de OCI enruta la solicitud al servicio y puerto backend asociados. Puede especificar varias rutas de acceso en la misma regla para enrutar solicitudes a distintos backends.
Por ejemplo, puede definir la siguiente regla para enrutar solicitudes en función de la ruta a la que se envió originalmente la solicitud:
- Si la ruta de acceso empieza por /app1, el controlador de entrada nativo de OCI enruta la solicitud a un servicio de backend denominado ServiceA en el puerto 80.
- Si la ruta de acceso empieza por /app2, el controlador de entrada nativo de OCI enruta la solicitud a un servicio de backend denominado ServiceB en el puerto 443.
Puesto que la regla no especifica un host, la regla se aplica a todo el tráfico entrante.
kind: Ingress
...
spec:
rules:
- http:
paths:
- pathType: Prefix
path: /app1
backend:
serviceName: ServiceA
servicePort: 80
- pathType: Prefix
path: /app2
backend:
serviceName: ServiceB
servicePort: 443
Enrutar solicitudes según el host y la ruta
Puede configurar el controlador de entrada nativo de OCI para enrutar una solicitud entrante según el nombre de dominio de la cabecera Host de la solicitud (el host al que se envió originalmente la solicitud) y los elementos de la ruta de acceso a la que se envió la solicitud original.
Para enrutar una solicitud a un puerto y servicio de backend concreto según el host y la ruta de acceso, cree una regla de ruta en el manifiesto Ingress
. Si el host y la ruta coinciden con la regla de ruta, el controlador de entrada nativo de OCI enruta la solicitud al servicio y puerto backend asociados.
Por ejemplo, puede definir la siguiente regla para direccionar las solicitudes enviadas originalmente a http://foo.bar.com/app1
a un servicio de backend denominado foo en el puerto 80:
kind: Ingress
...
spec:
rules:
- host: "foo.bar.com"
http:
paths:
- pathType: Prefix
path: /app1
backend:
serviceName: foo
servicePort: 80
Enrutar solicitudes a un backend por defecto
Puede configurar el controlador de entrada nativo de OCI para enrutar las solicitudes entrantes a un backend por defecto. Puede configurar un backend por defecto para manejar solicitudes que no coincidan con ninguna regla de ruta.
Por ejemplo, puede definir el siguiente defaultBackend
para direccionar solicitudes que no coincidan con otras reglas del manifiesto Ingress
a un servicio de backend denominado ServiceC en el puerto 8080.
Tenga en cuenta que si no especifica ninguna otra regla en un manifiesto Ingress
, debe especificar un defaultBackend
.
kind: Ingress
...
spec:
rules:
- http:
paths:
- pathType: Prefix
path: /app1
backend:
serviceName: ServiceA
servicePort: 80
- pathType: Prefix
path: /app2
backend:
serviceName: ServiceB
servicePort: 443
defaultBackend:
service:
name: ServiceC
port:
number: 8080
Personalización del comportamiento del controlador de entrada nativo de OCI mediante anotaciones
Puede agregar anotaciones a los manifiestos de recursos IngressClass
o Ingress
para personalizar el comportamiento del controlador de entrada nativo de OCI (instalado como un programa independiente o como un complemento de cluster).
Personalización del comportamiento general mediante anotaciones
Puede agregar anotaciones a los manifiestos de recursos IngressClass
o Ingress
para personalizar el comportamiento general del controlador de entrada nativo de OCI.
anotación | Descripción | Agregar anotación a este manifiesto de recurso | Ejemplo |
---|---|---|---|
oci-native-ingress.oraclecloud.com/id |
OCID de un equilibrador de carga de OCI existente que utilizar, en lugar de crear uno nuevo. Tenga en cuenta que si especifica un equilibrador de carga existente, sus propiedades se actualizan según sea necesario para alinearse con los valores de los manifiestos de recursos de entrada y IngressClassParameters. |
IngressClass |
oci-native-ingress.oraclecloud.com/id: ocid1.loadbalancer.oc1.iad.aaaaaaaan___u7a |
oci-native-ingress.oraclecloud.com/protocol |
Protocolo que se utilizará para el listener en el equilibrador de carga. (Tenga en cuenta que si especifica HTTP2 como protocolo, se necesita un listener configurado para TLS). | Ingress |
oci-native-ingress.oraclecloud.com/protocol: "HTTP2" |
oci-native-ingress.oraclecloud.com/policy |
Política que utilizará el juego de backends del equilibrador de carga para la distribución del tráfico. | Ingress |
oci-native-ingress.oraclecloud.com/policy: "ROUND_ROBIN" |
oci-native-ingress.oraclecloud.com/waf-policy-ocid |
OCID de una política de firewall de aplicación web (WAF) existente. Consulte Políticas de Web Application Firewall. | Ingress |
oci-native-ingress.oraclecloud.com/waf-policy-ocid: ocid1.webappfirewallpolicy.oc1.iad.ama___aqq |
Personalización del comportamiento de las comprobaciones del sistema mediante anotaciones
Puede agregar anotaciones al manifiesto de recurso Ingress
para personalizar las comprobaciones del sistema realizadas por el equilibrador de carga creado por el controlador de entrada nativo de OCI. Para obtener más información sobre las comprobaciones del sistema del equilibrador de carga, consulte Health Checks for Load Balancers.
anotación | Descripción | Agregar anotación a este manifiesto de recurso | Ejemplo |
---|---|---|---|
oci-native-ingress.oraclecloud.com/healthcheck-protocol |
Protocolo que se utilizará para las comprobaciones del sistema del juego de backends del equilibrador de carga. | Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-protocol: "HTTP" |
oci-native-ingress.oraclecloud.com/healthcheck-port |
Puerto que se utilizará para las comprobaciones del sistema del juego de backends del equilibrador de carga. | Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-port: "80" |
oci-native-ingress.oraclecloud.com/healthcheck-path |
Ruta de acceso que se utilizará para las comprobaciones del sistema del juego de backends del equilibrador de carga. | Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-path: "/test" |
oci-native-ingress.oraclecloud.com/healthcheck-interval-milliseconds |
Intervalo entre las comprobaciones del sistema del juego de backends del equilibrador de carga. | Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-interval-milliseconds: "1000" |
oci-native-ingress.oraclecloud.com/healthcheck-timeout-milliseconds |
Período de tiempo tras el cual se considera que la comprobación del sistema del juego de backends del equilibrador de carga ha fallado. | Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-timeout-milliseconds: "750" |
oci-native-ingress.oraclecloud.com/healthcheck-retries |
Número de reintentos tras los cuales se considera que ha fallado la comprobación del sistema del juego de backends del equilibrador de carga. | Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-retries: "5" |
oci-native-ingress.oraclecloud.com/healthcheck-return-code |
Código de estado que debe devolver el juego de backends del equilibrador de carga en respuesta a una comprobación del sistema para que se considere en buen estado. | Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-return-code: "200" |
oci-native-ingress.oraclecloud.com/healthcheck-response-regex |
Expresión regular para analizar el cuerpo de respuesta del juego de backends del equilibrador de carga. Puede especificar cualquier valor de expresión regular (como * o / ) o un valor vacío. | Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-response-regex: "*" |
oci-native-ingress.oraclecloud.com/healthcheck-force-plaintext |
Si se debe enviar una comprobación del sistema al backend del equilibrador de carga sin SSL (solo HTTP). Si no se especifica, false es el valor por defecto. |
Ingress |
oci-native-ingress.oraclecloud.com/healthcheck-force-plaintext: "true" |
Configuración de una puerta de preparación de pod
Las puertas de preparación de pod son condiciones adicionales incluidas en un manifiesto de pod para indicar que un pod está listo para recibir tráfico. Las puertas de preparación de pod permiten implantar comprobaciones de preparación personalizadas complejas y pueden ayudar a lograr un tiempo de inactividad cero durante los despliegues sucesivos. Para obtener más información, consulte Detalles de preparación de pods en la documentación de Kubernetes.
Al utilizar el controlador de entrada nativo de OCI (ya sea como programa independiente o como complemento de cluster) con un cluster que tiene redes de pod nativo de VCN como tipo de red, puede especificar que el controlador de entrada nativo de OCI debe inyectar una puerta de preparación de pod en la especificación de pod de cada pod creado en un espacio de nombres concreto. Tenga en cuenta que no puede utilizar el controlador de entrada nativo de OCI para inyectar puertas de preparación de pod en las especificaciones de pod si el cluster tiene superposición de franela como tipo de red.
Especifique que el controlador de entrada nativo de OCI debe inyectar una puerta de preparación de pod en la especificación de pod de cada pod creado en un espacio de nombres concreto introduciendo:
kubectl label ns <namespace> podreadiness.ingress.oraclecloud.com/pod-readiness-gate-inject=enabled
El controlador de entrada nativo de OCI inyecta una condición en la especificación de pod de cada pod creado en el espacio de nombres. Por ejemplo:
kind: Pod
...
spec:
readinessGates:
- conditionType: backend-health.lb.ingress.k8s.oci/ServiceA_80
kubectl get pods -o wide -w
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
testecho-7cdcfff87f-b6xt4 1/1 Running 0 35s 10.0.10.242 10.0.10.135 <none> 0/1
testecho-7cdcfff87f-b6xt4 1/1 Running 0 72s 10.0.10.242 10.0.10.135 <none> 1/1
Adición de compatibilidad con solicitudes HTTPS/TLS
Puede utilizar el controlador de entrada nativo de OCI (ya sea como programa independiente o como complemento de cluster) para soportar la comunicación HTTPS segura. Mediante el controlador de entrada nativo de OCI, puede configurar listeners y juegos de backends del equilibrador de carga de OCI para manejar el tráfico cifrado mediante TLS (anteriormente SSL).
Al utilizar el controlador de entrada nativo de OCI para soportar la comunicación HTTPS, tiene dos opciones:
- Opción 1: el controlador de entrada nativo de OCI obtiene el certificado del servicio Certificates mediante un secreto de Kubernetes: crea un secreto de Kubernetes y especifica el nombre del secreto en un manifiesto de recurso
Ingress
. El controlador de entrada nativo de OCI utiliza el secreto de Kubernetes para obtener un certificado y un grupo de autoridades de certificación (grupo de autoridades de certificación) del servicio OCI Certificates. El controlador de entrada nativo de OCI asocia el certificado y el grupo de autoridades de certificación al listener y al juego de backends. - Opción 2: obtiene el certificado del servicio Certificates: puede crear manualmente un certificado en el servicio OCI Certificates. A continuación, especifique el OCID del certificado en el manifiesto de recurso
Ingress
como una anotación. El controlador de entrada nativo de OCI asocia el certificado al listener y al juego de backends.
Al manejar el tráfico HTTPS, el equilibrador de carga de OCI creado por el controlador de entrada nativo de OCI implanta TLS de extremo a extremo. El equilibrador de carga utiliza certificados para aceptar una solicitud cifrada de TLS de un cliente y, a continuación, utiliza reglas de enrutamiento para reenviar la solicitud al juego de backends adecuado. El juego de backends crea una nueva conexión TLS con los pods de servicio que se ejecutan en el cluster (mediante el grupo de autoridades de certificación como autoridad de confianza para la nueva conexión).
Tenga en cuenta lo siguiente:
- Si suprime un recurso
IngressClass
, el controlador de entrada nativo de OCI suprime el equilibrador de carga que ha creado (o suprime el equilibrador de carga existente especificado por la anotaciónoci-native-ingress.oraclecloud.com/id
). Sin embargo, tenga en cuenta que el controlador de entrada no suprime los recursos creados en el servicio Certificates de OCI. Es responsable de suprimir cualquiera de estos recursos del servicio Certificates. En particular, si ha especificado un secreto de Kubernetes en el manifiesto de recursoIngress
, tenga en cuenta que es responsable de suprimir cualquier recurso del servicio Certificates que haya creado el controlador de entrada nativo de OCI. - Los certificados obtenidos del servicio de certificados de OCI de tipo importado no se pueden rotar automáticamente. Si desea que los certificados se roten automáticamente, obtenga manualmente un certificado en el servicio Certificates de OCI especificando que desea que el certificado lo emita una CA interna del servicio Certificates (los certificados son del tipo Emitidos por CA interna). Puede configurar certificados de tipo Emitidos por CA interna para que se roten automáticamente.
- Si especifica un secreto de Kubernetes en el manifiesto de recurso
Ingress
, tenga en cuenta que los certificados del controlador de entrada nativo de OCI que obtiene del servicio Certificates son de tipo Imported y, por lo tanto, no se rotan automáticamente. Para rotar manualmente dichos certificados de servicio de Certificates, primero cree un nuevo secreto de Kubernetes mediante un nuevo par de claves públicas y privadas TLS y un nuevo certificado. A continuación, actualice el recursoIngress
con el nombre del nuevo secreto. El controlador de entrada nativo de OCI obtiene un nuevo certificado y un grupo de autoridades de certificación del servicio Certificates y los asocia al listener y al juego de backends (sustituyendo el certificado anterior y el grupo de autoridades de certificación). - Un listener solo se puede asociar a un certificado. Por lo tanto, no cree varios recursos de entrada que tengan reglas que especifiquen la misma combinación de servicio/puerto de backend, pero donde los recursos de entrada utilicen certificados diferentes.
Opción 1: el controlador de entrada nativo de OCI obtiene el certificado del servicio Certificates mediante un secreto de Kubernetes
Para configurar el controlador de entrada nativo de OCI para obtener un certificado del servicio Certificates de OCI:
- Obtenga un par de claves pública y privada TLS y un certificado.
En entornos de producción, obtiene un certificado TLS de la autoridad de certificación seleccionada enviando una solicitud de firma de certificado. Durante el proceso de solicitud de certificado, se generan una clave pública y la clave privada correspondiente.
En entornos de desarrollo y prueba, puede crear un certificado autofirmado y generar una clave privada usted mismo mediante una herramienta como OpenSSL. Por ejemplo (mediante OpenSSL 3.0 o posterior):
-
Genere un par de claves públicas y privadas introduciendo los siguientes comandos:
openssl genrsa -out rootCA.key 4096
openssl req -x509 -addext basicConstraints=critical,CA:TRUE -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt -subj /CN=RootCA
-
Genere un certificado introduciendo los siguientes comandos:
openssl genrsa -out server.key 4096
openssl req -new -sha256 -key server.key -subj /C=US/ST=CA/O=MyOrg,Inc./CN=my.example.com -out server.csr
openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256
En este ejemplo:
rootCA.key
contiene el par de claves para la CA raíz.rootCA.crt
contiene el certificado de CA raíz.server.key
contiene el par de claves para generar el certificado de servidor.server.csr
contiene la solicitud de firma de certificado para el certificado de servidor.server.crt
contiene el certificado de servidor generado.
-
- Cree un recurso secreto de Kubernetes de una de las siguientes formas:
-
Mediante el comando
kubectl create secret generic
, introduzca:kubectl create secret generic <k8s-secret-name> --type=kubernetes.io/tls --from-file=ca.crt=<path-and-filename>.crt --from-file=tls.crt=<path-and-filename>.crt --from-file=tls.key=<path-and-filename>.key
donde:
<k8s-secret-name>
es el nombre que ha elegido para el secreto de Kubernetes--from-file=ca.crt=<path-and-filename>.crt
especifica la ruta de acceso al archivo que contiene el certificado de CA raíz. Por ejemplo,--from-file=ca.crt=rootCA.crt
--from-file=tls.crt=<path-and-filename>.crt
especifica la ruta al archivo que contiene el certificado de servidor generado. Por ejemplo,--from-file=tls.crt=server.crt
--from-file=tls.key=<path-and-filename>.key
especifica la ruta de acceso al archivo que contiene la clave privada generada. Por ejemplo,--from-file=tls.key=server.key
Por ejemplo:
kubectl create secret generic example-tls-secret --type=kubernetes.io/tls --from-file=ca.crt=rootCA.crt --from-file=tls.crt=server.crt --from-file=tls.key=server.key
- Mediante un archivo de manifiesto de recurso
Secret
:-
Defina el secreto de Kubernetes en un archivo .yaml con el siguiente formato:
apiVersion: v1 kind: Secret metadata: name: <k8s-secret-name> type: kubernetes.io/tls data: ca.crt: <base64-encoded-certificate-chain> tls.crt: <base64-encoded-server-certificate> tls.key: <base64-encoded-private-key>
donde:
name: <k8s-secret-name>
es el nombre que ha elegido para el recurso secreto de Kubernetes.ca.crt: <base64-encoded-certificate-chain>
es el contenido del archivo (o archivos) que contiene certificados intermedios que forman una cadena de certificados desde el certificado de hoja hasta la autoridad de certificación.tls.crt: <base64-encoded-server-certificate>
es el contenido del archivo que contiene el certificado de servidor generado.tls.key: <base64-encoded-private-key>
es el contenido del archivo que contiene la clave privada generada.
Por ejemplo:
apiVersion: v1 kind: Secret metadata: name: example-tls-secret type: kubernetes.io/tls data: ca.crt : MIIFGERTegcDFRTuSDGfghREdE______Jre tls.crt: MIIC2DCCAcCgAwIBAgIBATANBg______kqh tls.key: MIIEpgIBAAKCAQEA7yn3bRHQ5F______HMQ
-
Cree el recurso secreto introduciendo
kubectl create -f <filename>.yaml
-
-
- Agregue el secreto de Kubernetes a un manifiesto de recurso
Ingress
:- Defina un nuevo recurso de entrada en un archivo .yaml. Consulte Creación de recurso de entrada.
- En la sección
spec:
del manifiesto, agregue un elementotls:
que especifique tanto el host que va a recibir tráfico HTTPS como el nombre del secreto de Kubernetes, en el formato:kind: Ingress ... spec: tls: - hosts: - <host-name> secretName: <k8s-secret-name>
Por ejemplo:
kind: Ingress ... spec: tls: - hosts: - my.example.com secretName: example-tls-secret
- En la sección
rules:
del manifiesto, agregue una regla para el host que va a recibir tráfico HTTPS y especifique 443 como puerto en el que desea recibir tráfico HTTPS.Por ejemplo:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: acme-tls-secret-ingress spec: tls: - hosts: - my.example.com secretName: example-tls-secret rules: - host: "my.example.com" http: paths: - pathType: Prefix path: "/TLSPath" backend: service: name: tls-test port: number: 443
-
Cree el recurso introduciendo
kubectl create -f <filename>.yaml
Al crear el recurso de entrada, el controlador de entrada nativo de OCI utiliza el secreto de Kubernetes para obtener un certificado de tipo Importado y un grupo de autoridades de certificación (paquete de autoridades de certificación) del servicio Certificates de OCI. El controlador de entrada nativo de OCI asocia el certificado al listener y el grupo de autoridades de certificación al juego de backends.
Cuando el listener que recibe en el puerto 443 recibe una solicitud HTTPS en el host especificado, el listener utiliza el certificado para la terminación de TLS. A continuación, el listener utiliza la regla de direccionamiento para reenviar la solicitud al juego de backends. El juego de backends crea una nueva conexión TLS con los pods de servicio que se ejecutan en el cluster (mediante el grupo de autoridades de certificación como autoridad de confianza para la nueva conexión).
Opción 2: obtiene el certificado del servicio Certificates
Para configurar el controlador de entrada nativo de OCI para utilizar un certificado que haya obtenido del servicio OCI Certificates:
- Cree un certificado en el servicio Certificates de OCI de una de las siguientes formas:
- mediante la importación de un certificado emitido por una CA de terceros (el certificado será del tipo Importado)
- emitiendo el certificado internamente desde una CA de servicio de Certificates (el certificado será del tipo Emitido por la CA interna)
No cree un certificado para gestionar externamente (de tipo Emitido por CA interna, gestionado externamente). Para obtener más información, consulte Creación de un certificado.
- Anote el OCID del certificado.
- Agregue el OCID del certificado a un manifiesto de recurso
Ingress
:- Defina un nuevo recurso de entrada en un archivo .yaml. Consulte Creación de recurso de entrada.
- En la sección
metadata:
, agregue un elementoannotations:
que especifique el OCID del certificado que ha creado en el servicio Certificates de OCI, con el formato:kind: Ingress metadata: name: <i-name> annotations: oci-native-ingress.oraclecloud.com/certificate-ocid: <certificate-ocid> spec: ...
donde:
name: <i-name>
es el nombre que elija para el recurso de entrada.oci-native-ingress.oraclecloud.com/certificate-ocid: <certificate-ocid>
es el OCID del certificado que ha creado en el servicio Certificates de OCI
Por ejemplo:
kind: Ingress metadata: name: acme-tls-certificate-ingress annotations: oci-native-ingress.oraclecloud.com/certificate-ocid: ocid1.certificate.oc1.iad.amaaaaaa______gabc spec: ...
- En la sección
rules:
del manifiesto de recursoIngress
, agregue una regla para el host que va a recibir tráfico HTTPS y especifique 443 como puerto en el que desea recibir tráfico HTTPS.Por ejemplo:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: acme-tls-certificate-ingress annotations: oci-native-ingress.oraclecloud.com/certificate-ocid: ocid1.certificate.oc1.iad.amaaaaaa______gabc spec: rules: - host: "my.example.com" http: paths: - pathType: Prefix path: "/TLSPath" backend: service: name: tls-test port: number: 443
-
Cree el recurso introduciendo
kubectl create -f <filename>.yaml
Lo que sucede al crear el recurso de entrada depende de cómo haya creado el certificado en el servicio Certificates de OCI:
- Si ha creado el certificado importando un certificado emitido por una CA de terceros, el certificado es del tipo Importado. El controlador de entrada nativo de OCI asocia el certificado al listener, crea un grupo de autoridades de certificación a partir de la cadena de certificados y asocia el grupo de autoridades de certificación al juego de backends. Tenga en cuenta que no puede configurar certificados de tipo importados para que se roten automáticamente.
- Si ha creado el certificado emitiendo el certificado internamente desde una CA de servicio de Certificates, el certificado es de tipo Emitido por la CA interna. El controlador de entrada nativo de OCI asocia el certificado al listener, obtiene el OCID de la CA y asocia ese OCID al juego de backends. Tenga en cuenta que puede configurar certificados de tipo Emitidos por CA interna para que se roten automáticamente.
Cuando el listener que recibe en el puerto 443 recibe una solicitud HTTPS en el host especificado, el listener utiliza el certificado para la terminación de TLS. A continuación, el listener utiliza la regla de direccionamiento para reenviar la solicitud al juego de backends. El juego de backends crea una nueva conexión TLS con los pods de servicio que se ejecutan en el cluster (mediante el grupo de CA o la CA identificada por su OCID, como autoridad de confianza para la nueva conexión).