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.
Procedimento
- 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"
- Aplique o YAML.
kubectl apply -f nginx-lbsvc.yaml
- Verifique a implantação do serviço Nginx.
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
- 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.