第 2 章 配置防火墙
如果使用防火墙,您必须为防火墙配置允许列表,以确保 OpenShift Container Platform 可以访问所需的 URL,以便拉取容器镜像并访问红帽服务。Telemetry、Red Hat Lightspeed、云供应商集成或某些构建策略等功能需要额外的 URL。
2.1. 为 OpenShift Container Platform 配置防火墙 复制链接链接已复制到粘贴板!
在安装 OpenShift Container Platform 前,您必须配置防火墙,以授予 OpenShift Container Platform 所需站点的访问权限。
与计算节点相比,仅在控制器节点上运行的服务没有特殊的配置注意事项。
如果您的环境在 OpenShift Container Platform 集群前面有一个专用的负载均衡器,请查看防火墙和负载均衡器之间的允许列表,以防止对集群造成不必要的网络限制。
流程
允许为集群安装和升级以下容器 registry URL:
Expand URL port 功能 registry.redhat.io443
提供核心容器镜像
access.redhat.com443
托管签名存储,容器客户端需要验证从
registry.access.redhat.com中拉取的镜像。在防火墙环境中,确保此资源位于允许列表中。registry.access.redhat.com443
托管存储在 Red Hat Ecosytem Catalog 中的所有容器镜像,包括核心容器镜像。
quay.io443
提供核心容器镜像
cdn.quay.io443
提供核心容器镜像
cdn01.quay.io443
提供核心容器镜像
cdn02.quay.io443
提供核心容器镜像
cdn03.quay.io443
提供核心容器镜像
cdn04.quay.io443
提供核心容器镜像
cdn05.quay.io443
提供核心容器镜像
cdn06.quay.io443
提供核心容器镜像
icr.io443
提供 IBM Cloud Pak 容器镜像。只有在使用 IBM Cloud Paks 时,才需要这个域。
cp.icr.io443
提供 IBM Cloud Pak 容器镜像。只有在使用 IBM Cloud Paks 时,才需要这个域。
-
您可以在 allowlist 中使用通配符
*.quay.io来替代cdn.quay.io和cdn0[1-6].quay.io -
您可以使用通配符
*.access.redhat.com来简化配置,并确保所有子域(包括registry.access.redhat.com)都被允许。 -
在允许列表中添加
quay.io等站点时,不要在您的 denylist 中添加通配符条目,如dcquay.io。在大多数情况下,镜像 registry 使用内容交付网络(CDN)来提供镜像。如果防火墙阻止访问,则初始下载请求重定向到一个主机名(如cdn01.quay.io)时,镜像下载将被拒绝。
-
您可以在 allowlist 中使用通配符
允许以下 URL 来启用集群访问、身份验证和更新:
Expand URL port 功能 *.apps.<cluster_name>.<base_domain>443
允许这些 URL 启用集群访问、身份验证和更新。
api.openshift.com443
集群令牌的 API 端点并更新检查。
console.redhat.com443
集群令牌的身份验证服务。
sso.redhat.com443
https://console.redhat.com站点使用来自sso.redhat.com的身份验证对于出口流量,Operator 需要路由访问权限来执行健康检查,以建立连接以到达端点。身份验证和 Web 控制台 Operator 连接到两个路由,以验证功能。不允许 dc
apps.<cluster_name>.<base_domain> 的集群管理员必须允许以下路由:-
oauth-openshift.apps.<cluster_name>.<base_domain> -
canary-openshift-ingress-canary.apps.<cluster_name>.<base_domain> -
console-openshift-console.apps.<cluster_name>.<base_domain>,或在consoles.operator/cluster对象中的spec.route.hostname项指定的主机名(如果这个项不为空)。
-
允许列出以下 registry URL,用于为集群安装和升级托管相关工件,如安装内容、发行镜像和客户端工具:
Expand URL port 功能 mirror.openshift.com443
需要此项以访问镜像安装内容和镜像。此站点也是发行版本镜像签名的来源,但 Cluster Version Operator 只需要一个可正常工作的源。
quayio-production-s3.s3.amazonaws.com443
需要此项以访问 AWS 中的 Quay 镜像内容。
rhcos.mirror.openshift.com443
下载 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像需要此项。
storage.googleapis.com/openshift-release443
发行版本镜像签名源,但 Cluster Version Operator 只需要一个可正常工作的源。
- 将防火墙的允许列表设置为包含为构建所需的语言或框架提供资源的任何站点。
如果不禁用 Telemetry,您必须授予对以下 URL 的访问权限,以访问 Telemetry 和红帽 Lightspeed:
Expand URL port 功能 cert-api.access.redhat.com443
Telemetry 所需
api.access.redhat.com443
Telemetry 所需
infogw.api.openshift.com443
Telemetry 所需
console.redhat.com443
Telemetry 和
insights-operator需要如果使用 Alibaba Cloud、Amazon Web Services (AWS)、Microsoft Azure 或 Google Cloud 来托管您的集群,您必须授予对为该云提供云供应商 API 和 DNS 的 URL 的访问权限:
Expand 云 URL port 功能 Alibaba
*.aliyuncs.com443
需要此项以访问 Alibaba Cloud 服务和资源。查看 Alibaba endpoint_config.go 文件,以查找您使用的区域所允许的确切端点。
AWS
aws.amazon.com443
用于在 AWS 环境中安装和管理集群。
*.amazonaws.com另外,如果您选择不对 AWS API 使用通配符,则必须在允许列表中包含以下 URL:
443
需要此项以访问 AWS 服务和资源。请参阅 AWS 文档中的 AWS Service Endpoints,以查找您使用的区域所允许的确切端点。
ec2.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
events.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
iam.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
route53.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
*.s3.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
*.s3.<aws_region>.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
*.s3.dualstack.<aws_region>.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
sts.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
sts.<aws_region>.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
tagging.us-east-1.amazonaws.com443
用于在 AWS 环境中安装和管理集群。此端点始终为
us-east-1,无论集群要部署到的区域。ec2.<aws_region>.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
elasticloadbalancing.<aws_region>.amazonaws.com443
用于在 AWS 环境中安装和管理集群。
servicequotas.<aws_region>.amazonaws.com443
必需。用于确认用于部署该服务的配额。
tagging.<aws_region>.amazonaws.com443
允许以标签的形式分配 AWS 资源的元数据。
*.cloudfront.net443
用于提供对 CloudFront 的访问。如果使用 AWS 安全令牌服务(STS)和私有 S3 存储桶,您必须提供对 CloudFront 的访问。
GCP
*.googleapis.com443
需要此项以访问 Google Cloud 服务和资源。请参阅 Google Cloud 文档中的 Cloud Endpoints,以查找您的 API 所允许的端点。
accounts.google.com443
需要此项以访问 Google Cloud 帐户。
Microsoft Azure
management.azure.com443
需要此项以访问 Microsoft Azure 服务和资源。请参阅 Microsoft Azure 文档中的 Microsoft Azure REST API 参考,以查找允许您 API 的端点。
*.blob.core.windows.net443
需要下载 Ignition 文件。
login.microsoftonline.com443
需要此项以访问 Microsoft Azure 服务和资源。请参阅 Microsoft Azure 文档中的 Azure REST API 参考,以查找您的 API 允许的端点。
将以下 URL 列入允许的可选第三方内容:
Expand URL port 功能 registry.connect.redhat.com443
所有第三方镜像和认证操作器必填.
如果您使用默认的 Red Hat Network Time Protocol (NTP)服务器,请允许以下 URL:NTP 在用户数据报协议(UDP)端口 123 上运行,因此在防火墙上必须打开此端口。
Expand URL port 功能 1.rhel.pool.ntp.org123
为时间同步提供 NTP 服务。
2.rhel.pool.ntp.org123
为时间同步提供 NTP 服务。
3.rhel.pool.ntp.org123
为时间同步提供 NTP 服务。
注意如果您不使用默认的 Red Hat NTP 服务器,请验证您的平台的 NTP 服务器并在防火墙中允许它。