LoadBalancer
本指南介绍了如何在使用 Cloud Provider KIND 的 kind 集群中使 type 为 LoadBalancer 的服务正常工作。
本指南补充了 Cloud Provider KIND 安装文档。
安装 Cloud Provider KIND 🔗︎
可以使用 golang 安装 Cloud Provider KIND
|
或下载 已发布的二进制文件 之一。
Cloud Provider KIND 作为独立的二进制文件在您的主机上运行,并连接到您的 KIND 集群,并为您的服务配置新的 Load Balancer 容器。它需要权限才能在系统上打开端口并连接到容器运行时。
使用 LoadBalancer 🔗︎
以下示例创建了一个负载均衡器服务,该服务路由到两个 http-echo pod,一个输出 foo,另一个输出 bar。
kind: Pod
apiVersion: v1
metadata:
name: foo-app
labels:
app: http-echo
spec:
containers:
- name: foo-app
image: hashicorp/http-echo:0.2.3
args:
- "-text=foo"
---
kind: Pod
apiVersion: v1
metadata:
name: bar-app
labels:
app: http-echo
spec:
containers:
- name: bar-app
image: hashicorp/http-echo:0.2.3
args:
- "-text=bar"
---
kind: Service
apiVersion: v1
metadata:
name: foo-service
spec:
type: LoadBalancer
selector:
app: http-echo
ports:
# Default port used by the image
- port: 5678
应用内容
|
现在,通过向其外部 IP 和端口发送流量来验证负载均衡器是否正常工作。
|
# should output foo and bar on separate lines
for _ in {1..10}; do
curl ${LB_IP}:5678
done