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
- Asegúrese de que dispone de la función de acceso al servicio IAM Writer o Manager IBM Cloud para el espacio de nombres en el que despliega
el servicio Kubernetes
LoadBalancer
para el ALB de la VPC. - Inicie una sesión en la cuenta. If applicable, target the appropriate resource group. Establezca el contexto para el clúster.
- Para ver los VPC ALB, instale el plugin
infrastructure-service
. El prefijo para ejecutar mandatos esibmcloud is
.ibmcloud plugin install infrastructure-service
Para permitir que tu aplicación reciba 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
LoadBalancer
de Kubernetes. En el archivo YAML, especifique la anotaciónservice.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type
como"public"
o"private"
. La secciónannotations
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.
-
Cree el servicio
LoadBalancer
de Kubernetes en el clúster.kubectl apply -f myloadbalancer.yaml -n <namespace>
-
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.
-
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 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
LoadBalancer
público, ejecute curl sobre el nombre de host del servicioLoadBalancer
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:
-
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
-
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).- Para registrar un dominio personalizado, póngase en contacto con su proveedor de DNS (Domain Name Service) o utilice un DNS de IBM Cloud.
- 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 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 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.- 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)
- Verifique que se ha creado el subdominio. Para obtener más información, consulte Descripción del formato de subdominio.
Salida de ejemploibmcloud ks nlb-dns ls --cluster <cluster_name_or_id>
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>
- Cree un subdominio de DNS y un certificado TLS.
-
-
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 enCluster
. - 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, runibmcloud 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, ejecuteibmcloud 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ónservice.kubernetes.io/ibm-load-balancer-cloud-provider-zone
, y se ignoran las etiquetasdedicated: 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
otcp
. Normalmente, el protocolo de comprobación de estado de VPC LB viene determinado por el valor del ajusteexternalTrafficPolicy
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 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 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 enhttp
ohttps
. 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-protocol
se establece enhttp
ohttps
, 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 de2
y un máximo de60
. Este valor debe ser mayor que el valoribm-load-balancer-cloud-provider-vpc-health-check-timeout
, que se establece en2
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 de1
y un máximo de59
. Este valor debe ser inferior alibm-load-balancer-cloud-provider-vpc-health-check-delay
, que se establece en5
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 de1
y 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 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ónspec.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.
-
a-z0-9- ↩︎