IBM Cloud Docs
Configuración de un equilibrador de carga de aplicación para VPC

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. Luego, puedes registrar opcionalmente el ALB de VPC con un registro DNS y un certificado TLS. Los ALB de VPC sólo admiten el protocolo TCP.

No confunda el equilibrador de carga de aplicaciones para VPC con los equilibradores de carga de Ingress de IBM Cloud Kubernetes Service. 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

Para permitir que tu aplicación reciba solicitudes públicas o privadas:

  1. 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.

  2. Cree un archivo YAML de configuración para el servicio LoadBalancer de Kubernetes. En el archivo YAML, especifique la anotación service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type como "public" o "private". La sección annotations del 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.
    
  3. Cree el servicio LoadBalancer de Kubernetes en el clúster.

    kubectl apply -f myloadbalancer.yaml -n <namespace>
    
  4. Verifique que el servicio LoadBalancer de 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.

    kubectl describe svc myloadbalancer -n <namespace>
    

    Ejemplo de salida de CLI para un servicio LoadBalancer público:

    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.
    
  5. 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) online y el Estado de suministro (Provision Status) active.

    ibmcloud is load-balancers
    

    En la siguiente salida de CLI de ejemplo, se crea el VPC ALB denominado kube-bsaucubd07dhl66e4tgg-1f4f408ce6d2485499bcbdec0fa2d306 para el servicio Kubernetes LoadBalancer:

    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
    
  6. Si ha creado un servicio LoadBalancer público, ejecute curl sobre el nombre de host del servicio LoadBalancer de Kubernetes asignado por el VPC ALB que ha encontrado en el paso 4. Ejemplo:

    curl 06496f64-us-south.lb.appdomain.cloud:8080
    

    Salida de ejemplo

    Hello world from hello-world-deployment-5fd7787c79-sl9hn! Your app is up and running in a cluster!
    

    Si ha creado un servicio LoadBalancer privado, 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 Kubernetes u OpenShift se pueden actualizar directamente mediante los comandos 'ibmcloud is' o la sección Infraestructura de VPC en 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 VPC vinculados a los clústeres Kubernetes o OpenShift, cualquier actualización de los mismos debe realizarse mediante anotaciones en la configuración de Ingress. El proveedor IBM Cloud se resincroniza periódicamente con cualquier ALB y NLB de VPC asociado para garantizar que el equilibrador de carga en ejecución se ajusta a la configuración esperada del Ingress. Por lo tanto, si realiza algún cambio en dicho equilibrador de carga directamente a través de VPC en lugar de utilizar anotaciones 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 LoadBalancer de 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:

  1. 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.

    kubectl get svc -o wide
    

    Salida 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
    
  2. Cree un subdominio de DNS personalizado o proporcionado por IBM para el nombre de host del equilibrador de carga.

    • Dominio personalizado: Proporcione su propio dominio personalizado y dele un alias especificando la IP externa del equilibrador de carga, en el formato 1234abcd-us-south.lb.appdomain.cloud como registro de nombre canónico (CNAME).

      1. Para registrar un dominio personalizado, póngase en contacto con su proveedor de DNS (Domain Name Service) o utilice un DNS de IBM Cloud.
      2. Defina un alias para su 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.cloud es accesible en www.your-custom-domain.com.
      Host/Servicio
      El prefijo donde quieres que llegue tu app como, www.
      Tipo de recurso
      Seleccione CNAME.
      TTL
      Selecciona un momento 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-dns para 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.

      1. Cree un subdominio de DNS y un certificado TLS.
        ibmcloud ks nlb-dns create vpc-gen2 --cluster <cluster_name_or_id> --lb-host <vpc_lb_hostname> --type (public|private)
        
      2. Verifique que se ha creado el subdominio. Para obtener más información, consulte Descripción del formato de subdominio.
        ibmcloud ks nlb-dns ls --cluster <cluster_name_or_id>
        
        Salida de ejemplo
        Subdomain                                                                               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>
        
  3. Si ha creado un subdominio para una VPC ALB pública, abra un navegador web e introduzca la dirección URL para acceder a su aplicación a través del subdominio, como 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 1.28 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, los registros DNS A para la propiedad hostname de este equilibrador de carga se añadirán 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 DNS instance a asociar con este balanceador 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 DNS zone a asociar con este balanceador 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 Cluster para 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 se establece en Cluster.
Especifique Local para 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, puede configurar una aplicación 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: edge en los nodos trabajadores y se especifica esta anotación, sólo los nodos de borde de la zona especificada estarán configurados 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, run ibmcloud ks zone ls --provider vpc-gen2.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-subnets
Anotación para especificar una o más subredes en las que se despliega el servicio ALB de la VPC. 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, ejecute ibmcloud ks subnets --provider vpc-gen2 --vpc-id <vpc> --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 etiqueta de nodo trabajador. Puede configurar nodos de trabajo específicos en su clúster para recibir tráfico especificando claves de selección de etiquetas. Sólo puede incluir un selector de etiqueta en la anotación, y que el 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ón service.kubernetes.io/ibm-load-balancer-cloud-provider-zone, y se ignoran las etiquetas dedicated: edge de los nodos trabajadores. 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 la configuración de 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, https o tcp. Normalmente, el protocolo de comprobación de estado de VPC LB viene determinado por el valor del ajuste externalTrafficPolicy en 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 de externalTrafficPolicy.
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 intervalo de puertos del nodo Kubernetes (30.000-32.767), el grupo de seguridad VPC aplicado a los nodos de trabajador del clúster debe modificarse para permitir el tráfico entrante en el puerto.
  • Si esta anotación se aplica a un servicio de equilibrador de carga Kubernetes asociado a un ALB de VPC, las reglas de salida del grupo de seguridad asignado al ALB de VPC deben modificarse para permitir el tráfico de salida al 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-protocol se establece en http o https. La ruta URL debe tener el formato de un destino de solicitud origen-forma. Si no se especifica esta anotación y la anotación ibm-load-balancer-cloud-provider-vpc-health-check-protocol se establece en http o https, 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 de 2 y un máximo de 60. Este valor debe ser mayor que el valor ibm-load-balancer-cloud-provider-vpc-health-check-timeout, que se establece en 2 por 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 de 1 y un máximo de 59. Este valor debe ser inferior al ibm-load-balancer-cloud-provider-vpc-health-check-delay, que se establece en 5 por 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 de 1 y un máximo de 10.
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 es 50. El máximo es 7200.
service.kubernetes.io/ibm-load-balancer-cloud-provider-dns-name: "example-ingress-domain.<region>.containers.appdomain.cloud"
Versión 1.30 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 (akamai). 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 1.28 o posterior.
El DNS instance a asociar con este balanceador 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 1.28 o posterior.
El DNS zone a asociar con este balanceador 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. Para un cluster con nodos trabajadores en tres zonas, esto resulta en que el balanceador de carga enruta a 24 nodos trabajadores en total. 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 posterior.
Un grupo de seguridad gestionado por el cliente para añadir al equilibrador de carga de la VPC. Si no desea utilizar el IBM, especifique un grupo de seguridad que posea y gestione. Esta opción elimina el grupo de seguridad gestionado por 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 que ha añadido por el grupo de seguridad gestionado por 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ón spec.template.metadata.labels del 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 TCP entrante 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.

  1. a-z0-9- ↩︎