Para enrutar el tráfico externo a los pods que se ejecutan en un clúster de TKG 2.0, cree un servicio de tipo LoadBalancer. El servicio de equilibrador de carga expone una dirección IP pública desde la cual se enruta el tráfico entrante a los pods.

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 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"
    
  2. Aplique el archivo YAML.
    kubectl apply -f nginx-lbsvc.yaml
  3. 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
    
  4. 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.