AWS宣布对Kubernetes 1.27的支持
AWS宣布Amazon EKS和Amazon EKS Distro支持Kubernetes 1.27版本(代号为Chill Vibes)。该版本包含许多新功能,其中一些可能对集群具有破坏性。
Kubernetes 1.27的主要新功能
seccomp功能稳定并默认启用
在Kubernetes 1.27中,seccomp功能已稳定并默认启用。RuntimeDefault seccomp配置文件将作为所有工作负载的默认配置。通过在节点引导脚本或启动模板中传递–kubelet-extra-args "–seccomp-default"标志,可以为节点上运行的所有容器启用默认seccomp配置文件。这样,seccomp配置文件由容器运行时定义,而不是使用无限制(seccomp禁用)模式。启用seccomp配置文件后,某些工作负载可能会受到影响,但可以禁用或为特定工作负载创建自定义配置文件。security-profiles-operator允许定义和管理工作负载的自定义配置文件。
更好的Pod拓扑管理
Kubernetes 1.27引入了一些功能,以更好地管理Pod拓扑,并更轻松地在不同域之间平衡Pod分布。具体包括:
- minDomains参数:允许管理员设置Pod应占据的最小域数,从而保证工作负载在集群中的平衡分布。
- nodeAffinityPolicy和nodeTaintPolicy参数:提供额外的粒度控制,根据节点亲和性和污点管理Pod分布。
- matchLabelKeys字段:在Pod规范的
topologySpreadConstraints中实现,允许在滚动升级后选择Pod进行分布计算。
kubelet API请求限制提升
在之前的版本中,Amazon EKS kubelet的kubeAPIQPS限制为每秒10个请求,kubeAPIburst限制为20个请求。在1.27版本中,kubeAPIQPS限制提升至每秒50个请求,kubeAPIBurst提升至100个请求。这些新限制由Amazon EKS优化AMI采用,改善了扩展需求时的Pod启动时间,使Pod启动更快,集群操作更顺畅。
废弃的API和配置
- 镜像仓库变更:
k8s.gcr.io已冻结,registry.k8s.io成为Kubernetes镜像的新仓库。需要更新所有清单和配置。 - seccomp alpha注解移除:
seccomp.security.alpha.kubernetes.io/pod和container.seccomp.security.alpha.kubernetes.io注解已被移除,这些注解在1.19版本中已被废弃。 - kubelet的
--container-runtime命令移除:自1.24版本起,Amazon EKS的默认容器运行时为containerd。在1.27版本中,--container-runtime命令已移除,因此必须从所有节点创建脚本和工作流中删除该参数。
升级建议
建议将Amazon EKS集群升级到支持的版本。目前,1.22版本已于2023年6月4日停止支持,1.23版本将于2023年10月停止支持。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。