1.5. 主要的技术变化

OpenShift Container Platform 4.8 包括以下显著的技术更改。

Kuryr 服务子网创建更改

在配置为使用 Kuryr 的 Open Virtual Network 的 Red Hat OpenStack Platform(RHOSP)上新安装 OpenShift Container Platform 不再创建一个 services 子网,它的大小是 networking.serviceCIDR 中请求的大小的两倍。创建的子网现在与请求的大小相同。如需更多信息,请参阅 BZ#1955548

不再使用没有 SHA-256 前缀的 OAuth 令牌

在 OpenShift Container Platform 4.6 之前,OAuth 访问和授权令牌将 secret 信息用于对象名称。

从 OpenShift Container Platform 4.6 开始,OAuth 访问令牌和授权令牌对象名称存储为非敏感对象名称,且具有 SHA-256 前缀。OpenShift Container Platform 4.8 中无法再使用或创建不包含 SHA-256 前缀的 OAuth 令牌。

Federal Risk and Authorization Management Program(FedRAMP)控制

在 OpenShift Container Platform 4.8 中,rhcos4-moderate 配置集现已完整。ocp4-moderate 配置集将在以后的发行版本中变为完整。

Ingress Controller 升级至 HAProxy 2.2.13

OpenShift Container Platform Ingress Controller 升级到 HAProxy 版本 2.2.13。

CoreDNS 更新至 1.8.1

在 OpenShift Container Platform 4.8 中,CoreDNS 使用 1.8.1 版本,它有几个程序错误修复、重命名的指标和双栈 IPv6 启用。

etcd 现在使用 zap 日志记录器

在 OpenShift Container Platform 4.8 中,etcd 现在使用 zap 作为默认日志记录器,而不是 capnslog。zap 是结构化的日志记录器,提供机器可使用的 JSON 日志消息。您可以使用 jq 轻松解析这些日志消息。

如果您有希望 capnslog 格式的日志使用者,您可能需要针对 zap 日志记录器格式进行调整。

capnslog 格式示例(OpenShift Container Platform 4.7)

2021-06-03 22:40:16.984470 W | etcdserver: read-only range request "key:\"/kubernetes.io/operator.openshift.io/clustercsidrivers/\" range_end:\"/kubernetes.io/operator.openshift.io/clustercsidrivers0\" count_only:true " with result "range_response_count:0 size:8" took too long (100.498102ms) to execute

zap 格式示例(OpenShift Container Platform 4.8)

{"level":"warn","ts":"2021-06-14T13:13:23.243Z","caller":"etcdserver/util.go:163","msg":"apply request took too long","took":"163.262994ms","expected-duration":"100ms","prefix":"read-only range ","request":"key:\"/kubernetes.io/namespaces/default\" serializable:true keys_only:true ","response":"range_response_count:1 size:53"}

为 LSO 合并的多个守护进程集

在 OpenShift Container Platform 4.8 中,为 Local Storage Object(LSO)合并了多个守护进程集。当您创建本地卷自定义资源时,只创建 daemonset.apps/diskmaker-manager

绑定服务帐户令牌卷已启用

在以前的版本中,服务帐户令牌是挂载到 pod 中的 secret。从 OpenShift Container Platform 4.8 开始,将使用项目的卷。因此,服务帐户令牌不再有底层对应的 secret。

绑定服务帐户令牌对使用者具有限制且有时间限制。如需更多信息,请参阅使用绑定服务帐户令牌

另外,kubelet 在令牌达到 80% 持续时间后自动刷新令牌,client-go 会一直监视令牌的更改并在需要时会自动重新载入。这两个行为的组合意味着,绑定令牌的大部分使用与使用永不过期的传统令牌不同。client-go 以外的非标准使用可能会导致问题。

Operator SDK v1.8.0

OpenShift Container Platform 4.8 支持 Operator SDK v1.8.0。请参阅安装 Operator SDK CLI 以安装或更新到这个最新版本。

注意

Operator SDK v1.8.0 支持 Kubernetes 1.20。

如果您之前使用 Operator SDK v1.3.0 创建或维护了任何 Operator 项目,请参阅升级较新版本的 Operator SDK 版本的项目,以确保您的项目已升级以保持与 Operator SDK v1.8.0 的兼容性。