3.5. 配置防火墙

如果使用防火墙,您必须进行配置,以便 OpenShift Container Platform 能访问正常运作所需要的网站。您必须始终授予一些站点的访问权限,如果使用 Red Hat Insights、Telemetry 服务、托管集群的云以及某些构建策略,则还要授予更多站点的访问权限。

3.5.1. 为 OpenShift Container Platform 配置防火墙

在安装 OpenShift Container Platform 之前,您必须配置防火墙,以授予 OpenShift Container Platform 所需站点的访问权限。

和在 worker 节点上运行的服务相比,运行在控制器节点中的服务没有特殊的配置注意事项。

流程

  1. 允许以下 registry URL:

    URL功能

    registry.redhat.io

    提供核心容器镜像

    quay.io

    提供核心容器镜像

    sso.redhat.com

    https://cloud.redhat.com/openshift 站点使用 sso.redhat.com 提供的身份验证

    openshift.org

    提供 Red Hat Enterprise Linux CoreOS(RHCOS)镜像

    当您将 quay.io 等网站添加到 allowlist 中时,不要在您的 denylist 中添加通配符条目,如 *.quay.io。在大多数情况下,镜像 registry 使用内容交付网络(CDN)来提供镜像。如果防火墙阻止访问,那么当初始下载请求重定向到一个主机名(如 cdn01.quay.io )时,则不能下载镜像。

  2. 将提供构建所需语言或框架的资源的任何站点列入允许列表。
  3. 如果不禁用 Telemetry,您必须授予对以下 URL 的访问权限,以便能访问 Red Hat Insights:

    URL功能

    cert-api.access.redhat.com

    Telemetry 所需

    api.access.redhat.com

    Telemetry 所需

    infogw.api.openshift.com

    Telemetry 所需

    https://cloud.redhat.com/api/ingress

    Telemetry 和 insights-operator 需要

  4. 如果使用 Amazon Web Services (AWS)、Microsoft Azure 或 Google Cloud Platform (GCP) 来托管您的集群,您必须授予对提供该云的云供应商 API 和 DNS 的 URL 的访问权限:

    URL功能

    AWS

    *.amazonaws.com

    需要此项以访问 AWS 服务和资源。请参阅 AWS 文档中 AWS Service Endpoints,以确定您使用的区域所允许的具体端点。

    oso-rhc4tp-docker-registry.s3-us-west-2.amazonaws.com

    在使用严格的安全要求时,需要访问 AWS 服务和资源。请参阅 AWS 文档中 AWS Service Endpoints,以确定您使用的区域所允许的具体端点。

    GCP

    *.googleapis.com

    需要此项以访问 GCP 服务和资源。请参阅 GCP 文档中的 Cloud Endpoints,以确定您的 API 所允许的端点。

    accounts.google.com

    需要此项以访问您的 GCP 帐户。

    Azure

    management.azure.com

    需要此项以访问 Azure 服务和资源。请参阅 Azure 文档中的Azure REST API 参考,以确定您的 API 所允许的端点。

  5. 将以下 URL 列入允许列表:

    URL功能

    mirror.openshift.com

    需要此项以访问镜像安装内容和镜像。此站点也是发行镜像签名的来源,但 Cluster Version Operator 只需要一个可正常工作的源。

    storage.googleapis.com/openshift-release

    发行版本镜像签名源,但 Cluster Version Operator 只需要一个可正常工作的源。

    *.apps.<cluster_name>.<base_domain>

    需要此项以访问默认的集群路由,除非您在安装过程中设置了入口通配符。

    quay-registry.s3.amazonaws.com

    需要此项以访问 AWS 中的 Quay 镜像内容。

    api.openshift.com

    需要此项以检查集群是否有可用的更新。

    art-rhcos-ci.s3.amazonaws.com

    需要此项以下载 Red Hat Enterprise Linux CoreOS(RHCOS)镜像。

    api.openshift.com

    集群令牌所需

    cloud.redhat.com/openshift

    集群令牌所需

    操作员需要路由访问权限来执行健康检查。特别是,身份验证和 Web 控制台 Operator 会连接到两个路由,以验证路由是否正常工作。如果您是集群管理员,且不想允许 *.apps.<cluster_name>.<base_domain>,请允许这些路由:

    • oauth-openshift.apps.<cluster_name>.<base_domain>
    • console-openshift-console.apps.<cluster_name>.<base_domain>,或者,在 consoles.operator/cluster 对象的 spec.route.hostname 字段中指定的主机名(如果此字段非空)。