Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31

作者 | 徐迪、李传云、黄珂、汪萌海、张晓宇、何淋波 、陈有坤、李鹏
审核 | 陈俊

上游重要进展

1. Kubernetes v1.17 版本发布

功能稳定性是第一要务。v1.17 包含?22 个增强功能14 个增强功能已逐渐稳定,4 个增强功能已进入 beta 版,4 个增强功能已进入 alpha 版本

Major Theme

  • 云提供商标签达到 GA

这个自 1.2 版本就引入的 label,在 1.17 版本终于 GA。之前旧的 label 已经被废弃掉:以下 3 个旧的 label 已经被废弃掉了:

beta.kubernetes.io/instance-type (deprecated) -> node.kubernetes.io/instance-type

failure-domain.beta.kubernetes.io/region? (deprecated) ->? topology.kubernetes.io/region

failure-domain.beta.kubernetes.io/zone? (deprecated) -> topology.kubernetes.io/zone

  • Volume Snapshot 进入 beta

在 1.12 版本中首次以 v1alpha 版本引入,在 1.13 中升级为 v2alpha(不兼容 v1alpha 版本),目前在 1.17 版本正式进入 beta 版;

从 1.14 开始迁移 alpha。

特性稳定

将 kube-scheduler? 所关心的 Node 状态从 Conditions(例如:OutOfDisk\MemoryPressure)转化到 Taints。Taints 成为 kube-scheduler?判断 Node 状态的唯一来源,同时用户也可以在 Pod 上通过声明 Tolerations 来容忍调度到有这些 Taints 的节点。

Pod 内所有容器共享 PID Namespace 特性 GA。该特性将方便 Pod 内进程信号传递(如 Sidecar 容器中的日志进程完成日志轮转后,通知业务容器进程使用新的日志)以及 Pod 内僵尸进程回收等。

Damoneset 的 pod 的调度从 daemonset controller 迁移到 kube-scheduler 来做调度,从而支持 PodAffnity、PodAntiAffinit 等能力。

该特性是为了支持调度感知单个 Node 上可以挂载的 Volume 个数的上限,且每个 Node 的上限可由存储插件自己动态设置。一般云厂商提供的云主机对某些存储卷(如块存储)能挂载的数量有限制,该特性支持调度器在选择 Node 时排除那些挂载的存储卷已经超过该 Node 支持的 Maximum Volume Count 的 Node 节点。

通过 CSI 实现的存储插件支持存储拓扑调度感知特性,即可以通过 Pod 被调度到的 Node 对应的拓扑位置信息(如 Node 所属的 Region/Zone/Rack 等等)决定动态创建的云存储的拓扑位置,也可以通过 StorageClass 限制动态创建的存储的拓扑位置,还可以通过 Pod 使用的 PV 的拓扑限制决定 Pod 可被调度的 Node 节点。

subPath 用在单个 Pod 多个容器或者一个容器中多个 mountPath 在共享同一个 volume 时以建子目录的方式在同一个 Volume 上做目录隔离。而 subPathExpr 字段可以从 Downward API 环境变量构造 subPath 目录名,可更加灵活地动态生成对应的子目录名。

Custom Resource 目前缺乏 default 机制,而 default 值对 API 的兼容性影响重大。这个功能通过 OpenAPI v3 的校验机制来为 CRD 添加默认值。

Lease api 进入 GA 阶段,kubelet 使用 lease api 周期性汇报心跳,相比 NodeStatus,lease 对象更小,可以降低 kube-apiserver 压力。

kubernetes-test.tar.gz?之前打包内嵌了各个平台的二进制文件。现在发行的 Kubernetes-test 包将以平台为单位,分拆成多个包。

kube-apiserver 通过增加 Bookmark 事件通知 watcher 服务器端当前最新 resourceVersion,可以降低 watcher 重启时对 kube-apiserver 造成的压力。

一致性测试框架进行修改以支持定义行为测试。行为测试是一组基于经验,代码检查,API 模型为视角的测试定义。而测试本身是具体对行为进行验证。此功能让两者进行分离。

增加?finalizer 去做?Load Balancer 类型的 Service 删除保护,确保 Service 这种资源对象在 Load Balancer 被摘除之后才能被删除。

之前多个客户端 watch 同一个对象时,需要对同一个对象序列化多次,引入该特性后,同一个对象只需要序列化一次,在 5000 个节点的测试环境中,可以减少 5% 的 CPU 和 15% 的内存消耗。

重要变化

Add IPv4/IPv6 Dual Stack Support 添加 IPv4/IPv6 双协议栈支持。即允许将 IPv4 和 IPv6 地址分配给 Pods 和服务。预计会在 1.18 版本对 kube-proxy 支持 IPv4/IPv6 双协议栈,代码正在 review 中;

其他重要特性

2. Knative变更

目前第一次启动时总是启动一个,用来检查用户代码是否正常工作,但在某些场景下不想启动任何实例。建议实现一个全局配置,并且可以在 revision 级别覆盖配置,如果不启动实例,则马上把状态设置为 ready,如果有流量过来按冷启动流程启动实例。

还没有足够的理由添加这些属性。

从 Broker/Trigger 模型中删除 ingress channel。当前 Broker 会创建 2 个 channels: trigger 和 ingress. ?ingress channel 用于接收 trigger 的响应结果,然后发送给 ingress service. 但是目前看起来是额外的多了一跳,引入了延迟和可靠性的问题,比较好的方式是直接将响应结果发送给 ingress service.

开源项目推荐

1. dive

一个 docker image 分析工具,帮助快速分析各 layer 的内容,有助于减小整个镜像的大小。

2. amazon-vpc-cni-k8s

aws 上基于 ENI 的网络插件。

3. Draino

负责 cordon 和 drain 节点,提供了 dry run 模式。

4. Apache Dubbo-go

dubbo 的 golang 实现。

本周阅读推荐

  1. 《A visual guide on troubleshooting Kubernetes deployments》

文章主要讲述了如何去定位一个 deployment 无法正常工作的问题。

  1. 《Kubernetes Audit: Making Log Auditing a Viable Practice Again》

本文提出了一种 Kubernetes 自动化审计日志分析器的愿景,但这一愿景远不止于此。使用机器学习之类的工具甚至可以实时地自动检测日志中潜在的威胁。此外,以用户可理解的方式汇总审核日志中的信息,使审核员可以快速验证已识别的模式,并帮助调查其他隐藏的可疑活动。

  1. 《How Kubernetes Has Been "Transformational"? to Productivity and Culture at uSwitch》

很多人开始尝试把业务迁移到 Kubernetes 上,那么 Kubernetes 到底能带来哪些改变呢?通过 uSwitch 的这个案例研究,可以给你带来不一样的思考。

  1. 《Building Large Kubernetes Clusters》
  2. 随着集群越来越多,集群的搭建和管理是个很头疼的问题。LINE 分享了自研的一套框架 Caravan。
  3. 《Kubernetes is the future of Computing. What You Should Know About the New Trend》

越来越多的人开始使用 Kubernetes,有人说它是下一代的“操作系统”,“云计算的未来”。快通过这篇文章了解下这个大趋势吧。

阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”

原文地址:https://www.cnblogs.com/alisystemsoftware/p/12034308.html

时间: 2024-08-01 12:46:33

Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31的相关文章

云原生生态周报 Vol.9| K8s v1.15 版本发布

本周作者 | 衷源.心贵 业界要闻 1.Kubernetes Release v1.15 版本发布,新版本的两个主题是持续性改进和可扩展性.(https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.15.md#kubernetes-v115-release-notes) 2.Helm 这款包管理工具, 作为业界 Kubernetes 上应用分发的事实标准,其 v3.0.0-alpha.1 正式发布,这是 Helm 3 的第

Falco 进入 CNCF Incubator 项目 | 云原生生态周报 Vol. 35

作者 |?王思宇.陈洁.敖小剑 业界要闻 Falco 进入 CNCF?Incubator 项目 原于?2018 年 8 月进入 sandbox,旨在 Kubernetes 运行时环境下支持配置规则来加强应用安全性.降低风险. Kubernetes v1.17.1 发布 解决部分 cloud provider 和 kubelet 相关问题,比如: kubelet 更新 Pod ready status 失败 kubelet 清理 Pod volumes 发生 panic CFP 2020 K8s

Helm 3 发布 | 云原生生态周报 Vol. 27

作者 | 墨封.元毅.冬岛.敖小剑.衷源 业界要闻 1.Helm 3 发布 美国时间 11 月 13 日,Helm 团队发布 Helm 3 第一个稳定版本.Helm 3 以 Helm 2 的核心特性为基础,改进了 chart 存储库.版本管理.安全性和 chart 库.在这个版本中,Helm 维护者整合了来自社区的反馈和请求,以更好地满足 Kubernetes 用户和广泛的云原生生态系统的需求.附:博客地址. 2.Github Octoverse 报告发布 报告显示,JavaScript 依然是

独家解读 etcd 3.4版本 |云原生生态周报 Vol. 18

作者 | 酒祝.墨封.宇慕.衷源关注"阿里巴巴云原生"公众号,回复关键词 "资料" ,即可获得 2019 全年 meetup 活动 PPT 合集及 K8s 最全知识图谱. 业界要闻 etcd 发布 3.4 版本 etcd 发布了 3.4 版本,是最近性能提升最大的一次发布,相信各位已经期待已久了!这次升级带来稳定性和性能等方面诸多优化,例如底层存储优化,客户端优化等多个方面. 「阿里巴巴云原生」公众号将在下周带来更详细的解读分析. 阿里联合谷歌共同研发,raft l

阿里巴巴 Kubernetes 能力再获 CNCF 认可 | 云原生生态周报 Vol. 32

作者 | 丁海洋? 陈有坤 李鹏? 孙健波 业界要闻 阿里巴巴 Kubernetes 技术能力再获 CNCF 认可 CNCF 官网发布博文<Demystifying Kubernetes as a Service – How Alibaba Cloud Manages 10,000s of Kubernetes Clusters>.这篇长文从为什么需要超大数量的 K8s 集群,以及如何高效的管理这些集群出发,系统介绍了 Alibaba 在 Kubernetes 上取得的成绩. GitHub 欲

国内首个 Kubernetes SIG-Cloud-Provider 子项目揭秘 | 云原生生态周报 Vol. 37

作者 | 高相林.陈俊.陈有坤.敖小剑 业界要闻 国内首个 Kubernetes SIG-Cloud-Provider 子项目揭秘? 阿里云作为坚定的云原生计算推动者,贡献了阿里云上运行 Kubernetes 的最佳开源组件,成为 SIG Cloud Provider 子项目的国内首个云厂商.2020 年 2 月 12 日上午 10:00,阿里云?Kubernetes?团队召开了首次线上网络研讨会. 什么技术,让阿里拿下国家技术发明奖? 新年伊始,国家科学技术奖励大会在北京人民大会堂隆重举行.阿

CNCF 2019 年度报告重磅发布 | 云原生生态周报 Vol. 41

作者 | 孙健波.陈有坤.李鹏.丁海洋.高相林 业界要闻 Istio 1.5 正式发布 大量重大更新,包括控制面组件重新回归单体,整体变得更简单.更易用,性能提升等等. CNCF 2019 年度调查报告发布 其中包含了几条重要信息: Cloud Native 社区项目在生产环境中应用成为新常态,超过 50% 的 Cloud Native 项目在生产中应用: Service Mesh 真正进入生产实践,超过 18% 的受访者表示已经在生产环境中使用 Service Mesh: Serverless

Knative 暂时不会捐给任何基金会 | 云原生生态周报 Vol. 22

作者 | 新胜.心贵.进超.元毅.衷源 业界要闻 谷歌:不会向任何基金会捐赠 Knative 自 Knative 项目开始以来,一直存在关于是否将 Knative 捐赠给基金会(例如 CNCF)的疑问. Google 领导层已经考虑了这一点,并决定在可预见的未来不向任何基金会捐赠 Knative. containerd v1.3 正式发布 CNCF 毕业后首个版本,功能扩展主要包括对 Windows v2 runtime 的支持以及 Plugins 相关支持(如允许 Plugin 注册为一个 T

VMware 完成 27 亿美元的 Pivotal 收购 | 云原生生态周报 Vol. 34

作者 | 汪萌海.王思宇.李鹏 业界要闻 VMware 完成 27 亿美元的?Pivotal 收购 VMware 在 12 月 30 日宣布,已完成 27 亿美元的 Pivotal 收购,同一天 Pivotal 也已被纽约股市除名,成为 VMware 的子公司. 谷歌发布 BeyondCorp 的白皮书 BeyondCorp 是一个"零信任"安全框架,它将访问控制从外围转移到单个设备和用户,允许员工在任何位置安全地工作,而不需要传统的虚拟专用网络.使用 BeyondProd,谷歌实现了