「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。
Helm 3 beta2 发布
Helm 3 从 Alpha 之后,就一直进入了持续改进阶段。终于现在 beta2 发布了,按现在社区的开发进度来看,今年发布正式版的希望还是很大的。
感兴趣还是建议可以先尝试下,以免之后升级时带来不适。
CoreDNS v1.6.3 发布
federation
将在 1.7.0 中被完全废弃;- 新增两个插件
clouddns
和sign
,其中clouddns
顾名思义是为云环境设计的,现在它支持 GCP (Google Cloud Platform)Cloud DNS 提供的 zone 数据,实际上它是通过 Google Cloud 的 API 来获取这些信息的,如果你没有在使用 GCP Cloud DNS 的话,目前这个插件应该是用不到的;sign
插件则是根据 RFC 6781 对 Zone 使用 NSEC 签名,但需要注意的是签名是有时效的,如果到了过期时间,则 Zone 信息会变成 Bad 状态(RFC 4035),所以如果你想要使用这个插件,请明确知道自己需要做什么以及为何使用它; file
插件修复了一些内存泄漏的问题;
除了上述提到的内容外,想稍微再提一下在 v1.6.2 中新增的 azure
插件,它其实和 clouddns
做的事情类似,只不过是从 Azure 获取记录罢了。另外从 v1.6.1 开始 reload
插件可以正确的检查在 Corefile 中导入的文件的变化了。
更多关于此版本的信息,请参考 Release Note
Strimzi 成为 CNCF sandbox 项目
Strimzi 是一个致力于将 Apache Kafka 运行在 Kubernetes 上的项目,不过在它这次申请成为 CNCF sandbox 项目之前,它的另一个方向是让 Apache Kafka 运行在 OpenShift 上。为了成为 CNCF 的 sandbox 项目,所以现在你能在网站上看到的内容已经大部分都重写成为了让其在 Kubernetes 上运行了。
所以如果你在使用 Openshift 那倒是也可以尝试下此项目。附一张架构图
etcd v3.4.0 正式发布
etcd v3.4.0 已于近日发布,这个版本中包含了大量的更新。
- 添加 Raft learner:推荐直接查看设计文档
- 后端完全并发读:通过这个改进,写入吞吐可增加 70%,P99 写入延迟减少 90% ,相关 PR;
- 使用 gRPC balancer API 重写了 client v3 的负载均衡实现:当然在这个过程中,将 gRPC 依赖升级到了 v1.23.0 ,同时也修正了一个 Kubernetes 中遇到的 etcd 的问题,详细内容请参考 k/k#72102
ETCDCTL_API=3 etcdctl
和etcd --enable-v2=false
成为了默认配置;- 添加了大量 Metrics 信息;
- 还有一个重大变化是现在要求 GO 1.12+ 了,依赖管理也从
glide
转变为了 GO Module;
此次的更新非常多,建议升级前详细查看文档。
更多关于此版本的信息,请参考 Release Note
上游开发进展
- kubeadm 默认使用的 CoreDNS 版本已经更新成了 v1.6.2 ,如果你一直都有看我发布的K8S 生态周报的话,相关变更需要注意的内容就基本都讨论过了。不过这里稍微多提一下,现在的 CoreDNS 的 Deployment 通过
ready
插件来做 readiness 检查,之前其实这里存在着问题来着;另外proxy
插件已经被废弃掉了,所以如果你要升级集群的话,需要注意下 Corefile 是否需要做调整; - kubeadm 的内核校验规则改成了支持所有 3.10+ 的内核;
可以通过下面二维码订阅我的文章公众号【MoeLove】,在公众号后台回复 k8s 可加入技术圈交流。