要在 Tanzu Kubernetes 集群中置备外部负载均衡器,可以创建 LoadBalancer 类型的服务。负载均衡器服务公开公用 IP 地址。来自外部负载均衡器的流量可以定向到集群 pod。
可以为作为服务提供的 Kubernetes pod 置备外部负载均衡器。例如,可以部署 Nginx 容器,并将其作为 LoadBalancer 类型的 Kubernetes 服务提供。
过程
- 创建默认特权 PSP 的适当角色绑定。请参见Pod 安全策略的角色绑定示例。
- 创建以下 nginx-lbsvc.yaml YAML 文件。
此 YAML 文件定义了 LoadBalancer 类型的 Kubernetes 服务,并将 Nginx 容器部署为该服务的外部负载均衡器。
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"
- 应用 YAML。
kubectl apply -f nginx-lbsvc.yaml
- 验证 Nginx 服务的部署。
srvclb-ngnx
已启动,并且具有外部 IP 地址和内部 IP 地址。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
srvclb-ngnx LoadBalancer 10.11.12.19 10.19.15.89 80:30818/TCP 18m
- 使用浏览器,输入 Nginx LoadBalancer 服务的外部 IP 地址。
将显示消息
NGINX
横幅和负载均衡器的详细信息。