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.
Procedimiento
- 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"
- Aplique el archivo YAML.
kubectl apply -f nginx-lbsvc.yaml
- Compruebe la implementación del servicio nginx.
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
- 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.