Per instradare il traffico esterno verso pod in esecuzione in un cluster TKG 2.0, creare un servizio di tipo LoadBalancer. Il servizio di bilanciamento del carico espone un indirizzo IP pubblico da cui il traffico in entrata viene instradato ai pod.
È possibile eseguire il provisioning di un bilanciamento del carico esterno per i pod Kubernetes esposti come servizi. Ad esempio, è possibile distribuire un container Nginx ed esporlo come servizio Kubernetes di tipo LoadBalancer.
Prerequisiti
- Consultare la pagina sul tipo di servizio LoadBalancer della documentazione di Kubernetes.
- Effettuare il provisioning di un cluster TKG.
- Connettersi al cluster TKG.
Procedura
- Creare il file YAML nginx-lbsvc.yaml seguente.
Questo file YAML definisce un servizio Kubernetes di tipo LoadBalancer e distribuisce un container Nginx come bilanciamento del carico esterno per il servizio.
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"
- Applicare il file YAML.
kubectl apply -f nginx-lbsvc.yaml
- Verificare la distribuzione del servizio Nginx.
srvclb-ngnx
è attivo con un indirizzo IP esterno 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
- Utilizzando un browser, immettere l'indirizzo IP esterno per il servizio Nginx LoadBalancer.
Viene visualizzato il messaggio banner di
NGINX
e i dettagli del bilanciamento del carico.