1.3. 主要的技术变化

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

Operator SDK v0.12.0

OpenShift Container Platform 4.3 支持 Operator SDK v0.12.0 或更高版本。

Operator 测试工具 (scorecard v2) 现在包括以下改进:

  • 将 Operator 测试分类为 required 和 optional。
  • 配置测试选择以及 pass/fail 的行为。
  • 提供自定义测试。

基于 Helm 的 Operator 的改进包括

  • helm v3 支持,从 Operator SDK 0.14.0 开始。
  • 基于角色的访问控制 (RBAC) 生成。

基于 Ansible 的 Operator 的增强包括

  • 支持 Prometheus 指标。
  • Red Hat Universal Base Image (UBI) 的使用。
  • 基于 Molecule 的端到端的测试。

基于 Golang 的 Operator 的改进包括:

  • OpenAPI spec 生成。
  • Kubernetes 1.14 支持。
  • 删除基于 dep 的项目。现在,所有 Go 项目都被构建为使用 Go 模块。删除 operator-sdk new 命令的 --dep-manager 标记。
  • 所需的 Go 版本从 v1.10 更新到 v1.13。
  • 支持 Prometheus 指标。
集群日志 Fluent 的 forward 配置改变

从 OpenShift Container Platform 4.3 开始,由新的Log Forwarding API功能所引入的变化改变了对 Fluentd forward 插件的支持。对于 4.3,您仍然可以使用Fluentd forward 协议,而无需使用新的属于技术预览的日志转发功能。

要使用 Fluentd forward 协议,您必须创建一个 ConfigMap 对象来配置 out_forward,而不是编辑 fluentd ConfigMap 中的 secure-forward.conf 部分。另外,您还可以将配置所需的证书添加到挂载到 Fluentd Pod 的 Secret 中。请参阅 使用 Fluentd Forward 插件将日志发送到外部设备

在 4.3 中,Fluentd forward 方法被弃用,并将在以后的版本中删除。

当您升级到 OpenShift Container Platform 4.3 时,所有现存的对 fluentd ConfigMap 的 secure-forward.conf 部分的修改都会被删除。在创建 secure-forward ConfigMap 对象时,可以在更新前复制您当前的 secure-forward.conf 内容。

1.3.1. 不支持的功能

集群日志记录不再允许通过编辑 Fluentd Daemonset 来转发日志

由于新的 Log Forwarding API 引入的变化,您无法通过编辑 Fluentd DaemonSet 将日志转发到一个外部的 Elasticsearch 实例。

在以前的版本中,可以使用 ES_HOSTOPS_HOST 环境变量,或通过 fluentd Daemonset 配置 fluent-plugin-remote-syslog 插件。

您可以使用新的Log Forwarding API功能,或 Fluentd forward 协议来把日志转发到一个外部的 Elasticsearch 实例中。相关文档已更新了相关内容。

1.3.1.1. 本地存储置备程序

以前已弃用的技术预览 ose-local-storage-provisioner 容器已被删除。建议您使用基于 OLM 的 Local Storage Operator(ose-local-storage-operator)。

1.3.1.2. 持久性卷快照

OpenShift Container Platform 4.2 中已弃用了持久性卷快照,并已在 OpenShift Container Platform 4.3 中删除。

1.3.2. 已弃用的功能

1.3.2.1. pipelines 构建策略

pipelines 构建策略现已弃用。使用 OpenShift Pipelines 代替。

1.3.2.2.  beta 工作负载警告

随着 Kubernetes 1.16 的推出,apps/v1beta1apps/v1beta2extensions/v1beta1 工作负载现已弃用。

当使用已弃用的 API 时,会出现 UsingDeprecatedAPIExtensionsV1Beta1 警告信息。这些已弃用的 API 将在 OpenShift Container Platform 的下一版本中移除,因此请迁移至支持的 API。

1.3.2.3. Service Catalog、Template Service Broker、 Ansible Service Broker 以及它们的 Operator

Service Catalog 、Template Service Broker 、Ansible Service Broker 及其关联的 Operator 在 OpenShift Container Platform 4.2 中已弃用,并将在以后的 OpenShift Container Platform 版本中删除。如果在 4.3 中启用了这些功能,Web 控制台现在会警告用户这些功能仍处于启用状态。

以下警报可以在 MonitoringAlerts 页面中查看 ,其严重性级别为 Warning

  • ServiceCatalogAPIServerEnabled
  • ServiceCatalogControllerManagerEnabled
  • TemplateServiceBrokerEnabled
  • AnsibleServiceBrokerEnabled

以后的发行版本会删除以下相关的 API:

  • .servicecatalog.k8s.io/v1beta1
  • .automationbroker.io/v1alpha1
  • .osb.openshift.io/v1

1.3.2.4. 弃用 OperatorSources 和 CatalogSourceConfig

OperatorSources 和 CatalogSourceConfig 从 OperatorHub 中弃用。以后的发行版本会删除以下相关的 API:

  • operatorsources.operators.coreos.com/v1
  • catalogsourceconfigs.operators.coreos.com/v2
  • catalogsourceconfigs.operators.coreos.com/v1

1.3.2.5. 对 CodeReady Containers 的 VirtualBox 支持

现在已弃用了在 CodeReady Containers (paramsReady Containers) 中使用 VirtualBox 的支持。