Configuración de un equilibrador de carga de aplicación para VPC
Exponga la app a la red pública o privada mediante la configuración de un servicio LoadBalancer de Kubernetes en el clúster. Cuando expone la app, se crea automáticamente un equilibrador de carga de aplicaciones para VPC (VPC ALB)
que direcciona las solicitudes an la app en la VPC fuera de su clúster. A continuación, si lo desea, puede registrar el VPC ALB con un registro DNS y un certificad TLS. Los ALB de VPC solo admiten el protocolo TCP.
No confunda el equilibrador de carga de aplicaciones para VPC con los equilibradores de carga de Ingress de Red Hat OpenShift on IBM Cloud. Los equilibradores de carga de aplicación de VPC (VPC NLB) se ejecutan fuera del clúster en la VPC y los
servicios LoadBalancer de Kubernetes que cree los configuran. Los equilibradores de carga de aplicaciones (ALB) de Ingress son controladores Ingress que se
ejecutan en nodos trabajadores del clúster.
Configuración de un VPC ALB público o privado
Antes de empezar
- Asegúrate de que dispones del rol de acceso al servicio IAM IBM Cloud de tipo Writer o Manager para el espacio de nombres en el que implementas
el servicio
LoadBalancerKubernetes para el VPC ALB. - Acceda al clúster de Red Hat OpenShift.
- Para ver los VPC ALB, instale el plugin
infrastructure-service. El prefijo para ejecutar mandatos esibmcloud is.ibmcloud plugin install infrastructure-service
Para que tu aplicación pueda recibir solicitudes públicas o privadas:
-
Despliegue la app en el clúster. Asegúrese de añadir una etiqueta en la sección de metadatos del archivo de configuración de despliegue. Esta etiqueta personalizada identifica todos los pods en los que se ejecuta la app para incluirlos en el equilibrio de carga.
-
Cree un archivo YAML de configuración para el servicio
LoadBalancerde Kubernetes. En el archivo YAML, especifique la anotaciónservice.kubernetes.io/ibm-load-balancer-cloud-provider-ip-typecomo"public"o"private". La secciónannotationsdel archivo de ejemplo incluye sólo algunas anotaciones disponibles. Para obtener una lista completa de las anotaciones requeridas y opcionales de VPC ALB, consulte Anotaciones y especificaciones.Para que su VPC ALB sea fácilmente identificable, considere nombrar el servicio con el formato
<app_name>-vpc-alb-<VPC_zone>.apiVersion: v1 kind: Service metadata: name: myloadbalancer annotations: service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name: "`<app_name>-vpc-alb-<VPC_zone>`" service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol" service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "<public_or_private>" service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-node-selector: "<key>=<value>" spec: type: LoadBalancer selector: <selector_key>: <selector_value> ports: - name: http protocol: TCP port: 8080 targetPort: 8080 # Optional. By default, the `targetPort` is set to match the `port` value unless specified otherwise. - name: https protocol: TCP port: 443 targetPort: 443 # Optional. By default, the `targetPort` is set to match the `port` value unless specified otherwise. externalTrafficPolicy: Local # Specify Local or Cluster. -
Cree el servicio
LoadBalancerde Kubernetes en el clúster.oc apply -f myloadbalancer.yaml -n <namespace> -
Verifique que el servicio
LoadBalancerde Kubernetes se ha creado correctamente en el clúster. Cuando se crea el servicio, el campo LoadBalancer Ingress se llena con un nombre de host asignado por el VPC ALB.
El VPC ALB tarda unos minutos en suministrarse en la VPC. No puede acceder a la aplicación utilizando el nombre de host del servicio LoadBalancer de Kubernetes hasta que el ALB de VPC no se haya suministrado totalmente.
```sh {: pre}
oc describe svc myloadbalancer -n <namespace>
```
Ejemplo de salida de CLI para un servicio `LoadBalancer` público:
```sh {: screen}
NAME: myvpcalb
Namespace: default
Labels: <none>
Annotations:
Selector: app=echo-server
Type: LoadBalancer
IP: 172.21.XX.XX
LoadBalancer Ingress: 1234abcd-us-south.lb.appdomain.cloud
Port: tcp-80 80/TCP
TargetPort: 8080/TCP
NodePort: tcp-80 30610/TCP
Endpoints: 172.17.17.133:8080,172.17.22.68:8080,172.17.34.18:8080 + 3 more...
Session Affinity: None
External Traffic Policy: Local
HealthCheck NodePort: 31438
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal EnsuringLoadBalancer 16m service-controller Ensuring load balancer
Normal EnsuredLoadBalancer 15m service-controller Ensured load balancer
Normal CloudVPCLoadBalancerNormalEvent 13m ibm-cloud-provider Event on cloud load balancer myvpcalb for service default/myvpcalb with UID 08cbacf0-2c93-4186-84b6-c4ab88a2faf9: The VPC load balancer that routes requests to this Kubernetes LoadBalancer service is currently online/active.
```
-
Verifique que el VPC ALB se ha creado correctamente en la VPC. En la salida, verifique que el VPC ALB tenga el estado operativo (Operating Status)
onliney el Estado de suministro (Provision Status)active.ibmcloud is load-balancersEn la siguiente salida de CLI de ejemplo, se crea el VPC ALB denominado
kube-bsaucubd07dhl66e4tgg-1f4f408ce6d2485499bcbdec0fa2d306para el servicio KubernetesLoadBalancer:ID Name Family Subnets Is public Provision status Operating status Resource group r006-d044af9b-92bf-4047-8f77-a7b86efcb923 kube-bsaucubd07dhl66e4tgg-1f4f408ce6d2485499bcbdec0fa2d306 Application mysubnet-us-south-3 true active online default -
Si ha creado un servicio
LoadBalancerpúblico, ejecute curl sobre el nombre de host del servicioLoadBalancerde Kubernetes asignado por el VPC ALB que ha encontrado en el paso 4. Ejemplo:curl 06496f64-us-south.lb.appdomain.cloud:8080Salida de ejemplo
Hello world from hello-world-deployment-5fd7787c79-sl9hn! Your app is up and running in a cluster!Si ha creado un servicio
LoadBalancerprivado, debe estar conectado a la red de VPC privada para ejecutar curl sobre el nombre de host.
No suprima las subredes que ha conectado al clúster durante la creación del clúster o al añadir nodos trabajadores en una zona. Si suprime una subred de VPC que ha utilizado el clúster, cualquier equilibrador de carga que utilice direcciones IP de la subred puede tener problemas, y es posible que no pueda crear nuevos equilibradores de carga.
Los ALB y NLB de VPC que no estén vinculados a clústeres de Kubernetes o OpenShift se pueden actualizar directamente mediante comandos «ibmcloud is» o a través de la sección «Infraestructura de VPC» de la consola. Por ejemplo, cambiar el puerto de un receptor de front-end o el valor de tiempo de espera de comprobación de estado. Sin embargo, en el caso de los equilibradores de carga de VPC vinculados a clústeres de Kubernetes o OpenShift, cualquier actualización que se les realice debe llevarse a cabo mediante anotaciones en la configuración de Ingress. El proveedor de « IBM Cloud » se resincroniza periódicamente con cualquier ALB y NLB de VPC asociados para garantizar que el equilibrador de carga en funcionamiento se ajuste a la configuración prevista de Ingress. Por lo tanto, si realizas algún cambio en dicho equilibrador de carga directamente a través de la VPC, en lugar de utilizar anotaciones de Ingress, dichos cambios se revertirán.
Registro de un registro DNS y un certificado TLS
El equilibrador de carga de aplicación para VPC (ALB de VPC) proporciona un nombre de host HTTP predeterminado con el formato 1234abcd-<region>.lb.appdomain.cloud a través del que puede acceder a la aplicación. Sin embargo,
si desea un certificado TLS para el dominio de app para dar soporte a HTTPS, puede crear un subdominio proporcionado por IBM o puede traer su propio dominio personalizado tanto para equilibradores de carga de VPC ALB.
Después de crear un subdominio de DNS para el nombre de host de ALB de VPC, no puede utilizar los mandatos nlb-dns health-monitor para crear una comprobación de estado personalizada. En su lugar, se utiliza la comprobación de estado
del equilibrador de carga de VPC predeterminada que se proporciona para el nombre de host del VPC ALB predeterminado. Para obtener más información, consulte la documentación de VPC.
Antes de empezar
- Configure un VPC ALB. Asegúrese de definir un puerto HTTPS en su servicio
LoadBalancerde Kubernetes que configura el VPC ALB. - Para utilizar el certificado TLS para acceder a la app mediante HTTPS, la app debe poder finalizar las conexiones TLS.
Para registrar un nombre de host de VPC ALB con un subdominio DNS:
-
Recupere el nombre de host del ALB de VPC ejecutando el mandato
get svc. En la salida, busque el nombre de host en la columna EXTERNAL-IP. Por ejemplo,1234abcd-us-south.lb.appdomain.cloud.oc get svc -o wideSalida de ejemplo
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR ... webserver-lb LoadBalancer 172.21.xxx.xxx 1234abcd-us-south.lb.appdomain.cloud 8080:30532/TCP 1d run=webserver -
Cree un subdominio de DNS personalizado o proporcionado por IBM para el nombre de host del equilibrador de carga.
-
Dominio personalizado: Indica tu propio dominio personalizado y asígnale un alias especificando la IP externa del equilibrador de carga, en el formato
1234abcd-us-south.lb.appdomain.cloudde un registro de nombre canónico (CNAME).- Para registrar un dominio personalizado, póngase en contacto con su proveedor de DNS (Domain Name Service) o utilice un DNS de IBM Cloud.
- Define un alias para tu dominio personalizado especificando la IP externa del equilibrador de carga como un registro de nombre canónico (CNAME). En el siguiente ejemplo, el equilibrador de carga con la IP externa de
1234abcd-us-south.lb.appdomain.cloudes accesible enwww.your-custom-domain.com.
- Host/Servicio
- El prefijo donde quieres que llegue tu app como,
www. - Tipo de recurso
- Seleccione
CNAME. - TTL
- Selecciona un tiempo para vivir.
- Valor/Destino
- La IP externa LoadBalancer que recuperó anteriormente. Por ejemplo,
1234abcd-us-south.lb.appdomain.cloud.. Tenga en cuenta que al utilizar IBM Cloud DNS, asegúrese de introducir un punto final.
-
Subdominio proporcionado por IBM: utilice los mandatos
nlb-dnspara generar un subdominio con un certificado TLS para el nombre de host del ALB de VPC. IBM Cloud se encarga de generar y mantener el certificado TLS comodín del subdominio.- Cree un subdominio de DNS y un certificado TLS.
ibmcloud oc nlb-dns create vpc-gen2 --cluster CLUSTER_NAME_OR_ID --lb-host VPC_LB_HOSTNAME --type (public|private) - Verifique que se ha creado el subdominio. Para obtener más información, consulte Descripción del formato de subdominio.
Salida de ejemploibmcloud oc nlb-dns ls --cluster CLUSTER_NAME_OR_IDSubdomain Load Balancer Hostname Health Monitor SSL Cert Status SSL Cert Secret Name mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud ["1234abcd-us-south.lb.appdomain.cloud"] None created <certificate>
- Cree un subdominio de DNS y un certificado TLS.
-
-
Si ha creado un subdominio para un ALB de VPC pública, abra un navegador web e introduzca URL para acceder a su aplicación a través del subdominio, tal y como se muestra en el ejemplo
www.your-custom-domain.com. Si ha creado un subdominio para un VPC ALB privado, debe estar conectado a la red de VPC privada para probar el acceso a su subdominio.
Para utilizar el certificado TLS para acceder a la app mediante HTTPS, asegúrese de que ha definido un puerto HTTPS en el servicio LoadBalancer de Kubernetes. Puede verificar que las solicitudes se direccionan
correctamente a través del puerto HTTPS ejecutando curl -v --insecure https://<domain>. Un error de conexión indica que no hay ningún puerto HTTPS abierto en el servicio. Además, asegúrese de que la app puede finalizar las
conexiones TLS. Puede verificar que la aplicación termina TLS correctamente ejecutando curl -v https://<domain>. Un error de certificado indica que la app no está finalizando adecuadamente las conexiones TLS.
Registro de un registro DNS privado para una VPC ALB privada
En la versión 4.15 o posterior puedes utilizar las siguientes anotaciones opcionales para asociar un DNS propio instance que sirva a un DNS personalizado zone con un ALB de VPC privada. Para ello, deben establecerse
ambas anotaciones opcionales. Si no se especifican, se añaden los registros DNS de tipo « A » correspondientes a la propiedad « hostname » de este equilibrador de carga a la zona DNS pública lb.appdomain.cloud.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "private-dns-crn"- El
instancedel DNS que se va a asociar a este equilibrador de carga. La instancia especificada puede estar en una región o cuenta diferente, sujeta a las políticas de IAM. Valores posibles: 9 ≤ longitud ≤ 512 service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "dns-zone-id"- El
zonedel DNS que se va a asociar a este equilibrador de carga. La zona especificada puede estar en una región o cuenta diferente, sujeta a las políticas de IAM. Valores posibles: 1 ≤ longitud ≤ 128, El valor debe coincidir con la expresión regular [1]*[a-z0-9]$
Para poder utilizar esta función, debe cumplir los siguientes requisitos previos:
- Crear la zona DNS que se puede vincular a un equilibrador de carga
- Habilitar la autorización de servicio a servicio entre LB de VPC y DNS Services
- Añadir la VPC del cluster a las redes permitidas de la zona
Para obtener información detallada, consulte los documentos Integración de un balanceador de carga de aplicaciones con IBM Cloud DNS Services y Add a VPC as a permitted network to the DNS zone.
Ejemplo:
apiVersion: v1
kind: Service
metadata:
name: myloadbalancer
annotations:
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name: "my-load-balancer"
service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "private"
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "d66662cc-aa23-4fe1-9987-858487a61f45"
spec:
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: 169.60.115.164
...
Anotaciones y especificaciones
Revise las anotaciones y especificaciones requeridas y opcionales de VPC ALB.
Anotaciones y especificaciones requeridas
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "alb"- Anotación para crear un ALB VPC. Si no incluye
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features, se aprovisiona un ALB de VPC de forma predeterminada. service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "private"- (Obligatorio para ALB de VPC privada) Anotación para especificar un servicio que acepta solicitudes públicas o privadas. Si no se incluye esta anotación, se crea un ALB VPC público.
externalTrafficPolicy- Especifique
Clusterpara reenviar una solicitud a un nodo trabajador que contenga el pod de aplicaciones. Este nodo trabajador puede estar en una zona diferente. Por defecto, esta anotación está configurada enCluster. - Especifique
Localpara evitar que el tráfico entrante se reenvíe a un nodo diferente. Esta opción también configura las comprobaciones de estado de HTTP. - Tenga en cuenta que para utilizar la IP de origen del cliente original para los ALB de VPC, debe habilitar el protocolo PROXY con la anotación
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol".
Anotaciones y especificaciones opcionales
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name- Incluya un nombre único para que su equilibrador de carga VPC sea persistente. Los balanceadores de carga VPC persistentes no se eliminan cuando se elimina el clúster al que pertenecen. Para obtener más información, consulte Balanceadores de carga VPC persistentes. Esta anotación sólo puede establecerse al crear el equilibrador de carga. No puede utilizarse en una operación de actualización.
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol"- Habilite el protocolo PROXY. El equilibrador de carga pasa la información de conexión de cliente, incluida la dirección IP del cliente, la dirección IP del servidor proxy y ambos números de puerto, en las cabeceras de solicitud a la app de fondo. Tenga en cuenta que la app de fondo debe estar configurada para aceptar el protocolo PROXY. Por ejemplo, puedes configurar una aplicación de NGINX para que acepte el protocolo PROXY siguiendo estos pasos.
service.kubernetes.io/ibm-load-balancer-cloud-provider-zone- Anotación para especificar una zona de VPC a la que está conectado el clúster. Cuando especifica una zona en esta anotación, se producen dos procesos: (1) El ALB de la VPC se despliega en la misma subred de esa zona a la que están conectados
sus nodos de trabajador, y (2) sólo los nodos de trabajador de su clúster en esta zona se configuran para recibir tráfico del ALB de la VPC. Para colocar el equilibrador de carga en una zona específica, debe especificar esta anotación
cuando cree el equilibrador de carga. Si más tarde cambia esta anotación a una zona diferente, los nodos de escucha y de trabajador backend se actualizan automáticamente para que coincidan con la nueva zona. Si se establece la etiqueta
dedicated: edgeen los nodos de trabajo y se especifica esta anotación, solo los nodos periféricos de la zona especificada se configurarán para recibir tráfico. Los nodos periféricos de otras zonas y los nodos no periféricos de la zona especificada no reciben tráfico del equilibrador de carga. To see zones, runibmcloud ks zone ls --provider vpc-gen2. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-subnets- Anotación para especificar una o varias subredes en las que se implementa el servicio VPC ALB. Si se especifica, esta anotación prevalece sobre la anotación
service.kubernetes.io/ibm-load-balancer-cloud-provider-zone. Sin esta anotación, las subredes que despliega el ALB de la VPC se actualizan automáticamente para coincidir con las zonas de un clúster si éste se actualiza de región de zona única a multizona, o viceversa. Tenga en cuenta que puede especificar una subred distinta en la misma VPC que las subredes a las que está conectado el clúster. En este caso, aunque el VPC ALB se despliega en una subred diferente en la misma VPC, el VPC ALB puede seguir direccionando el tráfico a los nodos trabajadores de las subredes del clúster. Para ver las subredes de todos los grupos de recursos, ejecuteibmcloud oc subnets --provider vpc-gen2 --vpc-id VPC_ID --zone ZONE. Esta anotación puede añadirse o modificarse para los ALB de VPC existentes. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-node-selector- Anotación para especificar un selector de etiquetas de nodos de trabajo. Puede configurar nodos de trabajo específicos en su clúster para recibir tráfico especificando claves de selección de etiquetas. Solo se puede incluir un selector de
etiqueta en la anotación, y dicho selector debe especificarse en el formato
"key=value". Si no se especifica esta anotación, todos los nodos trabajadores del clúster se configuran para recibir tráfico desde el VPC ALB. Esta anotación tiene prioridad sobre la anotaciónservice.kubernetes.io/ibm-load-balancer-cloud-provider-zone, y se ignoran todas las etiquetasdedicated: edgede los nodos de trabajo. Para limitar el tráfico a una zona específica, puede utilizar esta anotación para especificar nodos trabajadores en esa zona. Tenga en cuenta que establecer una nueva etiqueta en un nodo de trabajador de clúster no configura automáticamente el nodo de trabajador para recibir tráfico; debe volver a crear o actualizar el ALB de la VPC para que el nodo de trabajador recién etiquetado reciba tráfico. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-protocol- El protocolo de comprobación de estado en el recurso de equilibrador de carga de VPC asociado al servicio de equilibrador de carga Kubernetes. Las opciones disponibles son
http,httpsotcp. Normalmente, el protocolo de comprobación de estado de VPC LB viene determinado por el valor del ajusteexternalTrafficPolicyen la especificación del servicio de balanceador de carga Kubernetes, sin embargo, esta anotación anula esa lógica. Esta anotación no altera cómo Kubernetes, y kube-proxy en particular, se comporta con respecto a las diversas configuraciones deexternalTrafficPolicy. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-port- El puerto TCP que se utiliza para las comprobaciones de estado. Esta anotación sólo se aplica si también se especifica
ibm-load-balancer-cloud-provider-vpc-health-check-protocol. - Si su clúster no ejecuta Secure by Default, es posible que deba realizar las siguientes modificaciones en los grupos de seguridad de VPC aplicados. Si su clúster ejecuta Secure by Default, estos cambios se aplican automáticamente.
-
- Si el puerto TCP especificado se encuentra fuera del rango de puertos de los nodos Kubernetes (30 000-32 767), será necesario modificar el grupo de seguridad de la VPC aplicado a los nodos de trabajo del clúster para permitir el tráfico entrante en dicho puerto.
-
- Si esta anotación se aplica a un servicio de equilibrado de carga de « Kubernetes » asociado a un VPC ALB, es necesario modificar las reglas de salida del grupo de seguridad asignado al VPC ALB para permitir el tráfico saliente hacia el puerto TCP especificado.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-path- La ruta de comprobación de salud URL para las comprobaciones de salud HTTP y HTTPs. Esta anotación sólo se aplica si
ibm-load-balancer-cloud-provider-vpc-health-check-protocolse establece enhttpohttps. La ruta URL debe tener el formato de un destino de solicitud origen-forma. Si no se especifica esta anotación y la anotaciónibm-load-balancer-cloud-provider-vpc-health-check-protocolse establece enhttpohttps, se aplica el valor por defecto/. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-delay- El número de segundos que hay que esperar entre los intentos de chequeo. Por defecto, este valor se establece en
5, y tiene un mínimo de2y un máximo de60. Este valor debe ser mayor que el valoribm-load-balancer-cloud-provider-vpc-health-check-timeout, que se establece en2por defecto. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-timeout- El número de segundos que hay que esperar para recibir una respuesta a una comprobación de estado. Por defecto, este valor se establece en
2, y tiene un mínimo de1y un máximo de59. Este valor debe ser inferior alibm-load-balancer-cloud-provider-vpc-health-check-delay, que se establece en5por defecto. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-retries- Número máximo de reintentos de comprobación de estado para el equilibrador de carga de la VPC. Por defecto, este valor se establece en
2, y tiene un mínimo de1y un máximo de10. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-idle-connection-timeout- Tiempo de espera de conexión desocupada del escucha en segundos. El tiempo de espera por defecto depende de la configuración de tu cuenta. Normalmente, este valor es
50. Sin embargo, algunas cuentas de la lista de permitidos tienen tiempos de espera más largos. Si no establece la anotación, los equilibradores de carga utilizan la configuración de tiempo de espera de su cuenta. Puede especificar explícitamente el tiempo de espera estableciendo esta anotación. El mínimo es50. El máximo es7200. service.kubernetes.io/ibm-load-balancer-cloud-provider-dns-name: "example-ingress-domain.<region>.containers.appdomain.cloud"- Versión 4.17 o o posterior.
- Registra la dirección IP del equilibrador de carga con el dominio Ingress especificado. Si el dominio especificado no existe, se crea un dominio que utiliza el proveedor gestionado
interno, IBM (
IBM NS1). Para crear un dominio nuevo, el nombre debe ser único en todos los dominios existentes (no sólo en los de su clúster). Al eliminar el servicio del equilibrador de carga se elimina la dirección IP del dominio. Sin embargo, la eliminación de la anotación no elimina la dirección IP del dominio. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "private-dns-crn"- Versión 4.15 o o posterior.
- El DNS
instanceque se debe asociar a este equilibrador de carga. Para obtener más información, consulte Registro de un registro DNS privado. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "dns-zone-id"- Versión 4.15 o o posterior.
- El DNS
zoneque se debe asociar a este equilibrador de carga. Para obtener más información, consulte Registro de un registro DNS privado. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-member-quota- Número de nodos trabajadores por zona a los que se dirige el equilibrador de carga. El valor predeterminado es 8. En el caso de un clúster con nodos de trabajo en tres zonas, esto hace que el equilibrador de carga dirija el tráfico a un total de 24 nodos de trabajo. El número total de nodos trabajadores de todas las zonas a los que se dirige el equilibrador de carga no puede superar los 50. Si el clúster tiene menos de 50 nodos trabajadores en todas las zonas, especifique 0 para enrutar a todos los nodos trabajadores de una zona.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-security-group- Versión 1.30 o o posterior.
- Un grupo de seguridad gestionado por el cliente para añadir al equilibrador de carga de la VPC. Si no desea utilizar el grupo de seguridadIBM, especifique un grupo de seguridad que posea y gestione. Esta opción elimina el grupo de seguridad IBM y lo sustituye por el grupo de seguridad que especifique. Al eliminar la anotación de un equilibrador de carga existente, se sustituye el grupo de seguridad añadido por el grupo de seguridad IBM. Puede añadir o eliminar esta anotación en cualquier momento. Usted es responsable de gestionar su grupo de seguridad y mantenerlo actualizado.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-allow-outbound-traffic- Disponible para los clústeres que ejecutan Secure by Default. Anotación para crear grupos de seguridad para cada dirección IP de un ALB asociada a un puerto externo
que especifique. Estas reglas se crean en el grupo de seguridad del clúster y se actualizan automáticamente si cambia la dirección IP del ALB de la VPC. Especifique los puertos externos válidos en una lista separada por comas, como
80,443. En este ejemplo, si cada ALB público asociado con cada valor de puerto externo tiene dos direcciones IP, se crea una regla de salida por dirección IP para un total de 4 reglas nuevas. Puede añadir o eliminar esta anotación en cualquier momento. selector- La clave de etiqueta (
<selector_key>) y el valor (<selector_value>) que ha utilizado en la secciónspec.template.metadata.labelsdel YAML de despliegue de aplicación. Esta etiqueta personalizada identifica todos los pods en los que se ejecuta la app para incluirlos en el equilibrio de carga. port- El puerto que en el que está a la escucha el servicio.
targetPort- El puerto al que el servicio dirige el tráfico. La aplicación que se ejecuta en el pod debe estar a la escucha del tráfico entrante TCP en este puerto de destino. El puerto de destino suele definirse estáticamente en la imagen que se ejecuta en el pod de aplicación. El puerto de destino configurado en el pod es diferente del puerto de nodo para el servicio y también podría ser diferente del puerto externo que está configurado en la VPC LB.
-
a-z0-9- ↩︎