2.8. 为应用程序部署负载均衡器
以下示例使用节点 IP 地址作为 LoadBalancer
服务配置文件的外部 IP 地址。使用本示例作为如何部署负载均衡器的指导。
先决条件
-
已安装 OpenShift CLI (
oc
)。 - 在使用 OVN-Kubernetes 网络插件配置的基础架构上安装集群。
-
KUBECONFIG
环境变量被设置。
流程
输入以下命令验证您的 pod 是否正在运行:
oc get pods -A
$ oc get pods -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建命名空间:
NAMESPACE=<nginx-lb-test>
$ NAMESPACE=<nginx-lb-test>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 _<nginx-lb-test> 替换为您要创建的应用程序命名空间。
oc create ns $NAMESPACE
$ oc create ns $NAMESPACE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 命名空间示例
以下示例在创建的命名空间中部署测试
nginx
应用程序的三个副本:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以运行以下命令来验证三个副本是否已成功启动:
oc get pods -n $NAMESPACE
$ oc get pods -n $NAMESPACE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,为
nginx
测试应用程序创建LoadBalancer
服务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您必须确保
port
参数是一个没有被其他LoadBalancer
服务或 MicroShift 组件占用的主机端口。运行以下命令,验证服务文件是否存在,是否正确分配了外部 IP 地址,并且外部 IP 与节点 IP 相同:
oc get svc -n $NAMESPACE
$ oc get svc -n $NAMESPACE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx LoadBalancer 10.43.183.104 192.168.1.241 81:32434/TCP 2m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx LoadBalancer 10.43.183.104 192.168.1.241 81:32434/TCP 2m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
以下命令使用 LoadBalancer
服务配置的外部 IP 地址形成五个到示例 nginx
应用程序的连接。命令的结果是这些服务器 IP 地址的列表。
运行以下命令,验证负载均衡器是否向所有正在运行的应用程序发送请求:
EXTERNAL_IP=192.168.1.241 seq 5 | xargs -Iz curl -s -I http://$EXTERNAL_IP:81 | grep X-Server-IP
EXTERNAL_IP=192.168.1.241 seq 5 | xargs -Iz curl -s -I http://$EXTERNAL_IP:81 | grep X-Server-IP
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
LoadBalancer
服务成功将流量分发到应用程序,则上一命令的输出包含不同的 IP 地址,例如:输出示例
X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.43 X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.43
X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.43 X-Server-IP: 10.42.0.41 X-Server-IP: 10.42.0.43
Copy to Clipboard Copied! Toggle word wrap Toggle overflow