2.4. 为 OpenShift Container Platform 配置防火墙
在安装 OpenShift Container Platform 前,您必须配置防火墙,以授予 OpenShift Container Platform 所需站点的访问权限。在使用防火墙时,为防火墙提供额外的配置,以便 OpenShift Container Platform 可以访问正常工作所需的站点。
对于断开连接的环境,您必须从 Red Hat 和 Oracle 镜像内容。此环境要求您创建防火墙规则,将防火墙公开给特定端口和 registry。
如果您的环境在 OpenShift Container Platform 集群前面有一个专用的负载均衡器,请查看防火墙和负载均衡器之间的允许列表,以防止对集群造成不必要的网络限制。
流程
为您的防火墙的允许列表设置以下 registry URL:
URL port 功能 registry.redhat.io
443
提供核心容器镜像
access.redhat.com
443
托管签名存储,容器客户端需要验证从
registry.access.redhat.com
中拉取的镜像。在防火墙环境中,确保此资源位于允许列表中。registry.access.redhat.com
443
托管存储在 Red Hat Ecosytem Catalog 中的所有容器镜像,包括核心容器镜像。
quay.io
443
提供核心容器镜像
cdn.quay.io
443
提供核心容器镜像
cdn01.quay.io
443
提供核心容器镜像
cdn02.quay.io
443
提供核心容器镜像
cdn03.quay.io
443
提供核心容器镜像
cdn04.quay.io
443
提供核心容器镜像
cdn05.quay.io
443
提供核心容器镜像
cdn06.quay.io
443
提供核心容器镜像
sso.redhat.com
443
https://console.redhat.com
站点使用来自sso.redhat.com
的身份验证-
您可以在 allowlist 中使用通配符
Ifquay.io
和Ifopenshiftapps.com
而不是cdn.quay.io
和cdn0[1-6].quay.io
。 -
您可以使用通配符
*.access.redhat.com
来简化配置,并确保所有子域(包括registry.access.redhat.com
)都被允许。 -
在 allowlist 中添加站点(如
quay.io
)时,不要向 denylist 添加通配符条目,如*.quay.io
。在大多数情况下,镜像 registry 使用内容交付网络(CDN)来提供镜像。如果防火墙阻止访问,则初始下载请求重定向到一个主机名(如cdn01.quay.io
)时,镜像下载将被拒绝。
-
您可以在 allowlist 中使用通配符
- 将防火墙的允许列表设置为包含为构建所需的语言或框架提供资源的任何站点。
如果不禁用 Telemetry,您必须授予对以下 URL 的访问权限,以访问 Red Hat Insights:
URL port 功能 cert-api.access.redhat.com
443
Telemetry 所需
api.access.redhat.com
443
Telemetry 所需
infogw.api.openshift.com
443
Telemetry 所需
console.redhat.com
443
Telemetry 和
insights-operator
需要将防火墙的允许列表设置为包含以下 registry URL:
URL port 功能 api.openshift.com
443
集群令牌需要,并检查集群是否有可用的更新。
rhcos.mirror.openshift.com
443
需要此项以下载 Red Hat Enterprise Linux CoreOS(RHCOS)镜像。
将防火墙的允许列表设置为包含以下外部 URL:每个存储库 URL 都托管 OCI 容器。考虑将镜像镜像到几个存储库,以减少任何性能问题。
URL port 功能 k8s.gcr.io
port
为基于社区的镜像 registry 托管容器镜像的 Kubernetes registry。此镜像 registry 托管在自定义 Google Container Registry (GCR)域中。
ghcr.io
port
一个 GitHub 镜像 registry,您可以在其中存储和管理开放容器项目镜像。需要访问令牌发布、安装和删除私有、内部和公共软件包。
storage.googleapis.com
443
发行版本镜像签名源,但 Cluster Version Operator 只需要一个可正常工作的源。
registry.k8s.io
port
替换
k8s.gcr.io
镜像 registry,因为k8s.gcr.io
镜像 registry 不支持其他平台和供应商。