作者 | 禅鸣、进超、心水、心贵
业界要闻
1.Docker 将 Docker Enterprise 卖给 Mirantis
Mirantis 是一家扎根于 OpenStack 的云公司,最近专注于 Kubernetes。该公司刚刚收购了 Docker 的企业部门,该业务部门包括 Docker Enterprise 技术平台及所有相关的知识产权、约 400 名员工中的 300 人、750 家企业客户以及所有企业伙伴关系。
2.红帽发布企业容器仓库开源项目
- 项目官网
- github 链接
Project Quay 包含一系列在 Apache 2.0 和其他开源许可证下许可的开源软件。它遵循一个带有维护者委员会的开源治理模型。
3.北美 KubeCon 正式开幕
KubeCon + CloudNativeCon North America 2019 于 11 月 18 日 在 San Diego 正式召开。
上游重要进展
KEP
1.Supports PreSidecars and PostSidecars
主要为了解决以下问题:
- PreSidecars 将在普通容器之前启动,但在 init 容器之后启动,这样它们就可以在您的主进程开始之前准备好;
- PostSidecars 将在普通容器之后启动,以便它们在您的主进程启动后可以执行某些操作,例如更新 css 文件,转发日志等。
2.Kubectl v2
主要为了解决以下问题:
- Client/Server 版本偏移;
- API 扩展支持;
- 提供更简单的选项来与 cli 工具进行集成(例如 jq);
- 提供与 unix cli 标准集成的接口(xargs/find -exec/globbing);
- 保留配置注释,结构等。
3.Split IP address type into new IPv4 and IPv6
将IP
地址类型分解为IPv4
和 IPv6
。并逐步弃用原有地址类型,其在 1.17 中对新的 EndpointSlices 无效,然后在 1.18 中变得完全无效。
K8S PR
1.Provided a mechanism to re-register hidden metrics
提供一种在 --show-enable-metrcis-for-version
设置时重新注册隐藏指标的机制。
2.Use context to check client closed instead of http.CloseNotifier in processing watch request
有两个原因:
- 新版本中 http.CloseNotifier 已经被废弃;
- 如果请求协议为 HTTP/2.x,原始代码使用 http.CloseNotifier 的情况下,每一个 Watch 将多花费 1 个 goruntine。在大规模场景下,过多的 goruntine 对 API Server 是一个非常大的负担和性能瓶颈。
3.Windows: Fixes /etc/hosts file mounting support for containerd
在 Windows 上使用 Containerd 时,将由 kubelet 管理“ C:\ Windows \ System32 \ drivers \ etc \ hosts”文件。
4.service controller: add node event handlers for faster LB backend sync
为了减少 service controller 在节点有更新时,更新 backend 的延迟。
5.Add ability to reload client certificates from disk
当提供客户端证书证书文件后,始终保持从磁盘重新启动证书文件以进行新连接,并在证书更改时关闭连接。
Knative
1.Knative eventing 组件 Serverless 化
当前 Kubernetes 社区(Kubebuilder 和 Metacontroller)正在研究控制平面可伸缩性,认为虽然用于 Kubernetes 工作的"无服务器控制器"是一个思想实验,但距离我们并不远,并且在技术上也是可行的。
开源项目推荐
1.Terway CNI Network Plugin
阿里云容器服务团队自研 CNI 网络插件,支持 VPC 和 ENI 等。
2.Antrea
Vmware 开源基于 OVS 的 Kubernetes 网络方案。
3.KubeSphere
KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器管理平台,目前已经达到 GA 状态。
4.CRI Resource Manager for Kubernetes
具有硬件资源感知工作负载放置策略的 Kubernetes Container Runtime Interface 代理服务。
本周阅读推荐
1.《Learning Concurrent Reconciling》
CRDs/controllers 是 Kubernetes 中重要的组件,它们会将集群内的各种资源调整到期望状态。学习 Reconciling 可以帮助我们更好的理解 CRDs/controllers 是如何工作的。
2.《不懂 OpenShift,不足以谈云计算!》
通过漫画的形式对 Openshift 及相关产品加以介绍,比较有趣。
3.《Docker是不是遇上麻烦了?》
随着时间的推移,Docker 开始根植于我们的日常生活当中。然而,Docker 一切辉煌的背后,技术社区中开始有不少人认为 Docker 正一路朝着沉没的方向前进。那么,这样的判断有没有依据?Docker 真的快要不行了吗?或者说,这只是技术领域当中部分小年轻们一厢情愿的偏执?
4.《Go 入门指南》
由于目前国内并没有比较好的 Go 语言书籍,而国外的优秀书籍因为英文的缘故在一定程度上也为不少 Go 语言爱好者带来了一些学习上的困扰。
为了加快扩散 Go 爱好者的国内群体,译者在完成 《The Way to Go》 一书的阅读后,决定每天抽出一点时间来进行翻译工作,并以开源的形式免费分享给有需要的 Go 语言爱好者。
5.《如何降低 Istio 服务网格中 Envoy 的内存开销?》
在 Istio 服务网格中,每个 Envoy 占用的内存也许并不算多,但所有 sidecar 增加的内存累积起来则是一个不小的数字。在进行商用部署时,我们需要考虑如何优化并减少服务网格带来的额外内存消耗。
6.《The Service Mesh: What Every Software Engineer Needs to Know about the World's Most Over-Hyped Technology》
Buoyant 创始人、Service Mesh 技术的提出者、第一个 Service Mesh Linkerd 的作者 Willian Morgan 为您解析 Service Mesh 现状。
“ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”