2.4. 将 API 服务器限制为私有


将集群部署到 Amazon Web Services(AWS)或 Microsoft Azure 后,可以重新配置 API 服务器,使其只使用私有区。

先决条件

  • 安装 OpenShift CLI(oc)。
  • 使用具有 admin 权限的用户登陆到 web 控制台。

流程

  1. 在云供应商的 web 门户或控制台中,执行以下操作:

    1. 找到并删除相关的负载均衡器组件:

      • 对于 AWS,删除外部负载均衡器。私有区的 API DNS 条目已指向内部负载均衡器,它使用相同的配置,因此您无需修改内部负载均衡器。
      • 对于 Azure,删除公共负载均衡器的 api-internal-v4 规则。
    2. 对于 Azure,将 Ingress Controller 端点发布范围配置为 Internal。如需更多信息,请参阅"将 Ingress Controller 端点发布范围配置为 Internal"。
    3. 对于 Azure 公共负载均衡器,如果您将 Ingress Controller 端点发布范围配置为 Internal,且公共负载均衡器中没有现有的入站规则,则必须明确创建一个出站规则来为后端地址池提供出站流量。如需更多信息,请参阅 Microsoft Azure 文档中有关添加出站规则的内容。
    4. 删除 public 区域中的 api.$clustername.$yourdomainapi.$clustername DNS 条目。
  2. AWS 集群:删除外部负载均衡器:

    重要

    您只能对安装程序置备的基础架构 (IPI) 集群执行以下步骤。对于用户置备的基础架构 (UPI) 集群,您必须手动删除或禁用外部负载均衡器。

    • 如果您的集群使用 control plane 机器集,删除配置公共或外部负载均衡器的 control plane 机器集自定义资源中的行:

      # ...
      providerSpec:
        value:
      # ...
          loadBalancers:
          - name: lk4pj-ext 1
            type: network 2
          - name: lk4pj-int
            type: network
      # ...
      1
      删除外部负载均衡器的 name 值,它以 -ext 结尾。
      2
      删除外部负载均衡器的 type 值。
    • 如果您的集群没有使用 control plane 机器集,您必须从每个 control plane 机器中删除外部负载均衡器。

      1. 在终端中,运行以下命令来列出集群机器:

        $ oc get machine -n openshift-machine-api

        输出示例

        NAME                            STATE     TYPE        REGION      ZONE         AGE
        lk4pj-master-0                  running   m4.xlarge   us-east-1   us-east-1a   17m
        lk4pj-master-1                  running   m4.xlarge   us-east-1   us-east-1b   17m
        lk4pj-master-2                  running   m4.xlarge   us-east-1   us-east-1a   17m
        lk4pj-worker-us-east-1a-5fzfj   running   m4.xlarge   us-east-1   us-east-1a   15m
        lk4pj-worker-us-east-1a-vbghs   running   m4.xlarge   us-east-1   us-east-1a   15m
        lk4pj-worker-us-east-1b-zgpzg   running   m4.xlarge   us-east-1   us-east-1b   15m

        control plane 机器在名称中包含 master

      2. 从每个 control plane 机器中删除外部负载均衡器:

        1. 运行以下命令,将 control plane 机器对象编辑为:

          $ oc edit machines -n openshift-machine-api <control_plane_name> 1
          1
          指定要修改的 control plane 机器对象名称。
        2. 删除描述外部负载均衡器的行,它们在以下示例中被标记:

          # ...
          providerSpec:
            value:
          # ...
              loadBalancers:
              - name: lk4pj-ext 1
                type: network 2
              - name: lk4pj-int
                type: network
          # ...
          1
          删除外部负载均衡器的 name 值,它以 -ext 结尾。
          2
          删除外部负载均衡器的 type 值。
        3. 保存更改并退出对象规格。
        4. 为每个 control plane 机器重复此步骤。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.