2.10. 已知问题

  • 当您使用与这些 pod 关联的项目的卷创建在"SecurityContext"中设置的 RunAsUserName 设置的 Windows pod 时,会忽略项目实体的文件所有权权限,从而导致错误配置的所有权权限。
  • web 控制台中可用的文件系统图不会显示 Windows 节点。这是因为文件系统查询的改变所致。以后的 WMCO 发行版本中会解决这个问题。(BZ#1930347)
  • WMCO 使用的 Prometheus windows_exporter 目前通过 HTTP 来收集指标,因此被视为不安全。您必须确保只有可信用户才能从端点检索指标。windows_exporter 功能最近添加了对 HTTPS 配置的支持,但还没有在 WMCO 中实施此配置。以后的发行版本中将添加对 WMCO 中的 HTTPS 配置的支持。
  • 当在基于 Linux 的 Pod 的安全上下文中设置 RunAsUser 权限时,投射文件具有正确的权限集,包括容器用户所有权。但是,如果在 Windows pod 中设置 Windows 等同的 RunAsUsername 权限,kubelet 将无法为投射卷中的文件设置正确的所有权。如果与一个 hostPath 卷一起使用时,不遵循最佳实践,则此问题可能更加严重。例如,为 pod 授予对 C:\var\lib\kubelet\pods\ 文件夹的访问权限,会导致该 pod 能够从其他 pod 访问服务帐户令牌。

    默认情况下,投射文件具有以下所有权,如本例 Windows projected 卷文件所示:

    Path   : Microsoft.PowerShell.Core\FileSystem::C:\var\run\secrets\kubernetes.io\serviceaccount\..2021_08_31_22_22_18.318230061\ca.crt
    Owner  : BUILTIN\Administrators
    Group  : NT AUTHORITY\SYSTEM
    Access : NT AUTHORITY\SYSTEM Allow  FullControl
             BUILTIN\Administrators Allow  FullControl
             BUILTIN\Users Allow  ReadAndExecute, Synchronize
    Audit  :
    Sddl   : O:BAG:SYD:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;0x1200a9;;;BU)

    这表示所有管理员用户,如具有 ContainerAdministrator 角色的用户,都具有读取、写入和执行访问权限,非管理员用户具有读取和执行访问权限。

    重要

    OpenShift Container Platform 将 RunAsUser 安全上下文应用于所有 pod,而不考虑其操作系统。这意味着 Windows Pod 会自动将 RunAsUser 权限应用到其安全上下文。

    另外,如果使用设置了默认 RunAsUser 权限的投射卷创建了 Windows pod,则 pod 会停留在 ContainerCreating 阶段。

    为了解决这些问题,OpenShift Container Platform 会在 Pod 安全上下文中设置的服务帐户卷中强制文件权限处理,对于 Windows 上的投射卷,不会满足它们。请注意,Windows pod 的这个行为是 OpenShift Container Platform 4.7 之前用于处理所有 pod 类型的文件权限处理方式。(BZ#1971745)