1.7. 已知问题
Machine Config Operator (MCO) 支持第 2 天代理支持时存在一个问题,它出现在重新配置现有非代理集群以使用代理时。MCO 应该对 RHCOS 信任捆绑包在配置映射中应用新配置的代理 CA 证书。当前这无法正常工作。作为临时解决方案,您必须手动将代理 CA 证书添加到信任捆绑包中,然后更新信任捆绑包:
$ cp /opt/registry/certs/<my_root_ca>.crt /etc/pki/ca-trust/source/anchors/ $ update-ca-trust extract $ oc adm drain <node> $ systemctl reboot
-
使用自签名的 Red Hat OpenStack Platform (RHOSP) 16 集群时,您无法从内部镜像 registry 拉取镜像,或把镜像推送到内部镜像 registry。作为临时解决方案,您必须在
configs.imageregistry/cluster
资源中把spec.disableRedirects
设为true
。这样,客户端可以从镜像 registry 中拉取镜像层,而不是直接从 Swift 链接拉取。(BZ#1810461) 集群代理配置
HTTP_PROXY
仅适用于 OpenShift Container Platform 组件,不适用于用户应用程序。这个问题的一个解决方案是,您必须运行以下命令为用户应用程序启用集群代理配置:$ oc set env dc/jenkins \ http_proxy=$(oc get proxy cluster -o jsonpath='{.status.httpProxy}') \ https_proxy=$(oc get proxy cluster -o jsonpath='{.status.httpsProxy}') \ no_proxy=$(oc get proxy cluster -o jsonpath='{.status.noProxy}')
-
所有通过 HTTPS 代理的
git clone
操作将失败。使用 HTTP 代理不会出现这个问题。(BZ#1750650) -
如果源 URI 使用
git://
或ssh://
,则所有对代理后面的构建的git clone
操作都会失败。(BZ#1751738) - 使用镜像(mirror)构建镜像时,当 mirror registry 的 pull secret 仅链接到构建器服务帐户时,构建会失败。pull secret 还必须链接到构建配置对象。(BZ#1810904)
-
在带有 Kuryr 的 Red Hat OpenStack Platform (RHOSP) 13 中,如果 FIPS 被禁用,则无法启用服务目录。Service Catalog 控制器管理器和 API 服务器组件的 Pod 显示
CrashLoopBackOff
状态。这是因为https://etcd.openshift-etcd.svc.cluster.local:2379
URL 并不总是被解析。在 OpenShift Container Platform 4 中使用了一个新方法来获取 etcd 集群 URL。(BZ#1821589) -
因为
ovn_controller
在初始设置后崩溃,安装使用 Kuryr 的 RHOSP 16 无法正常工作。(BZ#1812009, BZ#1818844) -
Red Hat Virtualization (RHV) 机器的
instance-state
注解和providerStatus.instanceState
状态并不总是匹配。不匹配会导致客户端失败或者错误地对 RHV 机器状态进行补丁。(BZ#1815394) -
当扩展 RHV 上设置的机器时,新机器无法退出
Provisioned
阶段。这会导致机器不能运行。(BZ#1815435, BZ#1817853) - OpenShift Container Platform 集群的自动扩展因为集群资源计算错误而失败。(BZ#1822118)
- 当使用 Firefox 浏览器来选择 Topology 视图中的节点或节点组时,所有相关标签和节点的背景变得透明。(BZ#1822337)
-
在 Topology 视图中,当用户选择节点或工作负载,然后点击侧面面板上的 Monitoring
View monitoring dashboard 时,用户会看到该特定工作负载的监控仪表板。此过滤出的工作负载面板视图没有被明确命名,这会导致与显示所有工作负载指标的通用仪表板产生混乱。(BZ#1822331) -
当从 Developer 视角在无服务器流量分布标签中输入无效字符,比如句点 (
.
) 时,流量分布功能将停止工作。然而,它并没有显示任何错误消息来防止在标签中输入无效字符。(BZ#1822344) - 如果身份提供者(IDP)需要超过 60 秒的时间来验证用户,在尝试其他 IDP 前验证可能会失败。这个问题的一个解决方案是,从 IDP 列表中删除有问题的 IDP,以便用户可以使用其他 IDP 进行身份验证。(BZ#1826484)
-
当将集群日志记录从版本 4.3 更新至版本 4.4 时,Elasticsearch Pod 可能会停留在
CrashLoopBackOff
状态中。您可以通过按顺序删除 Elasticsearch 部署来解决这个问题。(BZ#1824006) - OpenShift Container Platform 4.4 不附带 v.4.4 Metering Operator。用户可以在 OpenShift Container Platform 4.4 集群中安装或继续运行 v4.3 Metering Operator。(BZ#1829035)
当把 OpenShift Container Platform 集群从版本 4.3 更新 至版本 4.4 时,etcd Operator 有时可能会因为处于降级状态而无法升级,。这是因为
InstallerPod
失败所致。这个问题的一个解决方案是,您必须在 etcd 上强制一个新修订版本来修复InstallerPod
故障,这样可以让 etcd Operator 恢复:在 etcd 上强制一个新的修订版本:
$ oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
验证节点是否处于最新的修订版本:
$ oc get etcd '-o=jsonpath={range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
-
web 控制台下载部署在配置了
ipv6.disable=1
的节点上会失败。(BZ1795325) Topology Manager 中 存在一个问题,如果在同一节点上同时创建保证 QoS pod,可能会导致 NUMA 资源无法与同一 NUMA 节点一致。因此,pod 规格中请求的资源可能会 MUMA 不一致。
为了避免在 4.4 中出现这个问题,请不要同时在节点上启动带有 Guaranteed QoS 的多个 pod。
如果您遇到这个问题,请先删除然后再重新创建 pod。(BZ#1834979)
-
runStrategy
属性设置为Manual
的虚拟机并不表示它们在运行或停止,web 控制台会错误地假设它们正在运行。要避免这个问题,在通过 web 控制台处理虚拟机时,不要将runStrategy
设置为Manual
。使用running
属性,或将runStrategy
设置为Always
RerunOnFailure
、 或Halted
。(BZ#1834717) - 当升级到新的 OpenShift Container Platform z-stream 发行版本时,当节点升级后,与 API 服务器的连接可能会中断,这会导致 API 请求失败。(BZ#1791162)
- 当升级到新的 OpenShift Container Platform z-stream 版本时,路由器的连接可能会在路由器 Pod 被更新后中断。在升级期间, 一 些应用程序可能无法被稳定访问。(BZ#1809665)
- 由于与过期 OAuth 令牌相关的问题,您可能在 Kibana 控制台中收到 security_exception 错误,并无法访问 Kibana 索引。如果您看到这个错误,请登出 Kibana 控制台后再重新登录。这会刷新 OAuth 令牌,您应该能够访问索引。(BZ#1791837)
- 通过 HTTPS 代理的 git clone 操作会失败。使用非 TLS (HTTP) 代理不会出现这个问题。(BZ#1750650)
-
如果源 URI 使用
git://
或ssh://
,则需要通过代理进行的构建的 git clone 操作都会失败。(BZ#1751738) 在 OpenShift Container Platform 4.1 中,匿名用户可以访问发现端点。之后的版本会取消对这端点的访问,以减少可能的安全漏洞攻击面。一些发现端点被转发到聚合的 API 服务器。但是,升级的集群中会保留未经身份验证的访问,因此现有用例不会中断。
如果您是一个从 OpenShift Container Platform 4.1 升级到 4.4 的集群的集群管理员,您可以撤销或继续允许未经身份验证的访问。建议取消未经身份验证的访问,除非有特殊需要。如果您继续允许未经身份验证的访问,请注意相关的风险。
警告如果您的应用程序依赖未经身份验证的访问,在撤销了未经身份验证的访问后可能会收到 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
-