NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

即将发布的 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:272941
用户头像
张婵 InfoQ 技术编辑

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

关注

评论 1 条评论

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

边缘使用 K8s 门槛太高?OpenYurt 这个功能帮你快速搭建集群!

阿里巴巴云原生

阿里云 云原生 边缘计算

译文:为什么超链接是蓝色的?(一)

姬翔

【LeetCode】回文链表Java题解

Albert

算法 LeetCode 9月日更

【优化技术专题】「温故而知新」基于Quartz系列的任务调度框架的动态化任务实现分析

洛神灬殇

Java quartz 任务调度 9月日更

k8s deployment controller源码分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

【直播预告】阿里云服务网格 ASM 产品易用性改善实践与思考

阿里巴巴云原生

阿里云 云原生

小小感悟

Nydia

Prometheus 2.22.0 新特性

耳东@Erdong

Prometheus 9月日更

linux之fping命令

入门小站

Linux

Redis核心原理与实践--列表实现原理之quicklist结构

binecy

redis 数据结构 原理分析

写给互联网工程师的5G书 | 2. 无线传输

俞凡

架构 5G

别把云原生想复杂了

dinstone

微服务 云原生 云平台

Node 编码规范 -努力做得更好

Geek_25b8d1

node.js Node 规范

JavaScript进阶(三)模块化

Augus

JavaScript 9月日更

华强买瓜•程序员版

三分恶

程序员

阿里巴巴最新最全800道Java后端面试大全(值得收藏)

Java 程序员 编程语言 java面试 java架构

数据结构与算法:缓存置换算法

正向成长

LRU 置换算法

Java“锁”事

中原银行

Java 中原银行

产品分析:谁是利益相关者?

石云升

产品经理 9月日更

vue之keep-alive作用和原理

法医

大前端 9月日更

JVM 内存模型学习笔记(二)

风翱

JVM 9月日更

【Vuex 源码学习】第六篇 - Vuex 的模块收集

Brave

源码 vuex 9月日更

Opus从入门到精通(四)Opus解码程序实现

轻口味

android 音视频 9月日更

autojs自动化框架简介

IT蜗壳-Tango

9月日更

中秋节如何拍月亮

卢卡多多

9月日更

网络攻防学习笔记 Day140

穿过生命散发芬芳

9月日更 网站安全基础

在线JSON转jsdoc工具

入门小站

工具

CyclicBarrier类在性能测试中应用

FunTester

线程 多线程 性能测试 线程安全 FunTester

什么是数据粒度

奔向架构师

数据仓库 9月日更

【Flutter 专题】42 图解页面截屏与本地保存小尝试

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

【LeetCode】括号的最大嵌套深度Java题解

Albert

算法 LeetCode 9月日更

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