23.2. 配置防火墙


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

23.2.1. 为 OpenShift Container Platform 配置防火墙

在安装 OpenShift Container Platform 前,您必须配置防火墙,以授予 OpenShift Container Platform 所需站点的访问权限。在使用防火墙时,为防火墙提供额外的配置,以便 OpenShift Container Platform 可以访问正常工作所需的站点。

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

注意

如果您的环境在 OpenShift Container Platform 集群前面有一个专用的负载均衡器,请查看防火墙和负载均衡器之间的允许列表,以防止对集群造成不必要的网络限制。

流程

  1. 为您的防火墙的允许列表设置以下 registry URL:

    URLport功能

    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.ioIfopenshiftapps.com 而不是 cdn.quay.iocdn0[1-6].quay.io
    • 您可以使用通配符 *.access.redhat.com 来简化配置,并确保所有子域(包括 registry.access.redhat.com )都被允许。
    • 在 allowlist 中添加站点(如 quay.io )时,不要向 denylist 添加通配符条目,如 *.quay.io。在大多数情况下,镜像 registry 使用内容交付网络(CDN)来提供镜像。如果防火墙阻止访问,则初始下载请求重定向到一个主机名(如 cdn01.quay.io )时,镜像下载将被拒绝。
  2. 将防火墙的允许列表设置为包含为构建所需的语言或框架提供资源的任何站点。
  3. 如果不禁用 Telemetry,您必须授予对以下 URL 的访问权限,以访问 Red Hat Insights:

    URLport功能

    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需要

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

    URLport功能

    Alibaba

    *.aliyuncs.com

    443

    需要此项以访问 Alibaba Cloud 服务和资源。查看 Alibaba endpoint_config.go 文件,以查找您使用的区域所允许的确切端点。

    AWS

    aws.amazon.com

    443

    用于在 AWS 环境中安装和管理集群。

    *.amazonaws.com

    另外,如果您选择不对 AWS API 使用通配符,则必须在允许列表中包含以下 URL:

    443

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

    ec2.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    events.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    iam.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    route53.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    *.s3.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    *.s3.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    *.s3.dualstack.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    sts.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    sts.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    tagging.us-east-1.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。此端点始终为 us-east-1,无论集群要部署到的区域。

    ec2.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    elasticloadbalancing.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    servicequotas.<aws_region>.amazonaws.com

    443

    必需。用于确认用于部署该服务的配额。

    tagging.<aws_region>.amazonaws.com

    443

    允许以标签的形式分配 AWS 资源的元数据。

    *.cloudfront.net

    443

    用于提供对 CloudFront 的访问。如果使用 AWS 安全令牌服务(STS)和私有 S3 存储桶,您必须提供对 CloudFront 的访问。

    GCP

    *.googleapis.com

    443

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

    accounts.google.com

    443

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

    Microsoft Azure

    management.azure.com

    443

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

    *.blob.core.windows.net

    443

    需要下载 Ignition 文件。

    login.microsoftonline.com

    443

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

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

    URLport功能

    mirror.openshift.com

    443

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

    storage.googleapis.com/openshift-release

    443

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

    *.apps.<cluster_name>.<base_domain>

    443

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

    quayio-production-s3.s3.amazonaws.com

    443

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

    api.openshift.com

    443

    集群令牌需要,并检查集群是否有可用的更新。

    rhcos.mirror.openshift.com

    443

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

    console.redhat.com

    443

    集群令牌所需。

    sso.redhat.com

    443

    https://console.redhat.com 站点使用来自 sso.redhat.com 的身份验证

    Operator 需要路由访问权限来执行健康检查。特别是,身份验证和 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 项指定的主机名(如果这个项不为空)。
  6. 将以下 URL 列入允许的可选第三方内容:

    URLport功能

    registry.connect.redhat.com

    443

    所有第三方镜像和认证操作器必填.

    rhc4tp-prod-z8cxf-image-registry-us-east-1-evenkyleffocxqvofrk.s3.dualstack.us-east-1.amazonaws.com

    443

    提供对托管在 registry.connect.redhat.com上的容器镜像的访问

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

    443

    对于 Sonatype Nexus, F5 Big IP operator 是必需的。

  7. 如果您使用默认的红帽网络时间协议(NTP)服务器允许以下 URL:

    • 1.rhel.pool.ntp.org
    • 2.rhel.pool.ntp.org
    • 3.rhel.pool.ntp.org
注意

如果您不使用默认的 Red Hat NTP 服务器,请验证您的平台的 NTP 服务器并在防火墙中允许它。

23.2.2. OpenShift Container Platform 网络流列表

网络流列表描述了 OpenShift Container Platform 服务的入站流。对于裸机和云环境,列表中的网络信息是准确的。使用网络流列表中的信息来帮助管理入口流量。您可以将入口流量限制为基本流以提高网络安全性。

要查看或下载原始 CSV 内容,请参阅此资源

另外,在管理入口流量时请考虑以下动态端口范围:

  • 9000-9999: 主机级别的服务
  • 30000-32767: Kubernetes 节点端口
  • 49152-65535: 动态或专用端口
注意

网络流列表描述了基本 OpenShift Container Platform 安装的入口流量流。它没有描述其他组件的网络流,如 Red Hat Marketplace 提供的可选 Operator。列表不适用于 Hosted-Control-Plane、MicroShift 或独立集群。

表 23.1. 网络流列表
方向协议portNamespaceservicePodContainer节点角色选填

入口

TCP

22

主机系统服务

sshd

  

master

TRUE

入口

TCP

53

openshift-dns

dns-default

dnf-default

dns

master

FALSE

入口

TCP

80

openshift-ingress

router-default

router-default

路由器

master

FALSE

入口

TCP

111

主机系统服务

rpcbind

  

master

TRUE

入口

TCP

443

openshift-ingress

router-default

router-default

路由器

master

FALSE

入口

TCP

1936

openshift-ingress

router-default

router-default

路由器

master

FALSE

入口

TCP

2379

openshift-etcd

etcd

etcd

etcdctl

master

FALSE

入口

TCP

2380

openshift-etcd

healthz

etcd

etcd

master

FALSE

入口

TCP

5050

openshift-machine-api

 

ironic-proxy

ironic-proxy

master

FALSE

入口

TCP

6080

openshift-kube-apiserver

 

kube-apiserver

kube-apiserver-insecure-readyz

master

FALSE

入口

TCP

6180

openshift-machine-api

metal3-state

metal3

metal3-httpd

master

FALSE

入口

TCP

6183

openshift-machine-api

metal3-state

metal3

metal3-httpd

master

FALSE

入口

TCP

6385

openshift-machine-api

 

ironic-proxy

ironic-proxy

master

FALSE

入口

TCP

6388

openshift-machine-api

metal3-state

metal3

metal3-httpd

master

FALSE

入口

TCP

6443

openshift-kube-apiserver

APIServer

kube-apiserver

kube-apiserver

master

FALSE

入口

TCP

8080

openshift-network-operator

 

network-operator

network-operator

master

FALSE

入口

TCP

8798

openshift-machine-config-operator

machine-config-daemon

machine-config-daemon

machine-config-daemon

master

FALSE

入口

TCP

9001

openshift-machine-config-operator

machine-config-daemon

machine-config-daemon

kube-rbac-proxy

master

FALSE

入口

TCP

9099

openshift-cluster-version

cluster-version-operator

cluster-version-operator

cluster-version-operator

master

FALSE

入口

TCP

9100

openshift-monitoring

node-exporter

node-exporter

kube-rbac-proxy

master

FALSE

入口

TCP

9103

openshift-ovn-kubernetes

ovn-kubernetes-node

ovnkube-node

kube-rbac-proxy-node

master

FALSE

入口

TCP

9104

openshift-network-operator

metrics

network-operator

network-operator

master

FALSE

入口

TCP

9105

openshift-ovn-kubernetes

ovn-kubernetes-node

ovnkube-node

kube-rbac-proxy-ovn-metrics

master

FALSE

入口

TCP

9107

openshift-ovn-kubernetes

egressip-node-healthcheck

ovnkube-node

ovnkube-controller

master

FALSE

入口

TCP

9108

openshift-ovn-kubernetes

ovn-kubernetes-control-plane

ovnkube-control-plane

kube-rbac-proxy

master

FALSE

入口

TCP

9192

openshift-cluster-machine-approver

machine-approver

machine-approver

kube-rbac-proxy

master

FALSE

入口

TCP

9258

openshift-cloud-controller-manager-operator

machine-approver

cluster-cloud-controller-manager

cluster-cloud-controller-manager

master

FALSE

入口

TCP

9444

openshift-kni-infra

 

hapoxy

hapoxy

master

FALSE

入口

TCP

9445

openshift-kni-infra

 

hapoxy

hapoxy

master

FALSE

入口

TCP

9447

openshift-machine-api

 

metal3-baremetal-operator

 

master

FALSE

入口

TCP

9537

主机系统服务

crio-metrics

  

master

FALSE

入口

TCP

9637

openshift-machine-config-operator

kube-rbac-proxy-crio

kube-rbac-proxy-crio

kube-rbac-proxy-crio

master

FALSE

入口

TCP

9978

openshift-etcd

etcd

etcd

etcd-metrics

master

FALSE

入口

TCP

9979

openshift-etcd

etcd

etcd

etcd-metrics

master

FALSE

入口

TCP

9980

openshift-etcd

etcd

etcd

etcd

master

FALSE

入口

TCP

10250

主机系统服务

kubelet

  

master

FALSE

入口

TCP

10256

openshift-ovn-kubernetes

ovnkube

ovnkube

ovnkube-controller

master

FALSE

入口

TCP

10257

openshift-kube-controller-manager

kube-controller-manager

kube-controller-manager

kube-controller-manager

master

FALSE

入口

TCP

10258

openshift-cloud-controller-manager-operator

cloud-controller

cloud-controller-manager

cloud-controller-manager

master

FALSE

入口

TCP

10259

openshift-kube-scheduler

scheduler

openshift-kube-scheduler

kube-scheduler

master

FALSE

入口

TCP

10260

openshift-cloud-controller-manager-operator

cloud-controller

cloud-controller-manager

cloud-controller-manager

master

FALSE

入口

TCP

10300

openshift-cluster-csi-drivers

csi-livenessprobe

csi-driver-node

csi-driver

master

FALSE

入口

TCP

10309

openshift-cluster-csi-drivers

csi-node-driver

csi-driver-node

csi-node-driver-registrar

master

FALSE

入口

TCP

10357

openshift-kube-apiserver

openshift-kube-apiserver-healthz

kube-apiserver

kube-apiserver-check-endpoints

master

FALSE

入口

TCP

17697

openshift-kube-apiserver

openshift-kube-apiserver-healthz

kube-apiserver

kube-apiserver-check-endpoints

master

FALSE

入口

TCP

18080

openshift-kni-infra

 

coredns

coredns

master

FALSE

入口

TCP

22623

openshift-machine-config-operator

machine-config-server

machine-config-server

machine-config-server

master

FALSE

入口

TCP

22624

openshift-machine-config-operator

machine-config-server

machine-config-server

machine-config-server

master

FALSE

入口

UDP

53

openshift-dns

dns-default

dnf-default

dns

master

FALSE

入口

UDP

111

主机系统服务

rpcbind

  

master

TRUE

入口

UDP

6081

openshift-ovn-kubernetes

ovn-kubernetes geneve

  

master

FALSE

入口

TCP

22

主机系统服务

sshd

  

worker

TRUE

入口

TCP

53

openshift-dns

dns-default

dnf-default

dns

worker

FALSE

入口

TCP

80

openshift-ingress

router-default

router-default

路由器

worker

FALSE

入口

TCP

111

主机系统服务

rpcbind

  

worker

TRUE

入口

TCP

443

openshift-ingress

router-default

router-default

路由器

worker

FALSE

入口

TCP

1936

openshift-ingress

router-default

router-default

路由器

worker

FALSE

入口

TCP

8798

openshift-machine-config-operator

machine-config-daemon

machine-config-daemon

machine-config-daemon

worker

FALSE

入口

TCP

9001

openshift-machine-config-operator

machine-config-daemon

machine-config-daemon

kube-rbac-proxy

worker

FALSE

入口

TCP

9100

openshift-monitoring

node-exporter

node-exporter

kube-rbac-proxy

worker

FALSE

入口

TCP

9103

openshift-ovn-kubernetes

ovn-kubernetes-node

ovnkube-node

kube-rbac-proxy-node

worker

FALSE

入口

TCP

9105

openshift-ovn-kubernetes

ovn-kubernetes-node

ovnkube-node

kube-rbac-proxy-ovn-metrics

worker

FALSE

入口

TCP

9107

openshift-ovn-kubernetes

egressip-node-healthcheck

ovnkube-node

ovnkube-controller

worker

FALSE

入口

TCP

9537

主机系统服务

crio-metrics

  

worker

FALSE

入口

TCP

9637

openshift-machine-config-operator

kube-rbac-proxy-crio

kube-rbac-proxy-crio

kube-rbac-proxy-crio

worker

FALSE

入口

TCP

10250

主机系统服务

kubelet

  

worker

FALSE

入口

TCP

10256

openshift-ovn-kubernetes

ovnkube

ovnkube

ovnkube-controller

worker

TRUE

入口

TCP

10300

openshift-cluster-csi-drivers

csi-livenessprobe

csi-driver-node

csi-driver

worker

FALSE

入口

TCP

10309

openshift-cluster-csi-drivers

csi-node-driver

csi-driver-node

csi-node-driver-registrar

worker

FALSE

入口

TCP

18080

openshift-kni-infra

 

coredns

coredns

worker

FALSE

入口

UDP

53

openshift-dns

dns-default

dnf-default

dns

worker

FALSE

入口

UDP

111

主机系统服务

rpcbind

  

worker

TRUE

入口

UDP

6081

openshift-ovn-kubernetes

ovn-kubernetes geneve

  

worker

FALSE

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.