24.5. 使用 Microsoft Azure 外部负载均衡器作为服务


OpenShift Container Platform 可以通过使用 LoadBalancer 服务向外部公开服务来利用 Microsoft Azure 负载均衡器。OpenShift Container Platform 在 Microsoft Azure 中创建负载均衡器,并创建正确的防火墙规则。

重要

目前,当将额外变量用作云供应商时,以及将其用作外部负载均衡器时,会导致在 Microsoft Azure 基础架构中包含额外的变量。如需更多信息,请参阅以下内容:

先决条件

确保位于 /etc/origin/cloudprovider/azure.confAzure 配置文件 使用适当的对象正确配置。如需示例 /etc/origin/cloudprovider/azure.conf 文件,请参阅 为 Microsoft Azure 手动配置 OpenShift Container Platform 部分

添加值后,重启所有主机上的 OpenShift Container Platform 服务:

# systemctl restart atomic-openshift-node
# master-restart api
# master-restart controllers

24.5.1. 使用负载均衡器部署示例应用程序

流程

  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.223.255   <none>          8080/TCP,8888/TCP               1m
    hello-openshift-external   LoadBalancer   172.30.99.54     40.121.42.180   8080:30714/TCP,8888:30122/TCP   4m

    LoadBalancer 类型和 External-IP 字段表示该服务正在使用 Microsoft Azure 负载均衡器来公开应用程序。

这会在 Azure 基础架构中创建以下所需的对象:

  • 一个负载均衡器:

    az network lb list -o table
    Location    Name         ProvisioningState    ResourceGroup    ResourceGuid
    ----------  -----------  -------------------  ---------------  ------------------------------------
    eastus      kubernetes   Succeeded            refarch-azr      30ec1980-b7f5-407e-aa4f-e570f06f168d
    eastus      OcpMasterLB  Succeeded            refarch-azr      acb537b2-8a1a-45d2-aae1-ea9eabfaea4a
    eastus      OcpRouterLB  Succeeded            refarch-azr      39087c4c-a5dc-457e-a5e6-b25359244422

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

$ curl 40.121.42.180:8080 1
Hello OpenShift!
1
使用上面的 EXTERNAL-IP 验证步骤中的值以及端口号替换。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.