GMTC北京站9折购票倒计时,部分日程已上线,戳此查看 了解详情
写点什么

即将发布的 Kubernetes 1.13 有哪些新功能?

  • 2018 年 12 月 03 日
  • 本文字数:3129 字

    阅读完需:约 10 分钟

即将发布的Kubernetes 1.13有哪些新功能?

Kubernetes 配置管理

动态审计配置(alpha)

https://github.com/kubernetes/enhancements/issues/600


Kubernetes 审计配置功能允许使用 webhook 将审计事件转发到远程 API。 从 Kubernetes 1.13 版本开始,用户可以设置动态审计后端,以支持在运行时推送 AuditSink API 对象(远程端点)。可以使用 Falco 检查 Kubernetes 审核事件。


支持自定义资源的 webhook 转换(alpha)

https://github.com/kubernetes/enhancements/issues/598


在版本 1.13 之前,可为 Resource Custome Define(RCD) 定义多个版本,只要所有版本使用相同的模式(即,如果添加了新字段,则需要在所有版本中添加)。 现在,不同的 CRD 版本可以有不同的模式,可以定义转换 webhook 来处理更新。


API 服务器 dry-run(alpha 到 beta)

https://github.com/kubernetes/enhancements/issues/576


dry-run 模式可以模拟真实的 API 请求,在不修改实际状态的情况下查看请求是否成功(准入控制器链,验证,合并冲突…),或者会发生什么。请求响应的主体应尽可能接近非 dry-run 模式。此模式的核心功能是启用其他用户级功能,如kubectl diff子命令。


kubectl diff命令(alpha 到 beta)

https://github.com/kubernetes/enhancements/issues/491


使用 kubectl diff 命令可以预览 kubectl apply`命令对群集所做的变更。 这个命令的功能在于方便查看,这为集群的 operator 的日常工作提供了很方便的操作。需要的是注意,该命令要在 API 服务器上启用 dry-run 功能时才能生效。


简化 Kubernetes 集群创建(beta 到稳定)

https://github.com/kubernetes/enhancements/issues/11


此功能涵盖了kubeadm的总体用例,并简化了 Kubernetes 集群的创建流程。该功能不是 Kubernetes 1.13 版本独有的,但是在此版本中将有一些文档上的改进,改进的地方包括kubeadm init使用中的不同阶段,kubeadm alpha的新子命令或者是在部署示例中包含的 CoreDNS 等。


Kubernetes 核心组件

基于 taint 的驱逐 (alpha 到 beta)

https://github.com/kubernetes/enhancements/issues/166


基于 taint 的驱逐在 Kubernetes 1.13 中将从α状态转变为β状态。 当启用此功能时(在-feature-gates 中,设置 TaintBasedEvictions = true,),NodeController(或 kubelet)会自动添加 taint,并且禁用基于 Ready NodeCondition 从 Node 中驱逐 pod 的前一逻辑。


配置调度器对集群节点的子集进行评分(alpha 到 beta)

https://github.com/kubernetes/enhancements/issues/593


在 Kubernetes 1.12 之前,kube-scheduler 需要检查集群中所有节点的可行性,然后对可行节点进行评分,选择评分最高的节点来运行 pod。现在,可以对 Kubernetes 调度器进行配置,仅考虑一定百分比的节点,只要在配置的集合中能找到足够的可行节点即可。 这提高了调度器在大规模集群中的性能。


更新 kubectl 的插件机制(alpha 到 beta)

https://github.com/kubernetes/enhancements/issues/579


kubectl支持扩展添加新的子命令或覆盖现有的子命令,支持kubectl主要发行版中未包含的新功能和自定义功能。此存储库提供了一个很好的扩展示例。


将频繁的 Kubelet 心跳移至 Lease API(alpha)

https://github.com/kubernetes/enhancements/issues/589


在 1.13 之前的 Kubernetes 版本中,NodeStatus 是 Node 的心跳。 此版本引入了节点租约 (node-lease),这是一种更轻量,可扩展性更好的心跳指示器。节点租约经常更新,而 NodeStatus 仅在出现变更或一定时间段以后才从节点报告到主节点。


硬件支持

支持第三方设备监控插件(alpha)

https://github.com/kubernetes/enhancements/issues/606


为了监控设备插件提供的资源,监控代理需要能够发现节点上正在使用的设备集,并获取元数据以描述该指标应该与哪个容器相关联。 kubelet 现在提供 gRPC 服务(PodResources)来启用此功能。 对“PodResources 服务”的支持仍处于 alpha 状态。


存储

通过持久化卷源使用原始块设备(alpha 到 beta)

https://github.com/kubernetes/enhancements/issues/351


默认情况下,在 Kubernetes 1.13 上启用 BlockVolume,只需将 volumeMode 的值设置为 block 即可访问原始块设备。在没有文件系统抽象的情况下使用原始块设备可允许 Kubernetes 为需要高 I / O 性能和低延迟的高性能应用程序(如数据库)提供更好的支持。


为 FlexVolume 添加调整大小的调用支持,以支持类似 LVM 扩展的卷大小调整(alpha)

https://github.com/kubernetes/enhancements/issues/304


PVC 大小调整最初是在 Kubernetes 1.8 中引入的。 此后,一些卷插件已经能支持此功能。1.13 版本能支持 FlexVolumes。如果你正在使用 FlexVolume 并且底层驱动程序支持该操作,现在只需更新 Kubernetes 中的 PVC 即可扩展 PV。


添加对 Kubernetes 树外 CSI 卷插件的支持(beta 到稳定版)

https://github.com/kubernetes/enhancements/issues/178


容器存储接口 (Container Storage Interface)是将任意存储系统暴露给 Kubernetes 容器化工作负载的规范。目前,Kubernetes 卷插件在树内,这意味着它们与核心 Kubernetes 二进制文件进行链接,编译,构建和一起发布。在 1.13 版本中,该功能已经稳定,并允许第三方供应商创建和分发(Kubernetes 树外)CSI 卷插件。


使调度器能感知 pod 内卷的拓扑约束(beta 到稳定)

https://github.com/kubernetes/enhancements/issues/490


此功能允许设置控制卷的调度位置,可以启用本地卷绑定,还可用于将卷与特定拓扑区域耦合。该功能在之前的 Kubernetes 版本中有所体现,但在 1.13 版本中已逐渐稳定。


Kubernetes 与云端集成

AWS ALB ingress 控制器(alpha)

https://github.com/kubernetes/enhancements/issues/629


这是一项备受欢迎的功能,只要为集群配置了 AWS 集成凭证,就可以通过按需配置 AWS ALB 来满足 Kubernetes ingress 资源。


亚马逊弹性块存储 CSI 驱动程序(alpha)

https://github.com/kubernetes/enhancements/issues/630


亚马逊弹性块存储(Amazon Elastic Block Store) CSI 驱动提供 CSI 接口来管理 EBS 卷的生命周期。驱动程序仍处于 alpha 状态,1.12 之前的版本不支持该功能。 可以使用的基本卷操作包括:CreateVolume / DeleteVolume,ControllerPublishVolume / ControllerUnpublishVolume,NodeStageVolume / NodeUnstageVolume,NodePublishVolume / NodeUnpublishVolume 和 Volume Scheduling。


外部 AWS CCM(alpha)

https://github.com/kubernetes/enhancements/issues/631


cloud-controller-manager (云控制器管理器,CCM)是嵌入云控制循环的守护进程。云供应商和 Kubernetes 的开发和发布速度不同,将特定于云供应商的代码抽象为云控制器管理器二进制文件能够让云供应商独立发展。AWS 云控制器管理器在 Kubernetes 1.13 版本中首次亮相。


Azure 可用区(alpha 到 beta)

https://github.com/kubernetes/enhancements/issues/586


Kubernetes 1.12 版本增加了对 Azure 可用区(AZ)的支持。 可用区中的节点可通过failure-domain.beta.kubernetes.io/zone=<region> - <AZ>标签添加,并为 Azure 托管的磁盘存储类添加拓扑感知配置。此版本中对 Azure 可用区的支持已经从 alpha 阶段到了 beta 阶段。


支持 Azure 跨资源组节点(alpha 到 beta)

https://github.com/kubernetes/enhancements/issues/604


Kubernetes 1.12 版本增加了对 Azure 序中的跨资源组(resource group)节点和非托管(例如本地)节点的支持。该版本中对跨越资源组节点的支持已经从 alpha 阶段到了 beta 阶段。


弃用

删除对 etcd2 的支持

https://github.com/kubernetes/enhancements/issues/622


此版本中删除了所有对 etcd2 的文档引用和支持。


参考链接:


https://sysdig.com/blog/whats-new-in-kubernetes-1-13/


2018 年 12 月 03 日 20:272669
用户头像
张婵 InfoQ 技术编辑

发布了 87 篇内容, 共 47.7 次阅读, 收获喜欢 216 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

Week04总结

熊威

架构师训练营第四周作业

James-Pang

极客大学架构师训练营

第四周作业一

而立斋

案例分享

使用图解的方式来解决链表的算法问题

jerry.mei

Java 算法 链表 ARTS 打卡计划 js

架构师训练营第四周作业

陈靓-哲露

架构师训练营 - 第四周总结

牛牛

学习 极客大学架构师训练营

架构师训练营第四周作业

大丁💸💵💴💶🚀🐟

第四周-作业1

seng man

架构模式:可复用的架构问题解决方案

CHEN川

架构模式 极客大学架构师训练营

互联网面临的挑战

师哥

架构师训练营第四章总结

吴吴

架构师训练营第四周总结

陈靓-哲露

架构师训练营第四周总结

sunnywhy

大型互联网系统会面对怎样的一些挑战

Acker飏

04-02学习总结

ruettiger

架构师训练营 - 作业 -4- 互联网产品问题与架构方案

superman

Week04作业

熊威

架构师训练营第四周作业

sunnywhy

架构师训练营第四周总结

James-Pang

极客大学架构师训练营

架构师训练营第四周学习总结

Bruce Xiong

高流量秒杀系统的优化思路

铁血杰克

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

程序员生活志

Python 程序员 代码 二维码

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

chenzt

【架构训练 Week04 作业】

Rex

架构师训练营 - 学习总结 第 4 周

水边

极客大学架构师训练营

架构师训练营第四章作业

吴吴

04-作业01

ruettiger

第四周作业

晨光

第四周总结

晨光

架构师训练营 - 命题作业 第 4 周

水边

极客大学架构师训练营

计算机操作系统基础(八)---存储管理之内存分配与回收

书旅

php laravel 线程 操作系统 进程

即将发布的Kubernetes 1.13有哪些新功能?_云原生_张婵_InfoQ精选文章