第 29 章 配置集群范围代理


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

在支持的平台中为集群启用集群范围的出口代理后,Red Hat Enterprise Linux CoreOS (RHCOS)会使用支持的平台上存在的 install-config.yaml 文件中的 networking.machineNetwork[].cidr, networking.clusterNetwork[].cidr, 和 networking.serviceNetwork[] 字段的值填充 status.noProxy 参数。

注意

作为安装后任务,您可以更改 networking.clusterNetwork[].cidr 值,但不能更改 networking.machineNetwork[].cidrnetworking.serviceNetwork[] 值。如需更多信息,请参阅"配置集群网络范围"。

对于在 Amazon Web Services (AWS)、Google Cloud Platform (GCP)、Microsoft Azure 和 Red Hat OpenStack Platform (RHOSP) 上安装,status.noProxy 参数也会填充实例元数据端点 169.254.169.254

由 RHCOS 添加到 Proxy 对象的 status: 段中的值示例

apiVersion: config.openshift.io/v1
kind: Proxy
metadata:
  name: cluster
# ...
networking:
  clusterNetwork: 1
  - cidr: <ip_address_from_cidr>
    hostPrefix: 23
  network type: OVNKubernetes
  machineNetwork: 2
  - cidr: <ip_address_from_cidr>
  serviceNetwork: 3
  - 172.30.0.0/16
# ...
status:
  noProxy:
  - localhost
  - .cluster.local
  - .svc
  - 127.0.0.1
  - <api_server_internal_url> 4
# ...

1
指定从中分配 Pod IP 地址的 IP 地址块。默认值为 10.128.0.0/14,主机前缀为 /23
2
指定机器的 IP 地址块。默认值为 10.0.0.0/16
3
为服务指定 IP 地址块。默认值为 172.30.0.0/16
4
您可以通过运行 oc get infrastructures.config.openshift.io cluster -o jsonpath='{.status.etcdDiscoveryDomain}' 命令来查找内部 API 服务器的 URL。
重要

如果您的安装类型不包括设置 networking.machineNetwork[].cidr 字段,则必须在 .status.noProxy 字段中手动包含机器 IP 地址,以确保节点之间的流量可以绕过代理。

29.1. 先决条件

查看 集群需要访问的站点,并确定它们中的任何站点 是否需要绕过代理。默认情况下,所有集群系统的出站流量都需经过代理,包括对托管集群的云供应商 API 的调用。系统范围的代理仅影响系统组件,而不会影响用户工作负载。如有必要,将站点添加到 Proxy 对象的 spec.noProxy 参数,以绕过代理。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.