发行注记
摘要
对红帽文档提供反馈
您可以通过为 HCIDOCS 项目创建 Jira 问题来提供反馈或报告错误,您可以在其中跟踪您的反馈的过程。您必须有一个 Red Hat Jira 帐户并登录。
- 启动 Create Issue 表单。
完成 Summary、Description 和 Reporter 字段。
在 Description 字段中,包含文档 URL、章节号以及问题的详细描述。
- 点 Create。
第 1 章 关于此版本
本发行注记介绍了 OpenShift 沙盒容器 1.9 和 Red Hat OpenShift Container Platform 4.18 的开发。发行注记包括到原始票据的链接。私有票据没有链接。
OpenShift Container Platform 专为 FIPS 设计。当以 FIPS 模式引导时运行 Red Hat Enterprise Linux (RHEL)或 Red Hat Enterprise Linux CoreOS (RHCOS)时,OpenShift Container Platform 核心组件使用提交到 NIST for FIPS 140-2/140-3 Validation 的
RHEL 加密库。
有关 NIST 验证程序的更多信息,请参阅加密模块验证程序。有关为验证提交的 RHEL 加密库的单独版本的最新 NIST 状态,请参阅 Compliance Activities 和 Government Standards。
您可以查看红帽客户门户网站中这个版本的 所有公告,包括安全和程序错误修复。
第 2 章 新功能及功能增强
本节介绍 OpenShift 沙盒容器 1.9 中引入的新功能和增强。
Google Cloud 支持 OpenShift 沙盒容器
现在,您可以在 Google Cloud 上运行 OpenShift 沙盒容器工作负载。OpenShift 沙盒容器为需要提升特权的工作负载(如 CI)提供增强的隔离功能。
Jira:KATA-2414
保密容器的 initdata
机密容器现在支持在运行时配置对等 pod 的 initdata
规格,从而避免需要在对等 pod 虚拟机镜像中嵌入敏感数据。此功能通过减少机密信息暴露并通过删除自定义镜像构建来提高灵活性来增强安全性。您可以在全局范围内或特定 pod 应用 initdata
配置。
自定义对等 pod 虚拟机镜像支持
OpenShift 沙盒容器和机密容器现在支持对等 pod 的自定义虚拟机镜像。通过此功能,您可以选择根据您的工作负载要求量身定制的镜像。自定义镜像通过向 pod 清单添加注解来引用,它会覆盖对等 pod 配置映射中指定的默认镜像。
Kata 代理策略自定义
Kata 代理策略是一种安全机制,用于控制使用 Kata 运行时运行的 pod 的代理 API 请求。此策略决定了哪些操作被允许或拒绝。您可以通过向对等 pod 清单添加注解,使用自定义策略覆盖默认策略 以进行测试 或开发。在生产环境中,使用 initdata
更改策略。
覆盖默认集群凭证
自 1.7 版本开始,OpenShift 沙盒容器使用 OpenShift Container Platform 集群的凭证,默认由 Cloud Credentials Operator 提供。您可以通过创建一个指定云供应商凭证的对等 pod secret 来覆盖默认凭证。如果卸载 Cloud Credentials Operator,您必须创建一个对等 pod secret。
Jira:KATA-2216
第 3 章 技术预览
本节列出了 OpenShift 沙盒容器 1.9 中的所有技术预览。
如需更多信息,请参阅技术预览功能支持范围。
IBM Z 和 IBM LinuxONE 的对等 pod 支持
您可以通过在 IBM Z® 和 IBM® LinuxONE (s390x 架构)上使用对等 pod 部署 OpenShift 沙盒容器工作负载,而无需嵌套虚拟化。
Jira:KATA-2030
Microsoft Azure Cloud Computing Services、IBM Z 和 IBM LinuxONE 上的机密容器
机密容器为云原生应用提供了增强的安全性,允许它们在称为受信任的执行环境(TEE)的安全和隔离的环境中运行,这样可以保护容器及其数据,即使在使用时也是如此。
请注意以下限制:
- 没有对机密虚拟机(CVM)根文件系统(rootfs)的加密和完整性保护:CVM 在 TEE 中执行,并运行容器工作负载。缺少对 rootfs 的加密和完整性保护功能可能会允许恶意管理员破坏写入 rootfs 的敏感数据,或者修改 rootfs 数据。rootfs 的完整性保护和加密目前正在进行中。您必须确保所有应用程序写入都在内存中。
- 没有加密的容器镜像支持:当前只有签名的容器镜像支持。加密的容器镜像支持正在进行中。
- Kata shim 和 CVM 中的代理组件之间的通信受到篡改:CVM 中的代理组件负责从 OpenShift worker 节点上运行的 Kata shim 执行 Kubernetes API 命令。我们使用 CVM 中的代理策略来关闭 Kubernetes exec 和日志 API,以避免通过 Kubernetes API 破坏敏感数据。但是,这是不完整的;进一步的工作是强化 shim 和代理组件之间的通信频道。可以使用 pod 注解在运行时覆盖代理策略。目前,pod 中的运行时策略注解不会通过 attestation 进程验证。
- 不支持加密的 pod 到 pod 通信:Pod 到 pod 的通信是未加密的。您必须在应用程序级别使用 TLS 进行所有 pod 到 pod 通信。
- worker 节点上和 CVM 内的镜像重复拉取:在 TEE 中执行的 CVM 中下载并执行容器镜像。但是,当前镜像也下载到 worker 节点上。
- 为机密容器构建 CVM 镜像需要集群中提供 OpenShift 沙盒容器 Operator。
Jira:KATA-2416
第 4 章 已知问题
本节介绍 OpenShift 沙盒容器 1.9 中已知的问题。
Azure 上的 Confidential Containers 默认禁用安全引导
对于 Azure 上的机密容器,默认禁用安全引导。这是一个安全风险。要临时解决这个问题,当您 更新对等 pod 配置映射 时,请将 ENABLE_SECURE_BOOT
设置为 true
。
如果 CPU 离线,增加容器 CPU 资源限值会失败
如果请求的 CPU 离线,使用容器 CPU 资源限制来增加 pod 的可用 CPU 数量会失败。如果功能可用,您可以通过运行 oc rsh <pod> 命令来访问 pod
,然后运行 lscpu
命令诊断 CPU 资源问题:
$ lscpu
输出示例:
CPU(s): 16 On-line CPU(s) list: 0-12,14,15 Off-line CPU(s) list: 13
离线 CPU 列表是无法预计的,可以从 run 改为 run。
要临时解决这个问题,请使用 pod 注解来请求额外的 CPU,如下例所示:
metadata: annotations: io.katacontainers.config.hypervisor.default_vcpus: "16"
增加 sizeLimit
不会扩展临时卷
您不能使用 pod 规格中的 sizeLimit
参数来扩展临时卷,因为卷大小默认为分配给沙盒容器的 50%。
要临时解决这个问题,请通过重新挂载卷来更改大小。例如,如果分配给沙盒容器的内存为 6 GB,并且临时卷挂载到 /var/lib/containers
,您可以通过运行以下命令来将此卷的大小增加到 3 GB:
$ mount -o remount,size=4G /var/lib/containers
请注意,mount 命令需要在 pod 中运行。您可以将它作为 pod 清单本身的一部分,或通过运行 oc rsh
并执行 mount
命令在 pod 中启动 shell 会话。
OpenShift 沙盒容器 1.7 及更高版本无法用于 OpenShift Container Platform 4.14 和旧版本
在安装或升级 OpenShift 沙盒容器 Operator 前,您必须升级到 OpenShift Container Platform 4.15 或更高版本。如需更多信息,请参阅 OpenShift 沙盒容器 operator 1.7 不可用, 并升级到 OSC 1.7.0 将运行 Peer Pod 放入 knowledgeBase 中的 ContainerCreating 状态。
AWS 上的 Podvm 镜像构建程序将快照保留后
Podvm 镜像构建器从快照创建一个 AMI 镜像,在删除正确的卸载过程中,快照本身不会被删除,需要手动删除手动删除
这会在 AWS 上的所有对等 pod 版本中发生。
Jira:KATA-3478
在集群停用前没有正确的 kataconfig 删除,活跃的 pod vms 可能会继续运行。
如果没有对等 pod 功能,您可以弃用具有对等 pod 的集群,但使用对等 pod,pod 在集群 worker 节点外运行(在每个对等 pod 上创建的 podvm 实例),在关闭集群前没有执行正确的 kataconfig 删除时,这些 podvm 实例会被取消,永远不会终止。
Jira:KATA-3480