暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kubernetes v1.23.0-alpha.3发布,默认支持swap,ipv6提升至稳定版。

orchome 2021-10-15
1526

2021年9月29日,Kubernetes(k8s) v1.23.0-alpha.3已经使用Golang 1.17.1版本构建并推送。


种类变更


弃用


  • 在EgressSelectorConfiguration API中删除master
    作为有效的EgressSelection类型。

  • 移除VolumeSubpath功能网关

  • 已经删除了废弃的 --experimental-bootstrap-kubeconfig 标志。这可以通过 --bootstrap-kubeconfig 设置。


API变化


  • Client-go模拟配置可以指定一个 UID 以在请求中传递模拟的 uid 信息。

  • IPv6DualStack功能移至稳定版。节点IPAM控制器的控制器管理器标志略有变化。

    • 当配置双栈集群时,用户必须同时指定 --node-cidr-mask-size-ipv4 和 --node-cidr-mask-size-ipv6 来设置每个节点的IP掩码大小,而不是以前的 --node-cidr-mask-size 标志。

    • --node-cidr-mask-size与--node-cidr-mask-size-ipv4和--node-cidr-mask-size-ipv6相互排斥。

    • 单栈集群不需要改变,但可以选择使用更具体的标志。用户可以使用较早的 --node-cidr-mask-size 标志或较新的 --node-cidr-mask-size-ipv4 或 --node-cidr-mask-size-ipv6 标志来配置每个节点的IP掩码大小,前提是该标志的IP系统与集群的IP系统(--cluster-cidr)匹配。

  • Kubelet:将KubeletConfiguration v1beta1 ResolverConfig字段从一个string变成*string


功能


  • 添加机制,将简单的sniffer(嗅探器)类加载到fluentd-elasticsearch镜像中。

  • Kubeadm: 在预检期间不检查加入工作节点的'/etc/kubernetes/manifests'文件夹是否为空。

  • kube-apiserver的Prometheus指标已经扩展了一些,描述了处理LIST请求的成本。如下:

    • apiserver_cache_list_total: 从watch缓存提供的LIST请求的计数器,按resource_prefix和index_name细分。

    • apiserver_cache_list_fetched_objects_total: 在为LIST请求提供服务的过程中,从观察缓存中读取的对象的计数器,按资源前缀和索引名称细分。

    • apiserver_cache_list_evaluated_objects_total: watch缓存的LIST请求提供服务的过程中测试的对象的计数器,按resource_prefix细分。

    • apiserver_cache_list_returned_objects_total: 从watch缓存为 LIST 请求返回的对象计数器,按 resource_prefix 细分

    • apiserver_storage_list_total: 从 etcd 提供的 LIST 请求计数器,按资源细分

    • apiserver_storage_list_fetched_objects_total: 在服务 LIST 请求的过程中从 etcd 读取的对象计数器,按资源细分

    • apiserver_storage_list_evaluated_objects_total: 在处理来自 etcd 的 LIST 请求的过程中测试的对象计数器,按资源细分

    • apiserver_storage_list_returned_objects_total: 为来自 etcd 的 LIST 请求返回的对象计数器,按资源细分


Bug和回退


  • 改变 kube-proxy start 的行为;当当前的 sysctl 值已经设置得更高时,不会尝试设置特定的 sysctl 值(在非 init 命名空间中的最新内核版本中不再起作用)。

  • 修复job控制器同步:如果发生冲突,确保使用最新信息进行同步。提高 JobTrackingWithFinalizers 的可靠性。

  • 修复了节点没有区域标签时的系统默认拓扑传播。现在默认情况下,Pod可以正确传播。

  • 没有选择器的无头服务在创建时没有启用双栈,将被默认为 RequireDualStack 而不是 PreferDualStack。这与创建时启用了双栈的服务是一致的。

  • Kube-apiserver: 通过events.k8s.io
    API组为集群范围内的对象创建的事件现在也允许在默认的命名空间中,以便与事件客户端和v1
    API兼容。

  • 如果启用了存储对象启用了保护功能,Kube-controller将错误地启用对通用短暂内卷(inline volumes)的支持。

  • Kubeadm:将验证Linux主机上是否启用swap的预检(称为'Swap'),变为警告而不是错误。这与kubelet中的NodeSwap功能网关分级定为Beta版并在1.23中默认启用允许Linux主机上的Swap支持。在kubeadm的下一个版本(1.24)中,预检将被删除,因此我们建议你停止使用它 -- 例如通过 --ignore-preflight-errors或kubeadm配置。

  • 使 etcd 客户端(由 API 服务器使用)重试某些类型的错误。可以在 github/etcd-io/etcd/blob/main/api/v3rpc/rpctypes/error.go#L72 找到可重试(codes.Unavailable)错误的完整列表

  • 当使用固定 UID 删除并重新创建静态 pod 文件时,pod 未正确重新启动。

  • XFS文件系统现在强制格式化(选项-f
    ),以避免由于检测到魔术超级块而出现格式化问题。这与 ext3/4 文件系统的格式化行为一致。


其他(Cleanup 或 Flake)


  • 增强了由于pod的PersistentVolumeClaim绑定到不存在的PersistentVolume而未被调度器选中的节点的错误信息。

  • cmd/proxy/{config, healthcheck, winkernel}
    迁移至结构化日志

  • 将 cmd/proxy/app 和 pkg/proxy/meta_proxier 迁移到结构化日志上

  • 将 pkg/proxy 迁移至结构化日志

  • 将 pkg/proxy/winuserspace 迁移至结构化日志

  • 自v1.22版起,GA的BoundServiceAccountTokenVolume
    功能网关被无条件启用,不再通过--feature-gates
    参数指定。

  • 支持PodPidsLimit
    支持NodePidsLimit
    功能网关,从v1.20版起为GA无条件启用,不能再通过`--feature-gates'参数指定。

  • 更新构建镜像至Debian 11 (Bullseye)

    • debian-base:bullseye-v1.0.0

    • debian-iptables:bullseye-v1.0.0

    • go-runner:v2.3.1-go1.17.1-bullseye.0

    • kube-cross:v1.23.0-go1.17.1-bullseye.1

    • setcap:bullseye-v1.0.0

    • cluster/images/etcd: Build 3.5.0-2 image

    • test/conformance/image: Update runner image to base-debian11


依赖关系


已经添加的

Nothing has changed.(没有任何变化。)


变更

  • github.com/json-iterator/go: v1.1.11 → v1.1.12

  • github.com/modern-go/reflect2: v1.0.1 → v1.0.2


已删除

Nothing has changed.(没有任何变化。)







文章转载自orchome,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论