Para rotear o tráfego externo para pods em execução em um cluster TKG 2, crie um Serviço do tipo LoadBalancer. O serviço de balanceador de carga expõe um endereço IP público do qual o tráfego de entrada é roteado para os pods.

Você pode provisionar um balanceador de carga externo para pods do Kubernetes que são 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 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"
    
  2. Aplique o YAML.
    kubectl apply -f nginx-lbsvc.yaml
  3. 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
    
  4. Usando um navegador, digite o endereço IP externo para o serviço Nginx LoadBalancer.
    Você verá a mensagem NGINX banner e detalhes do balanceador de carga.