23.3. 使用 GCP 外部负载均衡器作为服务
您可以通过使用 LoadBalancer
服务在外部公开服务,将 OpenShift Container Platform 配置为使用 GCP 负载均衡器。OpenShift Container Platform 在 GCP 中创建负载均衡器,并创建必要的防火墙规则。
流程
创建新应用程序:
oc new-app openshift/hello-openshift
$ oc new-app openshift/hello-openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 公开负载均衡器服务:
oc expose dc hello-openshift --name='hello-openshift-external' --type='LoadBalancer'
$ oc expose dc hello-openshift --name='hello-openshift-external' --type='LoadBalancer'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令会创建类似以下示例的
LoadBalancer
服务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证服务是否已创建:
oc get svc
$ oc get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-openshift ClusterIP 172.30.62.10 <none> 8080/TCP,8888/TCP 20m hello-openshift-external LoadBalancer 172.30.147.214 35.230.97.224 8080:31521/TCP,8888:30843/TCP 19m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LoadBalancer
类型和外部 IP 值表示服务使用 GCP 负载均衡器公开应用程序。
OpenShift Container Platform 在 GCP 基础架构中创建所需的对象,例如:
防火墙规则:
gcloud compute firewall-rules list | grep k8s
$ gcloud compute firewall-rules list | grep k8s k8s-4612931a3a47c204-node-http-hc my-net INGRESS 1000 tcp:10256 k8s-fw-a1a8afaa7762811e88c5242010af0000 my-net INGRESS 1000 tcp:8080,tcp:8888
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意这些防火墙规则应用到使用
<openshift_gcp_prefix>ocp
标记的实例。例如,如果openshift_gcp_prefix
参数的值设置为mycluster
,则必须标记带有myclusterocp
的节点。有关如何在 Compute Engine 虚拟机实例中添加网络标签的更多信息,请参阅添加和删除网络标签。健康检查:
gcloud compute http-health-checks list | grep k8s
$ gcloud compute http-health-checks list | grep k8s k8s-4612931a3a47c204-node 10256 /healthz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个负载均衡器:
gcloud compute target-pools list | grep k8s gcloud compute forwarding-rules list | grep a1a8afaa7762811e88c5242010af0000
$ gcloud compute target-pools list | grep k8s a1a8afaa7762811e88c5242010af0000 us-west1 NONE k8s-4612931a3a47c204-node $ gcloud compute forwarding-rules list | grep a1a8afaa7762811e88c5242010af0000 a1a8afaa7762811e88c5242010af0000 us-west1 35.230.97.224 TCP us-west1/targetPools/a1a8afaa7762811e88c5242010af0000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要验证负载均衡器是否已正确配置,请从外部主机运行以下命令:
curl 35.230.97.224:8080
$ curl 35.230.97.224:8080
Hello OpenShift!