「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。
Kind(Kubernetes In Docker) v0.5.1 正式发布
Kind(Kubernetes In Docker) 已经广泛的应用于 Kubernetes 上游及相关项目的 CI 环境中,作为个人本地的测试环境也很方便,推荐大家尝试。
本次发布,将默认的 Kubernetes 版本更新为 v1.15.3 ;支持了 UDP 和 SCTP 协议的端口转发;对构建 Node 镜像进行了优化,使它更快;同时也对 arm32 增加了有限的支持。
对 kind load-image 进行了改进,从原先的只是判断镜像名称和 tag 到现在增加了对哈希值的校验;修正了在使用 Proxy 时,部分服务可能受代理影响导致的问题(对国内用户友好)。
更多关于此版本的内容,请参考 ReleaseNote,欢迎使用和反馈。
Kubernetes 受 Go 的 net/http 安全漏洞影响
Kubernetes 近期紧急发布了 v1.15.3, v1.14.6, v1.13.10 版本,距离上个集体更新发布仅过了两周而已,上次的说明请参考两周前的 k8s 生态周报,不过本次的漏洞的根本原因不在 Kubernetes 的功能逻辑上,还是在于其使用的 Go 语言的 net/http
库的安全漏洞 CVE-2019-9512 和 CVE-2019-9514 。
关于此次漏洞的信息,可参考 golang/go#33606,另外 Go 最近陆续发布了几个版本,建议大家也最好升到 v1.12.9 版本。
作为标准库来说,其实影响面还是比较大的,K8S 最近也是相继从 1.12.6 陆续升级到了 1.12.9 , 当然也包括 Docker 团队等,也都做了相关的更新。
最后,还是建议尽快升级。
Kubernetes v1.16.0-beta.1 发布
本次的开发进度基本都是按照预期进行的,本周发布了 v1.16.0-beta.1 版本,相信很快就会发布正式版了。
本次的更新内容暂不展开了,有兴趣的朋友可以直接参看 ReleaseNote
weaveworks 出品的 Flux 成为 CNCF sandbox 项目
Flux 作为 Kubernetes GitOps operator 成功加入了 CNCF。
它最初是 weaveworks 内部为了加速开发工作流而产生的,但发展至后期,比较独立了,项目规划也比较成熟了,所以现在就托管至 CNCF 了。
Flux 可以确保集群的配置与 Git 仓库中的内容相符,同时又可自动化你的部署。其实是一个很不错的工具集,因为实际上它基本能满足大多数人的应用场景。
关于此次成为 CNCF sandbox 项目官宣文章请查看其官方博客
cilium 1.6 发布 100% kube-proxy 的替代品
cilium 1.6 发布,本次最大的新闻是它完成了最后的两个核心需求,成功的在使用 cilium 时可以不再需要 kube-proxy 即它可 100% 替换 kube-proxy 。
这里先对 cilium 做个基本介绍,它是一个基于 eBPF 实现的可用于透明的提供和保护使用 Kubernetes 和 Docker 等容器管理平台部署的应用程序服务之间的网络和 API 连接。
说的比较绕口,说直白点就是基于 eBPF 的一个性能超厉害的网络组件。至于它具备的能力下面这张图还是比较明白的,有兴趣研究的朋友们推荐看它的官方文档。
kube-proxy 作为 Kubernetes 集群中的一个重要组件,它的性能问题经常被人拿出来说。其实它的性能对多数公司/场景下也表现挺好了,但追求极致才是前进的动力嘛。现在 cilium 发布 1.6 版本,最大的新闻就是可以 100% 替换 kube-proxy 了,性能测试如下图:
这里稍微说几句我关于 cilium 的看法:
- 厉不厉害?厉害。
- 值不值得研究?值得。
- 会不会放到自己的集群替代 kube-proxy ?不会,最起码目前不会。
如果你想要通过 cilium 研究 eBPF 或者 XDP 我倒是建议你可以看看,是个很不错的项目,而且通过这个项目能加深很多网络方面的认识。这么说吧,如果把 cilium 的源码及所涉及原理都研究通透了,那就很厉害了。
至于要不要替换 kube-proxy 在我看来,最起码目前我不会这样去做。解决问题的办法有很多种,而替换掉一个核心组件,却不一定是一个最值得的选择。
关于此次的性能测试,请参考其官方博客
可以通过下面二维码订阅我的文章公众号【MoeLove】,在公众号后台回复 k8s 可加入技术圈交流。