Um externen Datenverkehr an Pods weiterzuleiten, die in einem TKG 2.0-Cluster ausgeführt werden, erstellen Sie einen Dienst vom Typ „LoadBalancer“. Der Lastausgleichsdienst macht eine öffentliche IP-Adresse verfügbar, von der eingehender Datenverkehr an Pods weitergeleitet wird.
Sie können einen externen Load Balancer für Kubernetes-Pods bereitstellen, die als Dienste verfügbar gemacht werden. Beispielsweise können Sie einen Nginx-Container bereitstellen und als Kubernetes-Dienst vom Typ „LoadBalancer“ zur Verfügung stellen.
Voraussetzungen
- Sehen Sie sich die Details zum Diensttyp „LoadBalancer“ in der Dokumentation zu Kubernetes an.
- Stellen Sie einen TKG-Cluster bereit.
- Stellen Sie eine Verbindung mit dem TKG-Cluster her.
Prozedur
- Erstellen Sie die folgende nginx-lbsvc.yaml-YAML-Datei.
Diese YAML-Datei definiert einen Kubernetes-Dienst vom Typ „LoadBalancer“ und stellt einen Nginx-Container als externen Load Balancer für den Dienst bereit.
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"
- Wenden Sie die YAML an.
kubectl apply -f nginx-lbsvc.yaml
- Überprüfen Sie die Bereitstellung des Nginx-Diensts.
srvclb-ngnx
ist mit einer externen und internen IP-Adresse ausgestattet.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
srvclb-ngnx LoadBalancer 10.11.12.19 10.19.15.89 80:30818/TCP 18m
- Geben Sie über einen Browser die externe IP-Adresse für den Nginx-LoadBalancer-Dienst ein.
Sie sehen das Banner mit der
NGINX
-Meldung und Details des Lastausgleichsdiensts.