搜索

第 11 章 配置集群范围代理

download PDF

生产环境可能会拒绝直接访问互联网,而是提供 HTTP 或 HTTPS 代理。您可以通过修改现有集群的 Proxy 对象或在新集群的 install-config.yaml 文件中配置代理设置,将 OpenShift Container Platform 配置为使用代理。

重要

只有当您为支持的供应商使用用户置备的基础架构安装时,才会支持集群范围的代理服务器。

先决条件

  • 查看 集群需要访问的站点中的内容,决定这些站点中的任何站点是否需要绕过代理。默认情况下,所有集群出站流量都需经过代理,包括对托管集群的云供应商 API 的调用。若有需要,将站点添加到 Proxy 对象的 spec.noProxy 字段来绕过代理服务器。

    注意

    Proxy 对象的 status.noProxy 字段默认填充实例元数据端点 (169.254.169.254),以及您的安装配置中 networking.machineCIDRnetworking.clusterNetwork.cidrnetworking.serviceNetwork 字段的值。

11.1. 启用集群范围代理

Proxy 对象用于管理集群范围出口代理。如果在安装或升级集群时没有配置代理,则 Proxy 对象仍会生成,但它会有一个空的 spec。例如:

apiVersion: config.openshift.io/v1
kind: Proxy
metadata:
  name: cluster
spec:
  trustedCA:
    name: ""
status:

集群管理员可以通过修改这个 cluster Proxy 对象来配置 OpenShift Container Platform 的代理。

注意

只支持名为 cluster 的 Proxy 对象,且无法创建额外的代理。

先决条件

  • 集群管理员权限
  • 已安装 OpenShift Container Platform oc CLI 工具

流程

  1. 创建包含代理 HTTPS 连接所需的额外 CA 证书的 ConfigMap。

    注意

    如果代理的身份证书由来自 RHCOS 信任捆绑包的颁发机构签名,您可以跳过这一步。

    1. 利用以下内容,创建一个名为 user-ca-bundle.yaml 的文件,并提供 PEM 编码证书的值:

      apiVersion: v1
      data:
        ca-bundle.crt: | 1
          <MY_PEM_ENCODED_CERTS> 2
      kind: ConfigMap
      metadata:
        name: user-ca-bundle 3
        namespace: openshift-config 4
      1
      这个数据键必须命名为 ca-bundle.crt
      2
      一个或多个 PEM 编码的 X.509 证书,用来为代理的身份证书签名。
      3
      要从 Proxy 对象引用的 ConfigMap 名称。
      4
      ConfigMap 必须在 openshift-config 命名空间中。
    2. 从此文件创建 ConfigMap:

      $ oc create -f user-ca-bundle.yaml
  2. 使用 oc edit 命令修改 Proxy 对象:

    $ oc edit proxy/cluster
  3. 为代理配置所需的字段:

    apiVersion: config.openshift.io/v1
    kind: Proxy
    metadata:
      name: cluster
    spec:
      httpProxy: http://<username>:<pswd>@<ip>:<port> 1
      httpsProxy: http://<username>:<pswd>@<ip>:<port> 2
      noProxy: example.com 3
      readinessEndpoints:
      - http://www.google.com 4
      - https://www.google.com
      trustedCA:
        name: user-ca-bundle 5
    1
    用于创建集群外 HTTP 连接的代理 URL。URL 必须是 http
    2
    用于创建集群外 HTTPS 连接的代理 URL。如果没有指定,则 httpProxy 会同时用于 HTTP 和 HTTPS 连接。URL 方案必须是 http;目前不支持 https
    3
    要排除代理的目标域名、域、IP 地址或其他网络 CIDR 的逗号分隔列表。域之前加上前缀 . 可包含该域的所有子域。使用 * 可对所有目的地绕过所有代理。请注意,如果您要纵向扩展未包含在安装配置的 networking.machineCIDR 中的 worker,您必须将它们添加到此列表中,以防止连接问题。
    4
    httpProxyhttpsProxy 值写进状态之前,执行就绪度检查时要使用的一个或多个集群外部 URL。
    5
    引用 openshift-config 命名空间中的 ConfigMap,其包含代理 HTTPS 连接所需的额外 CA 证书。注意 ConfigMap 必须已经存在,然后才能在这里引用它。此字段是必需的,除非代理的身份证书由来自 RHCOS 信任捆绑包的颁发机构签名。
  4. 保存文件以应用更改。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.