云容器引擎(CCE)严格遵循社区一致性认证。本文介绍CCE发布Kubernetes 1.21版本所做的变更说明。
版本升级说明
CCE针对Kubernetes 1.21版本提供了全链路的组件优化和升级。
表 核心组件及说明
集群类型 核心组件 版本号 升级注意事项 CCE集群 Kubernetes 1.21 无 Docker CentOS:18.9.0
Ubuntu:18.09.9无 操作系统 CentOS Linux release 7.6 1.21版本开始CCE集群 Centos7.6节点docker存储模式使用overlayfs Ubuntu 18.04 server 64bit 无
资源变更与弃用
社区1.21 ReleaseNotes
- CronJob现在已毕业到稳定状态,版本号变为batch/v1。
- 不可变的Secret和ConfigMap现在已升级到稳定状态。向这些对象添加了一个新的不可变字段,以拒绝更改。此拒绝可保护集群免受可能无意中中断应用程序的更新。因为这些资源是不可变的,kubelet不会监视或轮询更改。这减少了kube-apiserver的负载,提高了可扩展性和性能。更多信息,请参见[Immutable ConfigMaps]( " ")。
- 优雅节点关闭现在已升级到测试状态。通过此更新,kubelet可以感知节点关闭,并可以优雅地终止该节点的Pod。在此更新之前,当节点关闭时,其Pod没有遵循预期的终止生命周期,这导致了工作负载问题。现在kubelet可以通过systemd检测即将关闭的系统,并通知正在运行的Pod,使它们优雅地终止。
- 具有多个容器的Pod现在可以使用kubectl.kubernetes.io/默认容器注释为kubectl命令预选容器。
- PodSecurityPolicy废弃,详情请参见https://kubernetes.io/blog/2021/04/06/podsecuritypolicy-deprecation-past-present-and-future/。
- [BoundServiceAccountTokenVolume]( " ")特性进入Beta,该特性能够提升服务账号(ServiceAccount)Token的安全性,改变了Pod挂载Token的方式,Kubernetes 1.21及以上版本的集群中会默认开启。
社区1.20 ReleaseNotes
- API优先级和公平性已达到测试状态,默认启用。这允许kube-apiserver按优先级对传入请求进行分类。更多信息,请参见API Priority and Fairness。
- 修复** **exec probe timeouts不生效的BUG,在此修复之前,exec 探测器不考虑 timeoutSeconds 字段。相反,探测将无限期运行,甚至超过其配置的截止日期,直到返回结果。 通过此更改,如果未指定值,将使用默认值,默认值为1秒。如果探测时间超过一秒,可能会导致应用健康检查失败。请再升级时确定使用该特性的应用更新timeoutSeconds字段。新引入的 ExecProbeTimeout 特性门控所提供的修复使集群操作员能够恢复到以前的行为,但这种行为将在后续版本中锁定并删除。
- RuntimeClass已达到稳定状态。RuntimeClass资源提供了一种机制,用于支持集群中的多个运行时,并将有关该容器运行时的信息公开到控制平面。
- kubectl调试已达到测试状态。kubectl调试直接从kubectl提供对常见调试工作流的支持。
- Dockershim在1.20被标记为废弃,目前您可以继续在集群中使用Docker。该变动与集群所使用的容器镜像(Image)无关。您依然可以使用Docker构建您的镜像。更多信息,请参见Dockershim Deprecation FAQ。
参考链接
关于Kubernetes 1.21与其他版本的性能对比和功能演进的更多信息,请参考: