Kubernetes 1.24发布了—有什么新变化

Kubernetes 1.24发布了—有什么新变化

作者:SRE实战 2022-05-07 08:23:57

云计算 Kubernetes 1.24,一直延迟到5月3日才发布。此版本带来了46项增强,其中13项升级到稳定版,14项是不断改进的现有功能,13项是全新的,6项已弃用的功能。

网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了开阳免费建站欢迎大家使用!

原本计划于4月19日发布的Kubernetes 1.24,一直延迟到5月3日才发布。此版本带来了46项增强,其中13项升级到稳定版,14项是不断改进的现有功能,13项是全新的,6项已弃用的功能。

主要更新如下:

完全移除dockershim

在 v1.20 中标记弃用后,dockershim 组件已从 kubelet 中删除。从 v1.24 开始,您将需要使用其他受支持的运行时之一(例如 containerd 或 CRI-O),或者如果您依赖 Docker 引擎作为容器运行时,则使用 cri-dockerd。

CSI卷健康监控

能够加载一个检查持久卷健康状况的sidecar是一个受欢迎的补充。现在,管理员将能够更好、更快地对 Kubernetes 外部删除持久卷等事件做出反应,必然会增加 Kubernetes 集群的可靠性。

kubelet:公开 OOM 指标

从 1.24 开始,kubelet提供了一个新的 Prometheus 指标,用于记录容器中发生的OOM(OutOfMemory)事件的数量。当内存限制不能满足容器的使用和需求时,这提供了对 Kubernetes 操作中反复出现的问题的更多可见性。

使用这个新指标,SRE 可以更好地了解问题的最终原因,并更好地确定它是反复出现的问题还是边缘情况。更快的故障排除,更快乐的用户。

Beta API 默认关闭

之前的版本,默认会启用被认为不稳定的 Beta API,这加速了这些功能的采用,然而也会造成问题。例如,一个测试版 API 有一个错误,它将出现在 90% 的已部署集群上。

从 Kubernetes 1.24 开始,新的 beta API 将默认禁用。

选择您想要的 LoadBalancer 类型

在Kubernetes 1.24中,Service.Spec.LoadBalancerClass GA。

在托管 Kubernetes 集群中创建 LoadBalancer 类型的服务会创建一个负载均衡器。Kubernetes 服务提供者负责创建这个负载均衡器。

通过这个LoadBalancerClass 字段,用户可以指定他们想要的负载均衡器类型,这将允许云提供商本地提供不同类型的负载均衡器。到目前为止,主要依赖于注解或自定义控制器,这可能是笨重且违反直觉的:注解通常因提供者特定控制器的一个版本而异,希望这将使托管 Kubernetes 服务的用户更容易联网。

不推荐使用 Service.Spec.LoadBalancerIP 字段

说到注解,Kubernetes 团队决定弃用Service.Spec.LoadBalancerIP 字段。原因是它没有被详细说明,并且在不同的实现中具有不同的含义,也不支持需要 IPv4 和 IPv6 地址的双栈Service。

官方建议提供者依赖注释而不是该字段。

OpenAPI v3

Kubernetes 1.24 提供了以OpenAPI v3 格式发布其 API 的 beta 支持。

存储容量和卷扩展普遍可用

存储容量跟踪支持通过CSIStorageCapacity 对象 公开当前可用的存储容量, 并增强使用具有后期绑定的 CSI 卷的 pod 的调度。

卷扩展增加了对调整现有持久卷大小的支持。

gRPC探针升级到 Beta

在Kubernetes 1.24 中,gRPC探测功能已进入测试阶段,默认情况下可用。您现在可以在 Kubernetes 中为您的 gRPC 应用程序本地配置启动、活动和就绪探测,而无需公开 HTTP 端点或使用额外的可执行文件。

服务帐户默认没有Secret

只会影响使用 Kubernetes 存储在 Secrets 中的长期服务帐户令牌的 Kubernetes 用户。

在 Kubernetes 1.23 之前,在集群中创建服务帐户会导致 Kubernetes 自动为该服务帐户创建一个带有令牌的 Secret。此令牌永不过期,这可能很有用,但也是一个安全问题。从 Kubernetes 1.24 开始,这些 Secret 将不再自动创建。

您可能会问自己:该令牌不是安装到使用该服务帐户的 Pod 中吗?不。创建新 Pod 时,kubelet 使用TokenRequest API为该 Pod 生成一个令牌,该令牌被挂载为一个投影卷。令牌在一小时后或 Pod 被删除时过期,以先到者为准。Kubelet 会定期更新令牌,因此 Pod 始终挂载有效令牌。

如果您绝对需要存储在 Secret 中的永不过期令牌,您仍然可以通过自己创建 Secret 并添加特殊注释来获得。然后 Kubernetes 将为您将令牌添加到 Secret。

RuntimeClass.Overhead字段GA

使用默认容器运行时之外的原因有很多:运行不受信任的工作负载或需要 GPU 的工作负载,仅举几例。Kubernetes 原生支持为这些用例定义自定义运行时类。

这些自定义运行时可能会产生一些开销:运行时本身而不是内部运行的容器使用 CPU 和内存。RuntimeClass.Overhead 字段在Kubernetes 1.24 中达到普遍可用性,允许集群操作员指定此开销,以便 Kubernetes 在制定调度决策时将其考虑在内。

其他值得关注的更新:

  1. maxUnavailable for StatefulSets。
  2. CronJobs支持TimeZone。
  3. NetworkPolicyStatus。
  4. 使用go 1.18.1构建。
  5. non-graceful node shutdown。

详情参见

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md。

当前标题:Kubernetes 1.24发布了—有什么新变化
URL链接:http://www.shufengxianlan.com/qtweb/news30/553030.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联