1.4. 主要的技术变化
OpenShift Container Platform 4.14 包括以下显著的技术更改。
云控制器管理器用于其他云供应商
Kubernetes 社区计划弃用 Kubernetes 控制器管理器与底层云平台交互,而是使用云控制器管理器。因此,无法为任何新的云平台添加 Kubernetes 控制器管理器支持。
此发行版本引入了为 Amazon Web Services 和 Microsoft Azure 使用云控制器管理器的正式发布。
要了解有关云控制器管理器的更多信息,请参阅 Kubernetes Cloud Controller Manager 文档。
要管理云控制器管理器和云节点管理器部署和生命周期,请使用 Cluster Cloud Controller Manager Operator。如需更多信息,请参阅平台 Operator 参考中的 Cluster Cloud Controller Manager Operator 条目。
以后对 pod 安全准入的限制强制
目前,pod 安全违反情况会显示为警告并在审计日志中记录,但不会导致 pod 被拒绝。
目前,计划在下一个 OpenShift Container Platform 次要发行本中对 pod 安全准入进行全局限制强制。启用此受限强制时,具有 Pod 安全违反情况的 Pod 将被拒绝。
要准备此即将推出的更改,请确保您的工作负载与应用到它们的 pod 安全准入配置集匹配。未根据全局或命名空间级别定义的强制安全标准配置的工作负载将被拒绝。restricted-v2
SCC 根据 Restricted Kubernetes 定义接受工作负载。
如果您要收到 pod 安全漏洞,请查看以下资源:
- 如需了解如何查找导致 pod 安全违反情况的信息,请参阅识别 pod 安全违反情况。
请参阅 安全上下文约束与 pod 安全标准同步,以了解何时执行 pod 安全准入标签同步。在某些情况下,Pod 安全准入标签不会同步,比如以下情况:
-
工作负载在系统创建的命名空间中运行,该命名空间前缀为
openshift-
。 - 工作负载在没有 pod 控制器的情况下创建的 pod 上运行。
-
工作负载在系统创建的命名空间中运行,该命名空间前缀为
-
如果需要,您可以通过设置
pod-security.kubernetes.io/enforce
标签,在命名空间或 pod 上设置自定义准入配置集。
SSH 密钥位置的变化
OpenShift Container Platform 4.14 引入了基于 RHEL 9.2 的 RHCOS。在此次更新之前,SSH 密钥位于 RHCOS 上的 /home/core/.ssh/authorized_keys
中。在这个版本中,基于 RHEL 9.2 的 RHCOS 上,SSH 密钥位于 /home/core/.ssh/authorized_keys.d/ignition
中。
如果您自定义了默认 OpenSSH /etc/ssh/sshd_config
服务器配置文件,您需要根据红帽知识库文章进行更新。
cert-manager Operator 正式发布
Red Hat OpenShift 1.11 的 cert-manager Operator 现在包括在 OpenShift Container Platform 4.14 和 OpenShift Container Platform 4.13 和 OpenShift Container Platform 4.12 中。
改进了使用 Open Virtual Network (OVN) 优化的扩展和稳定性
OpenShift Container Platform 4.14 引入了对 Open Virtual Network Kubernetes (OVN-K) 的优化,其内部架构被修改,以减少操作延迟,以消除网络 control plane 扩展和性能。网络流数据现在本地化到集群节点,而不是在 control plane 上集中信息。这可减少操作延迟,并减少 worker 和控制节点之间的集群范围流量。因此,集群网络使用节点数线性扩展,因为每个额外节点都会添加额外的网络容量,这样可优化较大的集群。因为每个节点上的网络流都是本地化的,所以不再需要 RAFT 领导选举机制,并删除了 instability 的主要来源。对本地化网络流数据的一个额外好处是,网络上的节点丢失的影响仅限于故障节点,且对集群的其他网络没有问题,从而使集群对故障场景更具弹性。如需更多信息,请参阅 OVN-Kubernetes 架构。
Operator SDK 1.31.0
OpenShift Container Platform 4.14 支持 Operator SDK 1.31.0。请参阅安装 Operator SDK CLI 来安装或更新到这个最新版本。
Operator SDK 1.31.0 支持 Kubernetes 1.26。
如果您之前使用 Operator SDK 1.28.0 创建或维护的 Operator 项目,请更新您的项目以保持与 Operator SDK 1.31.0 的兼容性。
oc 命令现在默认从 Podman 配置位置存储和检索凭证
在以前的版本中,使用 registry 配置的 OpenShift CLI (oc
) 命令(如 oc adm release
或 oc image
命令)从 Docker 配置文件位置(如 ~/.docker/config.json
)获取凭证。如果在 Docker 配置位置中没有找到 registry 条目,oc
命令会从 Podman 配置文件位置获取凭证,如 ${XDG_RUNTIME_DIR}/containers/auth.json
。
在这个版本中,oc
命令会默认使用从 Podman 配置位置获取凭证。如果无法在 Podman 配置位置中找到 registry 条目,oc
命令会从 Docker 配置位置获取凭证。
另外,oc registry login
命令现在将凭证存储在 Podman 配置位置,而不是 Docker 配置文件位置。