搜索

1.8. 已知问题

download PDF
  • 在 OpenShift Container Platform 4.1 中,匿名用户可以访问发现端点。之后的版本会取消对这端点的访问,以减少可能的安全漏洞攻击面。一些发现端点被转发到聚合的 API 服务器。但是,升级的集群中会保留未经身份验证的访问,因此现有用例不会中断。

    如果您是一个从 OpenShift Container Platform 4.1 升级到 4.11 的集群的集群管理员,您可以撤销或继续允许未经身份验证的访问。除非对未经身份验证的访问有特殊需要,否则您应该撤销它。如果您继续允许未经身份验证的访问,请注意相关的风险。

    警告

    如果您的应用程序依赖未经身份验证的访问,在撤销了未经身份验证的访问后可能会收到 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

    (BZ#1821771)

  • oc annotate 命令不适用于包含了等号(=)的 LDAP 组名称,因为命令使用等号作为注释名称和值之间的分隔符。作为临时解决方案,使用 oc patchoc edit 添加注解。(BZ#1917280)
  • 在监控堆栈中,如果您为用户定义的警报启用并部署了专用的 Alertmanager 实例,您可以在 OpenShift Container Platform Web 控制台的 Developer 视角中静默警报。这个问题已在 4.11.8 中解决。(BZ#2100860)
  • 在新安装的 OpenShift Container Platform 4.11 集群中,平台监控警报没有 openshift_io_alert_source="platform" 标签。这个问题不会影响从以前的次版本升级的集群。这个问题目前还没有临时解决方案。(BZ#2103127)
  • 在 Red Hat OpenStack Platform(RHOSP)中,当端口池使用各种批量端口创建请求填充时,潜在的问题可能会影响 Kuryr。在这些批量请求期间,如果其中一个 IP 地址的 IP 分配失败,Neutron 会为所有端口重试操作。这个问题已在之前的勘误中解决,但您可以为端口池批处理设置小的值,以避免大量的端口创建请求。(BZ#2024690)
  • oc-mirror CLI 插件无法与版本 4.9 相比,对 OpenShift Container Platform 目录进行镜像(mirror)。(BZ#2097210)
  • 如果镜像设置配置中的 archiveSize 值小于容器镜像大小,则 oc-mirror CLI 插件可能无法将镜像设置为目标镜像 registry。(BZ#2106461)
  • 在 OpenShift Container Platform 4.11 中,MetalLB Operator 范围已从命名空间改为集群,这会导致从以前的版本升级失败。

    作为临时解决方案,删除以前版本的 MetalLB Operator。不要删除 MetalLB 自定义资源的命名空间或实例,并部署新的 Operator 版本。这会保持 MetalLB 运行并配置。

    如需更多信息,请参阅升级 MetalLB Operator。(BZ#2100180)

  • 删除双向转发检测 (BFD) 配置集并删除添加到边框网关协议 (BGP) 对等资源中的 bfdProfile 不会禁用 BFD。相反,BGP 对等点开始使用默认的 BFD 配置集。要从 BGP peer 资源禁用 BFD,请删除 BGP 对等配置,并在没有 BFD 配置集的情况下重新创建它。(BZ#2050824)
  • OpenShift Container Platform 4.11 的 OpenShift CLI(oc)在 macOS 上无法正常工作,因为处理 Go 1.18 库中的不可信证书有改变。由于此更改,oc login 和其它 oc 命令可能会失败并带有 certificate is not trusted 错误,而不会在 macOS 上运行时继续进一步。在 Go 1.18 中正确处理错误处理(由 Go 问题 #52010跟踪),其临时解决方案是使用 OpenShift Container Platform 4.10 oc CLI。请注意,当将 OpenShift Container Platform 4.10 oc CLI 与 OpenShift Container Platform 4.11 集群搭配使用时,无法使用 oc serviceaccounts get-token <service_account> 命令获取令牌。(BZ#2097830) (BZ#2109799)
  • 目前,Add Helm Chart Repositories 表单中有一个已知问题来扩展项目的 Developer Catalog。Quick Start 指南显示您可以在所需命名空间中添加 ProjectHelmChartRepository CR,但不提到执行 kubeadmin 所需的权限。(BZ#2054197)
  • 当前存在一个已知问题。如果您创建使用 TLS 验证的 ProjectHelmChartRepository 自定义资源(CR)实例,则无法列出软件仓库并执行与 Helm 相关的操作。当前没有解决此问题的方法。(HELM-343)
  • 在裸机 IBM Power 上运行 OpenShift Container Platform 时,存在一个已知问题:Petitboot bootloader 无法为某些 RHCOS live 镜像填充引导配置。在这种情况下,在使用 PXE 启动节点安装 RHCOS 后,预期的实时镜像磁盘配置可能无法可见。

    作为临时解决方案,您可以使用 kexec 从 Petitboot shell 手动引导。

    识别存放 live 镜像的磁盘,在这个示例中为 nvme0n1p3,再运行以下命令:

    # cd /var/petitboot/mnt/dev/nvme0n1p3/ostree/rhcos-*/
    # kexec -l vmlinuz-*.ppc64le -i initramfs-*.img -c "ignition.firstboot rd.neednet=1 ip=dhcp $(grep options /var/petitboot/mnt/dev/nvme0n1p3/loader/entries/ostree-1-rhcos.conf | sed 's,^options ,,')" && kexec -e

    (BZ#2107674)

  • 在断开连接的环境中,SRO 不会尝试从主 registry 获取 DTK。它改为从镜像 registry 获取。(BZ#2102724)
  • 进程计数器在没有运行 phc2sys 的接口中显示不正确的 phc2sys 进程信息。当前没有解决此问题的方法。(OCPBUGSM-46005)
  • 当在具有双 NIC PTP 配置的节点上有一个网络接口控制器(NIC)时,会为两个 PTP 接口生成一个错误事件。当前没有解决此问题的方法。(OCPBUGSM-46004)
  • 在低带宽系统中,系统时钟在每几个小时断开连接并恢复了 PTP 普通时钟后,时钟不会与 PTP 普通时钟同步。当前没有解决此问题的方法。(OCPBUGSM-45173)
  • 在以前的版本中,如果您使用 OVN-Kubernetes 集群网络供应商,如果带有 type=LoadBalancer 的服务被配置为 internalTrafficPolicy=cluster,那么所有流量也会路由到默认网关,即使主机路由表包含更好的路由。现在,会使用最佳路由,而不是始终使用默认网关。(BZ#2060159)
  • 当 OVN 集群有 75 个 worker 节点时,同时创建 2000 或更多服务和路由对象可能会导致在 ContainerCreating 状态中同时创建的 pod 挂起。如果发生这个问题,输入 oc describe pod <podname> 命令会显示带有以下警告信息的事件:FailedCreatePodSandBox…​failed to configure pod interface: timed out waiting for OVS port binding (ovn-installed)。当前没有解决此问题的方法。(BZ#2084062)
  • 目前,OVN-Kubernetes 存在一个已知问题:当 NetworkManager 服务重启节点时,节点都会丢失网络连接,必须恢复。(BZ#2074009)
  • 默认安全性上下文约束 (SCC) 可能会导致 pod 使用通用临时卷处于 Pending 状态。要临时解决这个问题,您可以创建自定义 SCC。如需更多信息,请参阅带有 SCC Generic Ephemeral Volumes 的 Pod 会失败。有关临时解决方案,请参阅允许使用通用临时卷。(BZ#2100429)
  • 如果您有 OpenShift 沙盒容器,在升级集群时,您可能会遇到 Machine Config Operator(MCO)pod 变为 CrashLoopBackOff 状态的问题,pod 的 openshift.io/scc 注解会显示 sandboxed-containers-operator-scc,而不是默认的 hostmount-anyuid 值。

    如果发生了这种情况,将 sandboxed-containers-operator-scc SCC 中的 seLinuxOptions 策略临时改为不太严格的 RunAsAny,以便准入进程会首选 hostmount-anyuid SCC 而不是它。

    1. 运行以下命令来更改 seLinuxOptions 策略:

      $ oc patch scc sandboxed-containers-operator-scc --type=merge --patch '{"seLinuxContext":{"type": "RunAsAny"}}'
    2. 运行以下命令重启 MCO pod:

      $ oc scale deployments/machine-config-operator -n openshift-machine-config-operator --replicas=0
      $ oc scale deployments/machine-config-operator -n openshift-machine-config-operator --replicas=1
    3. 运行以下命令,将 sandboxed-containers-operator-sccseLinuxOptions 策略恢复到其原始 MustRunAs 值:

      $ oc patch scc sandboxed-containers-operator-scc --type=merge --patch '{"seLinuxContext":{"type": "MustRunAs"}}'
    4. 运行以下命令,验证 hostmount-anyuid SCC 是否已应用到 MCO pod:

      $ oc get pods -n openshift-machine-config-operator -l k8s-app=machine-config-operator -o yaml | grep scc
      openshift.io/scc: hostmount-anyuid

    (KATA-1373)

  • Pipeline metrics API 不支持来自 RHOSP 1.6 及之后的版本中的、所需的 pipelinerun/taskrun histogram 值。因此,Pipeline Details 页面中的 Metrics 选项卡会被删除,而不是显示不正确的值。当前没有解决此问题的临时解决方案。(链接: BZ#2074767
  • 有些 Alibabacloud 服务不会将集群的所有资源放在指定资源组中。因此,OpenShift Container Platform 安装程序创建的一些资源被放置在默认的资源组中。当前没有解决此问题的方法。(BZ#2096692)
  • 重新引导每个集群节点后,集群 Operator networkkube-apiserver 会在重启集群节点后变为 degraded,集群会开启不健康状态。当前没有解决此问题的方法。(BZ#2102011)
  • 当在 install-config.yaml 中指定 resourceGroupID 时,删除 bootstrap 资源和 OpenShift Container Platform 安装失败时会出现一个错误。为了解决这个问题,请不要在 install-config.yaml 中指定 resourceGroupID。(BZ#2100746)
  • 在 RHEL 计算节点上扩展中存在一个已知问题。新节点可能会变为 Ready,但 Ingress pod 无法在这些节点上变为 Running,且扩展不会成功。作为临时解决方案,使用 RHCOS 节点扩展可以正常工作。(BZ#2056387)
  • 在 Google Cloud Platform (GCP) 中创建 machineset 后,capg-controller-manager 机器会停留在 Provisioning 中。当前没有解决此问题的方法。(BZ#2107999)
  • Nutanix 存在一个已知问题,其中 destroy cluster 命令不会清理由集群创建的持久性卷 (PV)。为了解决这个问题,您需要手动清理 PV。(BZ#2108700)
  • Nutanix 安装中存在一个已知问题:如果您使用带有 Prism Central 2022.x 的 4096 位证书,则安装会失败。反之,使用 2048 位证书。(KCS)
  • 目前,在创建和使用不正确的语法或值成功编辑 egressqos 时存在一个已知问题。egressqos 中的错误值不应成功创建。当前没有解决此问题的方法。(BZ#2097579)
  • 由于在某些镜像索引中包含旧镜像,运行 oc adm catalog mirroroc 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)
  • 目前,当您在 macOS 上运行安装程序以便在 VMware vSphere 上安装 OpenShift Container Platform 集群时,存在一个证书合规问题,特别是 x509: certificate is not standards compliant。这个问题与 golang 编译器的已知问题相关,其中编译器无法识别新支持的 macOS 证书标准。这个问题不存在临时解决方案。(OSDOCS-5694)
  • 目前,当使用包含大量文件的持久性卷 (PV) 时,pod 可能无法启动,或者可能需要很长时间才能启动。如需更多信息,请参阅此知识库文章。(BZ1987112)
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.