1.2. 新功能及功能增强
此版本对以下方面进行了改进
1.2.1. 安装和升级
1.2.1.1. 使用用户置备的基础架构在 Microsoft Azure 上安装集群
OpenShift Container Platform 4.4 支持使用用户置备的基础架构在 Azure 上安装集群。在 Azure 上运行用户置备的基础架构可让您自定义您的环境,如规范、安全以及操作控制。
您可以使用红帽提供的 Azure Resource Manager (ARM) 示例模板来协助部署过程,或自行创建。您也可以自由选择通过其他方法创建所需的资源;ARM 模板仅作示例之用。
详情请参阅在使用 ARM 模板的 Azure 上安装集群。
1.2.1.2. 使用安装程序置备的基础架构在 Red Hat Virtualization 上安装集群
OpenShift Container Platform 4.4 支持使用安装程序置备的基础架构在 Red Hat Virtualization (RHV) 上安装集群。
如需更多信息,请参阅 在 RHV 上快速安装集群。
1.2.1.3. 使用用户置备的基础架构在 OpenStack 上安装集群
OpenShift Container Platform 4.4 支持在您自己提供的基础架构中运行的 Red Hat OpenStack Platform (RHOSP) 上安装集群。通过利用您自己的基础架构,您可以将集群与现有的基础架构进行集成。例如,您需要创建所有 RHOSP 资源,如 Nova 服务器、Neutron 端口和安全组。红帽提供了 Ansible playbook 来帮助您完成部署过程。
您还可以使用自己的基础架构在带有 Kuryr 的 RHOSP 上安装集群。
如需更多信息,请参阅在您自己的基础架构的 OpenStack 上安装集群 或 在您自己的基础架构的带有 Kuryr 的 OpenStack 上安装集群。
1.2.1.4. 在 OpenStack 上安装集群不再需要 Swift 对象存储服务
从版本 4.4 开始,OpenShift Container Platform 不再需要RHOSP 云中存在 Swift 对象存储服务。如果 OpenShift Container Platform 中没有包括 Swift,安装程序将使用 Cinder 块存储和 Glance 镜像 registry 服务。
如需更多信息,请参阅 使用您自己的基础架构在 OpenStack 上安装集群。
1.2.1.5. 在 OpenStack 中安装的集群支持自签名证书
OpenShift Container Platform 4.4 现在可以在使用自签名证书进行授权的 RHOSP 云中安装。
如需更多信息,请参阅 使用您自己的基础架构在 OpenStack 上安装集群。
1.2.1.6. OpenStack 通过检查 sha256 checksum 来验证 RHCOS 镜像
现在,在 RHOSP 上安装程序会对 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像执行自动 checksum 验证。
1.2.1.7. 支持在带有 Kuryr 的 OpenStack 上使用 OVN 负载均衡的 east-west 流量
在 RHOSP 16 上使用 Kuryr 的 OpenShift Container Platform 安装现在可以使用 OVN 负载平衡供应商驱动程序而不是 Amphora 驱动程序。如果在环境中存在 OVN 和 OVN Octavia 驱动程序,则会自动使用 OVN。这样,可以提高负载均衡器的性能和资源使用率。另外,每个服务都需要一个负载均衡器虚拟机的要求也已被取消。
1.2.1.8. 4.4 发行版本的升级频道
对于已切换到 fast-4.4
频道的集群,在 GA 时将可以将最新的 OpenShift Container Platform 4.3.z 升级到 4.4。来自 fast-4.4
频道的早期适配器的 Telemetry 数据会被监测以决定在什么时候把升级推广到 stable-4.4
频道。这种监测过程需要进行广泛的企业级测试,因此可能需要几周时间。
1.2.2. 安全性
1.2.2.1. 绑定服务帐户令牌的支持
OpenShift Container Platform 4.4 支持绑定服务帐户令牌,它可以提高与云供应商身份访问管理 (IAM) 服务(如 AWS IAM)集成的能力。
如需更多信息,请参阅 使用绑定服务帐户令牌。
1.2.2.2. oauth-proxy
镜像流现在可用
OpenShift Container Platform 4.4 为第三方身份验证集成引入了 oauth-proxy
镜像流。您不应该再使用 Red Hat Registry 中的 oauth-proxy
镜像。如果您以 OpenShift Container Platform 4.4 或更高版本的集群为目标,则应使用 openshift/oauth-proxy:v4.4
镜像流。这可以保证后向兼容,并允许您添加镜像流触发器来获得重要的修复。v4.4
标签至少可用于后续的 3 个 OpenShift Container Platform 次要发行版本。每个次发行版本还会生成自己的标签。
1.2.2.3. kube-apiserver 会在检查令牌前先检查客户端证书
在以前的 OpenShift Container Platform 版本中,kube-apiserver
在检查客户端证书前会先检查令牌。现在,kube-apiserver
会在检查令牌前先检查客户端证书。
例如,如果您在以前的 OpenShift Container Platform 版本中有 system:admin
kubeconfig 并运行 oc --token=foo get pod
命令,它将被验证为以带有令牌 foo
的用户。现在,它被验证为 system:admin
。以前的版本建议使用参数 --as
来模拟用户,而不是在使用客户端证书时覆盖令牌; 这已不再需要。
1.2.3. 节点
1.2.3.1. 使用 descheduler 驱除 pod(技术预览)
Descheduler 提供了驱除正在运行的 pod 的功能,以便可将 pod 重新调度到更合适的节点上。
在以下情况下,适用于取消调度(deschedule)pod:
- 节点使用不足或过度使用。
- Pod 和节点关联性要求(如污点或标签)已更改,并且原始的调度不再适合于某些节点。
- 节点失败需要移动 pod。
- 集群中添加了新节点。
如需更多信息,请参阅使用 descheduler 来驱除 pod 。
1.2.3.2. 在节点上控制过量使用和管理容器密度
OpenShift Container Platform 管理员现在可以控制过量使用的程度,并管理节点上的容器密度。您可以使用 Cluster Resource Override Operator 配置集群一级的过量使用,以覆盖开发人员容器上设置的请求和限制之间的比例。
如需更多信息,请参阅配置集群以将 pod 放置到过量使用的节点上。
1.2.4. 集群监控
1.2.4.1. 在 web 控制台中监控 Dashboard
现在,web 控制台中的 Monitoring 部分包括了 Dashboards 视图。这样,您可以方便地查看 OpenShift Container Platform 集群及其依赖组件的相关指标数据。
1.2.4.2. node-exporter 中禁用了 hwmon 收集器
在 node-exporter 监控组件中禁用了 hwmon
收集器,因为它已不再用于收集集群指标数据。
1.2.4.3. cluster-reader 可以读取节点指标数据
现在,在默认情况下,cluster-reader
角色可以读取节点指标数据。
1.2.4.4. 当多个容器被终止时会有集群警报
当因为内存问题导致多个容器在 15 分钟内被终止时,您会接收到一个MultipleContainersOOMKilled
警报信息。
1.2.4.5. 新的 API 服务器警报
OpenShift Container Platform 4.4 有两个新的 API 服务器警报:
-
ErrorBudgetBurn
: 当 API 服务器有5xx
请求响应时触发。 -
AggregatedAPIErrors
: 当聚合 API 服务器的错误数增加时触发。
1.2.4.6. Prometheus Operator 的权限更新
由 Prometheus Operator 管理的自定义资源定义 (CRD) 现在具有更严格的权限。
Prometheus Operator 所管理的自定义资源 (CR) 包括:
-
Prometheus
-
ServiceMonitor
-
PodMonitor
-
Alertmanager
-
PrometheusRule
1.2.4.7. Cluster 监控(monitoring)组件版本更新
以下监控组件已升级:
- Prometheus: 从 2.14.0 升级到 2.15.2
- Alertmanager: 从 0.19.0 升级到 0.20.0
- Prometheus Operator: 从 0.34.0 升级到 0.35.1
- kube-state-metrics: 从 1.8.0 升级到 1.9.5
- Grafana: 从 6.4.3 升级到 6.5.3
1.2.5. Web 控制台
1.2.5.1. OperatorHub 中的 IBM Marketplace 集成
IBM Marketplace 现在与 OperatorHub 集成,该 OperatorHub 位于 OpenShift Container Platform Web 控制台中。此集成功能允许您在 OperatorHub 接口的 IBM Marketplace 上安装和管理托管的 Operator。
1.2.5.2. 在 Topology 视图中编辑应用程序
现在,您可以使用 Topology 视图从 Developer 视角编辑应用程序。
1.2.5.3. 创建 Helm 发行版本
您现在可以通过 Helm chart 来创建 Helm 发行版本,Helm chart 由 Developer Catalog 提供。
1.2.6. 网络
1.2.6.1. OpenShift Container Platform 上的流控制传输协议 (SCTP)
SCTP 是基于信息的可靠协议,可在 IP 网络之上运行。启用后,您可以使用 SCTP 作为带有 pod 和服务的协议。如需更多信息,请参阅 使用 SCTP。
1.2.6.2. 使用 DNS 转发
您可以针对一个区(zone),使用 DNS 转发来覆盖转发默认配置,方法是每个区中指定需要使用的域名解析服务器。
如需更多信息,请参阅 使用 DNS 转发。
1.2.6.3. HAProxy 升级至版本 2.0
用于入口的 HAProxy 从 1.8.17 更新至 2.0.13。此升级没有为 OpenShift Container Platform 引入新的 API 或支持的用户支持功能。这个升级提供了显著的性能改进,并对一些程序错误进行了修复。HAProxy 2.0 还添加了原生 Prometheus 指标数据,并在配置了其他 OpenShift Container Platform 组件来支持它时提供完整的 IPv6 支持。
1.2.6.4. Ingress 增强
OpenShift Container Platform 4.4 中对 Ingress
对象引入了两个值得注意的改进:
-
Ingress
对象获取了 Route 准入策略 API:允许您在具有相同域名的多个命名空间中运行应用程序。 -
Ingress
对象可以被 NodePort 服务公开: 有助于集成现有的负载均衡器,以便对您的负载均衡解决方案拥有精细的控制。
1.2.7. 存储
1.2.7.1. 使用 CSI 快照的持久性存储(技术预览)
现在,您可以使用 Container Storage Interface (CSI) 来创建、恢复和删除卷快照。在技术预览中默认启用这个功能。
如需更多信息,请参阅使用 CSI 卷快照。
1.2.7.2. 使用 CSI 克隆的持久性存储(技术预览)
现在,您可以在存储卷被创建后,使用 Container Storage Interface (CSI) 来克隆它们。在技术预览中默认启用这个功能。
如需更多信息,请参阅使用 CSI 卷克隆。
1.2.8. 扩展
1.2.8.1. 集群最大限制
针对 OpenShift Container Platform 4.4 的集群最大限制指导信息已更新。
4.4 测试的每个节点上最多的 pod 数量为 500。
使用 OpenShift Container Platform Limit Calculator 可以估算出您的环境的集群限制。
1.2.9. 开发者体验
1.2.9.1. 自动镜像修剪
现在,您可以启用自动镜像修剪。这个功能在默认情况下不启用。在安装或升级到 OpenShift Container Platform 4.4 后会收到启用这个功能的选项通知。这由 Image Registry Operator 管理,它创建一个 CronJob 来运行定期镜像修剪。
1.2.9.2. 构建对象报告状态条件
每个现有的 OpenShift Container Platform 构建阶段均添加了构建条件。这些条件包含构建期间构建的信息。您可以使用 oc wait
命令来等待到达特定构建阶段。
1.2.9.3. 为镜像 registry 重新创建推出部署(rollout)
现在,在部署镜像 registry 时可以使用 Recreate
rollout 策略。这样,您就可以使用 ReadWriteOnce
持久性卷,如 AWS Elastic Block Store。在使用这些存储类型时,您必须使用 Recreate
rollout 策略来成功升级 OpenShift Container Platform 集群。
1.2.9.4. odo 增强
odo
有几个与用户体验相关的改进和增强:
-
现在,可以使用
odo debug info
命令。 -
现在,
odo url
命令带有一个--secure
标记用来指定 HTTPS URL。 -
现在,
odo create
、odo url
和odo config
命令都有一个--now
标记来马上在集群中应用改变。 -
现在,如果默认端口被占用,
odo debug port-forward
命令会自动选择一个端口。 -
现在,
odo storage
和odo push
命令的输出已被重新安排,以便用户阅读。 - 现在,提供了一个实验模式,您可以在其中使用技术预览功能,比如使用 devfile 创建应用程序。
- 技术预览功能 - 现在提供对 devfile 的支持。如需了解更多相关信息,请参阅 odo 发行注记。
1.2.9.5. OpenShift Pipelines(技术预览)
OpenShift Pipelines 使用 Tekton 自定义资源 (CR) 为自动化部署创建可扩展的 CI/CD 解决方案。这些 CR 充当编译 Pipeline 的构建块。OpenShift Pipelines 提供了一个可重复使用的任务目录,用于轻松构建 Pipelines。每个 Pipeline 在隔离容器中运行,无需维护 CI 服务器,且可移植到多个平台。
1.2.9.6. Helm 3 GA 支持
helm 是 Kubernetes 和 OpenShift Container Platform 应用程序的软件包管理器。它使用名为 Helm charts 的打包格式来简化应用程序和服务的定义、安装和升级。
Helm CLI 由 OpenShift Container Platform 构建并提供,可在 Web 控制台的 CLI 菜单中下载。
1.2.10. Operator
1.2.10.1. etcd 集群 Operator
OpenShift Container Platform 4.4 引入了 etcd 集群 Operator,它处理 etcd 扩展和置备 etcd 依赖项(如 TLS 证书)。etcd 集群 Operator 可简化灾难恢复流程,以便恢复到以前的集群状态,自动添加 etcd 成员,提供更准确的 etcd 成员健康报告,以及报告事件,以帮助调试 etcd 集群。
在这个版本中,以下灾难恢复脚本的名称已改变:
-
etcd-snapshot-backup.sh
现在是cluster-backup.sh
。 -
etcd-snapshot-restore.sh
现在是cluster-restore.sh
。
如需更多信息,请参阅关于灾难恢复。
1.2.10.2. Insights Operator 现在收集匿名 CSR
在这个版本中,Insights Operator 会定期收集匿名证书签名请求 (CSR) 来识别没有在 Kubernetes 中验证或未批准的 CSR。另外,Insights Operator 会在证书有效时收集数据。这有助于改进 OpenShift Container Platform 客户支持体验。
1.2.10.3. 如果无法连接到 registry.redhat.io,则删除 Samples Operator
如果 Samples Operator 在安装过程中无法连接到 registry.redhat.io
,则不会创建示例镜像流。这可确保示例内容安装不会导致 OpenShift Container Platform 集群安装失败。
如果集群安装过程中出现这个问题,您可以 配置备用或镜像 registry。
1.2.11. 文档更新及惯例
1.2.11.1. OpenShift Container Platform 文档使用 Apache 许可证 2.0
OpenShift Container Platform 文档现在根据 Apache 许可证 2.0 被授权。之前,它使用 Creative Commons Attribution-ShareAlike 3.0 Unported 许可证授权。
1.2.11.2. docs.openshift.com
站点的复制按钮
docs.openshift.com
上的所有代码块现在都提供了一个复制按钮,可让您将代码块中的所有文本复制到您机器的剪贴板中。客户门户网站版本的 OpenShift Container Platform 文档不提供此功能。
1.2.11.3. OpenShift Container Engine 重命名为 OpenShift Kubernetes Engine
红帽已决定把 Red Hat OpenShift Container Engine 重命名为 Red Hat OpenShift Kubernetes Engine,以便更好地沟通所提供的产品价值。如需更多信息,请参阅 关于 OpenShift Kubernetes Engine。
1.2.11.4. 现在,针对 Azure Red Hat OpenShift 的 4.3 版本提供了相关文档
这个新版本由红帽和 Microsoft 共同管理、支持和记录: