Para provisionar um balanceador de carga externo em um cluster do Tanzu Kubernetes, você pode criar um serviço do tipo LoadBalancer. O serviço do balanceador de carga expõe um endereço IP público. O tráfego do balanceador de carga externo pode ser direcionado aos pods do cluster.

Você pode provisionar um balanceador de carga externo para pods do Kubernetes expostos como serviços. Por exemplo, você pode implantar um contêiner Nginx e expô-lo como um serviço Kubernetes do tipo LoadBalancer.

Pré-requisitos

Procedimento

  1. Crie uma associação de função apropriada para o PSP privilegiado padrão. Consulte o Exemplo de associações de função para a política de segurança do pod.
  2. Crie o seguinte arquivo YAML nginx-lbsvc.yaml .
    Esse arquivo YAML define um serviço Kubernetes do tipo LoadBalancer e implanta um contêiner Nginx como um balanceador de carga externo para o serviço.
    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 o YAML.
    kubectl apply -f nginx-lbsvc.yaml
  4. Verifique a implantação do serviço Nginx.
    kubectl get services
    O srvclb-ngnx está ativo com um endereço IP externo e interno.
    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. Usando um navegador, insira o endereço IP externo para o serviço Nginx LoadBalancer.
    Você vê a faixa de mensagem NGINX e os detalhes do balanceador de carga.