1.8. 已知问题
在 OpenShift Container Platform 4.1 中,匿名用户可以访问发现端点。之后的版本会取消对这端点的访问,以减少可能的安全漏洞攻击面。一些发现端点被转发到聚合的 API 服务器。但是,升级的集群中会保留未经身份验证的访问,因此现有用例不会中断。
如果您是一个从 OpenShift Container Platform 4.1 升级到 4.10 的集群的集群管理员,您可以撤销或继续允许未经身份验证的访问。建议取消未经身份验证的访问,除非有特殊需要。如果您继续允许未经身份验证的访问,请注意相关的风险。
警告如果您的应用程序依赖未经身份验证的访问,在撤销了未经身份验证的访问后可能会收到 HTTP
403
错误。使用以下脚本撤销对发现端点的未经身份验证的访问:
## Snippet to remove unauthenticated group from all the cluster role bindings $ for clusterrolebinding in cluster-status-binding discovery system:basic-user system:discovery system:openshift:discovery ; do ### Find the index of unauthenticated group in list of subjects index=$(oc get clusterrolebinding ${clusterrolebinding} -o json | jq 'select(.subjects!=null) | .subjects | map(.name=="system:unauthenticated") | index(true)'); ### Remove the element at index from subjects array oc patch clusterrolebinding ${clusterrolebinding} --type=json --patch "[{'op': 'remove','path': '/subjects/$index'}]"; done
此脚本从以下集群角色绑定中删除未经身份验证的对象:
-
cluster-status-binding
-
discovery
-
system:basic-user
-
system:discovery
-
system:openshift:discovery
-
-
oc annotate
命令不适用于包含了等号(=
)的 LDAP 组名称,因为命令使用等号作为注释名称和值之间的分隔符。作为临时解决方案,使用oc patch
或oc edit
添加注解。(BZ#1917280) -
目前,容器以非空的 Linux 进程功能开始。要临时解决这个问题,请使用
capsh (1)
等实用程序修改容器的入口点,以在主进程启动前丢弃可继承的功能。(BZ#2076265) 当升级到 OpenShift Container Platform 4.10 时,Cluster Version Operator 会因为预条件检查失败而阻止升级大约五分钟。错误文本
It may not be safe to apply this update
可能会造成误导。当一个或多个 precondition 检查失败时,会出现这个错误。在某些情况下,这些 precondition 检查可能无法在短时间内失败(例如在 etcd 备份过程中)。在这些情况下,Cluster Version Operator 和对应的 Operator 将会根据设计自动解决失败的条件检查,CVO 可以成功启动升级。用户应检查其 Cluster Operator 的状态和条件。如果 Cluster Version Operator 显示
It may not be safe to apply this update
,则这些状态和条件会提供有关消息严重性的更多信息。如需更多信息,请参阅 BZ#1999777, BZ#2061444, BZ#2006611。- 在 Amazon Web Services(AWS)上置备的集群中不支持使用 EgressIP 功能将出口 IP 地址分配给 control plane 节点。(BZ#2039656)
-
在以前的版本中,Red Hat OpenStack Platform(RHOSP)凭证 secret 创建和
kube-controller-manager
启动之间有一个竞争条件。因此,Red Hat OpenStack Platform(RHOSP)云供应商不会配置 RHOSP 凭证,并在为LoadBalancer
服务创建 Octavia 负载均衡器时无法正常工作。要临时解决这个问题,您必须通过从清单中手动删除 pod 来重启kube-controller-manager
pod。当使用临时解决方案时,kube-controller-manager
pod 会重启,RHOSP 凭证会被正确配置。(BZ#2004542) -
目前,能够使用
delete all operands
选项从 web 控制台删除操作对象的功能。以后的 OpenShift Container Platform 版本中会重新启用它。如需更多信息,请参阅 BZ#2012120 和 BZ#2012971。 此发行版本在 Jenkins 中存在一个已知问题。如果您自定义 OpenShift OAuth 路由的主机名和证书,Jenkins 不再信任 OAuth 服务器端点。因此,如果用户依赖 OpenShift OAuth 集成来管理身份和访问权限,用户就无法登录 Jenkins 控制台。
临时解决方案:请参阅红帽知识库解决方案,Deploy Jenkins on OpenShift with Custom OAuth Server URL。(BZ#1991448)
此发行版本在 Jenkins 中存在一个已知问题。基于 RHEL 的镜像中缺少
xmlstarlet
命令行工具来验证或查询 XML 文件。此问题会影响不使用 OpenShift OAuth 进行身份验证的部署。虽然 OpenShift OAuth 默认启用,但用户可以禁用它。临时解决方案:使用 OpenShift OAuth 进行身份验证。(BZ#2055653)
- 当实例组名称超过 64 个字符时,Google Cloud Platform(GCP)UPI 安装会失败。添加 "-instance-group" 后缀后,您在命名过程中受到限制。将后缀缩短为"-ig"以减少字符数。(BZ#1921627)
-
对于在 RHOSP 上运行并使用 Kuryr 的集群,Octavia 的 OVN Provider 驱动中的一个错误可能会导致负载均衡器监听程序在附加的负载均衡器处于
ACTIVE
状态时处于PENDING_UPDATE
状态。因此,kuryr-controller
pod 可能会导致崩溃。要解决这个问题,将 RHOSP 更新至 16.1.9 版本(BZ#2019980)或版本 16.2.4 (BZ#2045088)。 -
如果在 vSphere
install-config.yaml
文件中指定了不正确的网络,则在一段时间后会生成 Terraform 中的错误消息。在创建清单期间添加检查,以在网络无效时通知用户。(BZ#1956776) - 由于存在软件定义的网络策略,特殊 Resource Operator (SRO) 可能无法在 Google Cloud Platform 上安装。因此,simple-kmod pod 不会被创建。(BZ#1996916)
-
目前,当为映射到有状态集的服务运行
oc idle
时,不支持闲置有状态的集合。目前还没有已知的临时解决方案。(BZ#1976894) - Alibaba Cloud International Portal 帐户的中国(Nanjing)和 UAE(Dubai)区域不支持安装程序置备的基础架构(IPI)安装。中国(Guangzhou)和中国(Ulanqab)区域在使用 Alibaba Cloud International Portal 帐户时不支持 Server Load Balancer(SLB),因此不支持 IPI 安装。(BZ#2048062)
-
Alibaba Cloud 的 Korea(Seoul)
ap-northeast-2
区域不支持安装程序置备的基础架构(IPI)安装。韩国(Seoul)区域不支持 Server Load Balancer(SLB),因此不支持 IPI 安装。如果要在此区域中使用 OpenShift Container Platform,请联系 Alibaba Cloud。(BZ#2062525) - 目前,Knative Serving - Revision CPU、Memory 和 Network usage 和 Knative Serving - Revision Queue proxy Metrics 仪表板都出现在所有命名空间中,包括没有 Knative 服务的这些命名空间。(BZ#2056682)
- 目前,在 Developer 视角中,Observe 仪表板会为最近查看的工作负载打开,而不是您在 Topology 视图中选择的工作负载。出现这个问题的原因是,会话使用 Red Hatux 存储而不是 URL 中的查询参数。(BZ#2052953)
- 目前,集群中不会显示 ProjectHelmChartRepository 自定义资源(CR),因为集群中还没有初始化此 CR 的 API 模式。(BZ#2054197)
-
目前,在运行 high-volume 管道日志时,自动滚动功能无法正常工作,并且日志会卡住旧的消息。出现这个问题的原因是,运行 high-volume 管道日志会为
scrollIntoView
方法生成大量调用。(BZ#2014161) - 当前,在使用 Import from Git 表单导入私有 Git 存储库时,不会识别正确的导入类型和构建器镜像。出现这个问题的原因是,无法对私有存储库详情进行解码。(BZ#2053501)
- 在升级监控堆栈时,Prometheus 和 Alertmanager 可能会在短暂的时间内不可用。这个问题还没有临时解决方案,因为短时间过后组件将可用。不需要用户干预。(BZ#203059)
-
在本发行版本中,监控堆栈组件已更新为对指标集合使用 TLS 身份验证。但是,有时 Prometheus 会尝试使用过期的 TLS 凭证保持对指标目标的 HTTP 连接,即使提供了新的凭证。随后会发生身份验证错误,某些指标目标不可用。当出现这个问题时,
TargetDown
警报将触发。要临时解决这个问题,重启报告为 down 的 pod。(BZ#2033575) - 在本发行版本中,监控堆栈中的 Alertmanager 副本数从 3 个减少到两个。但是,在升级过程中,删除的第三个副本的持久性卷声明(PVC)不会被自动删除。升级后,管理员可以从 Cluster Monitoring Operator 手动删除此 PVC。(BZ#2040131)
-
在以前的版本中,当提供多个
--image
参数时,oc adm must-gather
工具不会收集性能特定数据。操作完成后缺少文件(包括节点和性能相关文件)。此问题会影响 4.7 到 4.10 之间的 OpenShift Container Platform 版本。这个问题可以通过为每个镜像执行oc adm must-gather
操作两次来解决。因此,可以收集所有预期文件。(BZ#2018159) -
当使用技术预览 oc-mirror CLI 插件时,存在一个已知问题:在将更新的镜像设置为镜像 registry 后更新集群时可能会出现这个问题。如果 Operator 的新版本被发布到某个频道,然后删除该 Operator 的早期版本并将其替换为新版本,则在从 oc-mirror 插件中应用生成的
CatalogSource
文件时可能会出现错误,因为目录被视为无效。作为临时解决方案,从镜像 registry 中删除之前的目录镜像,生成并发布一个新的不同的镜像集,然后将CatalogSource
文件应用到集群。每次发布一个新的不同镜像集时,您必须遵循这个临时解决方案,直到这个问题被解决为止。(BZ#2060837) -
在 GitOps ZTP 流中处理
StoragePVC
自定义资源不会在用户不包括值时排除volume.beta.kubernetes.io/storage-class
注解。此注解会导致spec.storageClassName
字段被忽略。要避免这种情况,在使用StoragePVC
自定义资源时,在您的PolicyGenTemplate
中的Volume.beta.kubernetes.io/storage-class
注解中设置所需的StorageClass
名称。(BZ#2060554) - 删除在边框网关协议(BGP)对等资源上启用的双向转发检测(BFD)自定义配置集不会禁用 BFD。相反,BGP 对等点开始使用默认的 BFD 配置集。要从 BGP peer 资源禁用 BFD,请删除 BGP 对等配置,并在没有 BFD 配置集的情况下重新创建它。(BZ#2050824)
- 对于在 RHOSP 上运行的集群并使用 Mellanox NIC 作为单根 I/O 虚拟化配置(SR-IOV)的一部分,您可能无法在启动一个 pod 后创建一个 pod,重启 SR-IOV 设备插件,然后停止 pod。这个问题还没有可用的临时解决方案。
-
OpenShift Container Platform 支持在没有 DHCP 服务器的情况下部署安装程序置备的集群。但是,如果没有 DHCP 服务器,bootstrap 虚拟机不会接收
baremetal
网络的外部 IP 地址。要为 bootstrap 虚拟机分配 IP 地址,请参阅在没有 DHCP 服务器的情况下,为 bootstrap 虚拟机分配裸机网络上的 IP 地址。(BZ#2048600) -
OpenShift Container Platform 支持为没有 DHCP 服务器的环境在
baremetal
网络中部署带有静态 IP 地址的安装程序置备的集群。如果存在 DHCP 服务器,节点可能会在重启时从 DHCP 服务器检索 IP 地址。要防止 DHCP 重启后为节点分配 IP 地址,请参阅防止 DHCP 在节点重启时分配 IP 地址。(BZ#2036677) - 因为 Netfilter 模块中的一个错误,RHCOS 内核会遇到软锁定并最终 panic。计划在以后的 OpenShift Container Platform z-stream 版本中解决这个问题。(BZ#2061445)
-
由于在某些镜像索引中包含旧镜像,运行
oc adm catalog mirror
和oc image mirror
可能会导致以下错误:error: unable to retrieve source image
。作为临时解决方案,您可以使用--skip-missing
选项绕过错误并继续下载镜像索引。如需更多信息,请参阅 Service Mesh Operator 镜像失败。 - 当虚拟功能(VF)已存在时,无法在物理功能(PF)上创建 macvlan。此问题会影响 Intel E810 NIC。(BZ#2120585)
-
如果通过 ZTP 部署的集群具有不合规的策略,且没有
ClusterGroupUpdates
对象,则必须重启 TALM pod。重启 TALM 会创建正确的ClusterGroupUpdates
对象,它强制执行策略合规性。(OCPBUGS-4065) - 目前,当使用包含大量文件的持久性卷 (PV) 时,pod 可能无法启动,或者可能需要很长时间才能启动。如需更多信息,请参阅此知识库文章。(BZ1987112)