Kubernetes 1.25 中的变更日志我从中了解了 SIG 集群生命周期计划。

变化比平时少,心情也平静了一些。

主要主题

  • 无。

紧急升级说明

  • 无。

按种类更改

弃用

  • kubeadm:ConfigMap 如果“kubeadm-config”中的ClusterConfiguration.imageRepository 包含旧的“k8s.gcr.io”,则在“升级应用/差异/节点”期间将其替换为新的默认“registry.k8s io”。但是,更新仅在“升级适用”的情况下反映。(#110343,@neolit123)

  • kubeadm:特定于 kubeadm 的功能门 UnversionedKubeletConfigMap 现在是 GA 并且默认启用。与 kubelet 相关的 ConfigMapRBAC 规则已从旧的 *kubelet-config-x.yy(其中 x.yy 是控制平面版本)命名约定重命名为更简单的 *kubelet-config。如果您之前将UnversionedKubeletConfigMap 设置为false 并使用旧的命名格式,则必须在升级到v1.25 之前手动将kube-system/kubelet-config-x.yy 复制为kube-system/kubelet-config。不是。(#110327,@neolit123)

  • kubeadm:node-role.kubernetes.io/master:NoSchedule 不再将污点应用于新集群的控制平面。它还在“kubeadm upgrade apply”期间从控制平面中删除现有的污点。(#110095,@neolit123)

API 变更

  • 无。

特征

  • kubeadm:添加了对其他身份验证策略“client-go authentication plugin exec, tokenFile, authProvider”的支持,当kubeadm join 时使用discovery/kubeconfig(#110553,@tallaxes)

    • Kubernetes 1.25: SIG Cluster Lifecycle の変更内容kubeadm join,我觉得kubeadm init提供的token是经常使用的,看来可以代替之前使用的token。
      当然,如果您创建一个帐户,并预先将必要的权限传递给join,而无需每次都支付令牌,那么操作会更容易。
  • kubeadm:将 CoreDNS 版本更新为 v1.9.3。(#110489,@pacoxu)

  • kubeadm: kube-proxy, coredns 插件阶段在 kubeadm init phase addon --print-manifest 支持标志。使用此标志,kubeadm 将不会应用指定的插件,而是将应用的 API 对象打印到终端。(#109995,@wangyysde)

  • kubeadm:您现在可以修补 v1beta1.KubeletConfiguration 中包含的 kubelet 配置文件。这个新的补丁目标被称为kubeletconfiguration(例如补丁文件是kubeletconfiguration+json.json)。 KubeletConfiguration 作为主--config 的一部分传递给init,作为集群的KubeletConfiguration 全局持久化,但是这个补丁导致特定节点可以应用KubeletConfiguration(#110405,@neolit123)

  • kubeadm:启动探针现在使用 /health?serializable=false 而在 etcd 静态 pod 中的 liveness probe 使用 /health?serializable=true&exclude=NOSPACE NOSPACE 排除允许管理员在 etcd 中一次解决一个成员的空间问题。(#110744,@neolit123)

  • kubeadm:将 etcd 静态 Pod 中的 livenessreadinessprobe 更改为使用 /health?serializable=true,这是新的 etcd v3.5.3++ 健康检查端点。这允许您跟踪单个 etcd 成员的状态,以便在 etcd 集群的某些成员不健康时所有 etcd 成员都不会失败。(#110072,@neolit123)

  • kubeadm:kubeadm upgrade plan 现在可以使用--output 标志实验性地输出JSON/YAML(#108447,@pacoxu)

  • kubeadm:CoreDNS 现在默认启用首选反关联。(#110593,@SataQiu)

affinity:
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
    - podAffinityTerm:
        labelSelector:
          matchExpressions:
          - key: k8s-app
            operator: In
            values:
            - kube-dns
        topologyKey: kubernetes.io/hostname
      weight: 100

错误或回归

  • kubeadm:删除了节点注释中重复的 unix:// 前缀。(#110656,@pacoxu)

  • kubeadm:修复了在 kubeadm join 时未应用可配置的 KubernetesVersion(#110791,@SataQiu)

  • kubeadm:etcd 中的 --experimental-watch-progress-notify-interval 标志已启用并设置为 5 秒。此标志指定 etcd 将 watch 数据发送到 kube=apiserver 的时间间隔。(#111383,@p0lyn0mial)

  • kubeadm:在镜像拉取期间运行crictl 时设置操作系统环境变量。这修复了*PROXY 环境变量无法影响crictl 的互联网连接的问题。(#110134,@mk46)

  • kubeadm:如果遗留“主”污点存在,则仅污点控制平面节点。这避免了执行kubeadm upgrade 将保留具有新“控制平面”污点的控制平面节点的问题,即使用户明确地清除了节点。(#109840,@neolit123)

    • Kubernetes 1.25: SIG Cluster Lifecycle の変更内容 在资源较少的家庭集群中,去除污点以有效利用控制平面节点是很常见的。
  • kubeadm:现在在使用 Kubernetes 的 CI 版本时尊重用户指定的图像存储库。(#111017,@SataQiu)

  • kubeadm:在重置阶段移除容器时重试。(#110837,@SataQiu)

    • Kubernetes 1.25: SIG Cluster Lifecycle の変更内容 有时候reset没有删除容器,如果碰巧是使用了kubernetes所需端口的容器,比如apiserver,看来kubeadm又失败了kubeadm init。。

其他(清理或薄片)

  • kubeadm:执行额外的 dockershim 清理。考虑到 dockershim 在 1.24 中被移除并且 kubeadm 1.25 支持 kubelet 1.24 和 1.25 版本,所有容器运行时都被视为远程通过指定 --container-runtime=remote--network-plugin 标志在新集群中不再可用。 kubeadm reset/var/lib/dockershim,/var/run/kubernetes,/var/lib/cnidockershim相关目录将不再清理。(#110022,@neolit123)

    • Kubernetes 1.25: SIG Cluster Lifecycle の変更内容 绝对没有清理干净。
root@node-cp01:/etc/kubernetes/manifests# kubeadm reset
[reset] Reading configuration from the cluster...
[reset] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
W0921 04:21:43.809172   21624 reset.go:103] [reset] Unable to fetch the kubeadm-config ConfigMap from cluster: failed to get config map: Get "https://10.244.5.135:6443/api/v1/namespaces/kube-system/configmaps/kubeadm-config?timeout=10s": dial tcp 10.244.5.135:6443: connect: connection refuse
d
W0921 04:21:43.810777   21624 preflight.go:55] [reset] WARNING: Changes made to this host by 'kubeadm init' or 'kubeadm join' will be reverted.
[reset] Are you sure you want to proceed? [y/N]: y
W0921 04:21:46.176911   21624 removeetcdmember.go:85] [reset] No kubeadm config, using etcd pod spec to get data directory
[reset] Stopping the kubelet service
[reset] Unmounting mounted directories in "/var/lib/kubelet"
[reset] Deleting contents of directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] Deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
[reset] Deleting contents of stateful directories: [/var/lib/etcd /var/lib/kubelet]

原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308626756.html

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2021-12-09
  • 2022-01-05
  • 2022-01-13
  • 2021-08-09
猜你喜欢
  • 2022-12-23
  • 2021-11-26
  • 2021-12-13
  • 2021-05-20
  • 2021-08-20
  • 2022-12-23
  • 2021-06-24
相关资源
相似解决方案