「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」

Helm v3.4 正式发布

Helm v3.4 是一个特性更新版本,我们来看看此版本有哪些值得关注的变化:

  • 11 月 13 日, Helm stable 和 incubator 仓库将到达终结日,这些 Chart 的归档将会存储到另外的位置,如果你使用这两个仓库的话,Helm 将会先检查原先的位置,然后进行重定向;
  • #8543 helm lint 将检查名称长度的错误;
  • #8529 helm status 新增 --show-desc 参数,可用来展示描述;
  • #8874helm create 创建的 chart 缩进保持一致;
  • #7970 helm lint 现在也可以检查依赖了;
  • #8438 helm show values 增加 jsonpath 输出的支持;
  • #8613 优化了 service ready 的判断逻辑,改成了判断是否有 ClusterIP;

更多关于此版本的变化,请查看其 ReleaseNote

CoreDNS v1.8 正式发布

CoreDNS 今日发布了 v1.8 版本,整体而言变化不是太大,且也做了向后兼容,可能会受影响的是使用 外部 plugin 或者域外流量的用户。

因为CoreDNS 依赖的 Caddy 已经在开发 v2 版本了, 且变化蛮大的。为了包装 CoreDNS 的独立 & 稳定,所以 CoreDNS 团队将其 fork 了一个,成为了新的 https://github.com/coredns/caddy 。带来的变化是所有的依赖需要变更下。

最后 transfer 插件已经成为头等公民,如果在使用此插件的话,升级后需要按如下规则修改配置:

example.org {
    file example.org.signed {
        transfer to *
        transfer to 10.240.1.1
    }
}

改为

example.org {
    file example.org.signed
    transfer {
        to * 10.240.1.1
    }
}
  • #4182 修复了使用 DoH 时候 http/2 的支持;
  • #4184 修复了没有 plugin 时候,可能崩溃的问题。使用 CoreDNS 的时候,确实默认都会给它配置插件..很少出现没有配置插件的情况;
  • #4167 在 shutdown 的时候,不再返回 200 了;

更多关于此版本的变化,请查看其 ReleaseNote

prometheus-operator v0.43 发布

最近 prometheus-operator 发布了 v0.43 版本,此版本中新增了 AlertmanagerConfig CRD #3451, 在此之前配置是直接用 configmap 的,通过此次变更,允许将 Alertmanager 的配置分割成不同的对象。

不过当前的 CRD 仅支持 PagerDuty, OpsGenie 和 webhook receiver 。 此处我就不得不提一句 PagerDuty 和 OpsGenie 真的棒,尤其是 OpsGenie 。 另外,当前的 API 版本是 v1alpha1 意味着之后也会逐步增加新功能/对现有功能调整。 期待后续版本。

此外还有一些比较值得关注的内容:

  • #3457 为 Prometheus 使用了单独的 reloader sidecar 。--config-reloader-image 参数后续版本将会移除,请确保至少在 v0.43 版本以上使用 --prometheus-config-reloader 参数,否则 Prometheus 将启动失败;
  • #3598 为 Prometheus, Alertmanager, 和 ThanosRuler CRD 增加 Pod 拓扑约束的功能;
  • #3525 允许自定义 Prometheus web 的 title , 我个人是觉得没啥用了;
  • #3617 添加 prometheus_operator_prometheus_enforced_sample_limit metrics;
  • #3502 在 Prometheus replay WAL 的时候,移除 liveness probes 以免 Prometheus 容器被杀掉;
  • #3526 修正了在更新 service 时候遇到的 spec.ipFamily: Invalid value: "null": field is immutable 错误;
  • #3641 也修复了 Alertmanager controller 的同步逻辑,为此还专门发布了 v0.43.1 版本;

上游进展

  • #95985 随着 seccomp 转为 GA, 现在默认的 seccomp profile annotation 从 docker/default 转换为了 runtime/default。所以也要默认允许 runtime/default 如果用户设置的是 docker/default ;
  • #95856 APIserver 自 v1.10 开始废弃的 insecure port 终于被移除,主要影响 --address, --insecure-bind-address, --port, 和 --insecure-port 这几个参数;

欢迎订阅我的文章公众号【MoeLove】

TheMoeLove