Para aprovisionar un equilibrador de carga externo en un clúster de Tanzu Kubernetes, puede crear un servicio de tipo LoadBalancer. El servicio del equilibrador de carga expone una dirección IP pública. El tráfico desde el equilibrador de carga externo se puede dirigir a los pods del clúster.

Puede aprovisionar un equilibrador de carga externo para los pods de Kubernetes que se exponen como servicios. Por ejemplo, puede implementar un contenedor de Nginx y exponerlo como servicio de Kubernetes de tipo LoadBalancer.

Requisitos previos

Procedimiento

  1. Cree un enlace de funciones adecuado para la PSP con privilegios predeterminada. Consulte Ejemplo de enlaces de funciones para la directiva de seguridad de pods.
  2. Cree el siguiente archivo YAML nginx-lbsvc.yaml.
    Este archivo YAML define un servicio de Kubernetes de tipo LoadBalancer e implementa un contenedor de Nginx como un equilibrador de carga externo para el servicio.
    kind: Service
    apiVersion: v1
    metadata:
      name: srvclb-ngnx
    spec:
      selector:
        app: hello
        tier: frontend
      ports:
      - protocol: "TCP"
        port: 80
        targetPort: 80
      type: LoadBalancer
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: loadbalancer
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: hello
      template:
        metadata:
          labels:
            app: hello
            tier: frontend
        spec:
          containers:
          - name: nginx
            image: "nginxdemos/hello"
    
  3. Aplique el archivo YAML.
    kubectl apply -f nginx-lbsvc.yaml
  4. Compruebe la implementación del servicio nginx.
    kubectl get services
    srvclb-ngnx tiene una dirección IP externa e interna.
    NAME          TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)        AGE
    srvclb-ngnx   LoadBalancer   10.11.12.19      10.19.15.89     80:30818/TCP   18m
    
  5. Desde un navegador, introduzca la dirección IP externa del servicio LoadBalancer de Nginx.
    Verá un mensaje con el banner de NGINX y los detalles del equilibrador de carga.