搜索

23.3. 使用 GCP 外部负载均衡器作为服务

download PDF

您可以通过使用 LoadBalancer 服务在外部公开服务,将 OpenShift Container Platform 配置为使用 GCP 负载均衡器。OpenShift Container Platform 在 GCP 中创建负载均衡器,并创建必要的防火墙规则。

流程

  1. 创建新应用程序:

    $ oc new-app openshift/hello-openshift
  2. 公开负载均衡器服务:

    $ oc expose dc hello-openshift --name='hello-openshift-external' --type='LoadBalancer'

    这个命令会创建类似以下示例的 LoadBalancer 服务:

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: hello-openshift
      name: hello-openshift-external
    spec:
      externalTrafficPolicy: Cluster
      ports:
      - name: port-1
        nodePort: 30714
        port: 8080
        protocol: TCP
        targetPort: 8080
      - name: port-2
        nodePort: 30122
        port: 8888
        protocol: TCP
        targetPort: 8888
      selector:
        app: hello-openshift
        deploymentconfig: hello-openshift
      sessionAffinity: None
      type: LoadBalancer
  3. 验证服务是否已创建:

    $ 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

    LoadBalancer 类型和外部 IP 值表示服务使用 GCP 负载均衡器公开应用程序。

OpenShift Container Platform 在 GCP 基础架构中创建所需的对象,例如:

  • 防火墙规则:

    $ 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
    注意

    这些防火墙规则应用到使用 <openshift_gcp_prefix>ocp 标记的实例。例如,如果 openshift_gcp_prefix 参数的值设置为 mycluster,则必须标记带有 myclusterocp 的节点。有关如何在 Compute Engine 虚拟机实例中添加网络标签的更多信息,请参阅添加和删除网络标签

  • 健康检查:

    $ gcloud compute http-health-checks list | grep k8s
    k8s-4612931a3a47c204-node        10256  /healthz
  • 一个负载均衡器:

    $ 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

要验证负载均衡器是否已正确配置,请从外部主机运行以下命令:

$ curl 35.230.97.224:8080
Hello OpenShift!
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.