写点什么

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

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

关注

评论 1 条评论

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

免费 AI 编程助手 Amazon CodeWhisperer 体验

亚马逊云科技 (Amazon Web Services)

JavaScript Python 3.12 #人工智能

ATE测试工程师的职业展望

IC男奋斗史

职业规划 芯片 半导体行业

比特币交易所开发链上合约dapp技术方案搭建

V\TG【ch3nguang】

【有奖体验】轻点鼠标,让古籍数字化“重生”

阿里巴巴云原生

阿里云 云原生 函数计算

Koordinator 协同 containerd NRI 增强容器 QoS,提升应用性能

阿里巴巴云原生

阿里云 云原生 Koordinator

深势科技基于 Serverless 容器为科研人员打造高效的开发平台

阿里巴巴云原生

阿里云 Kubernetes 云原生 Kubernetes Serverless

芯片检测哪家强?

IC男奋斗史

芯片 半导体

Python - 字典1

小万哥

Python 程序员 软件 后端 开发

比特币合约系统开发,永续合约交易所搭建

V\TG【ch3nguang】

目前最流行的DeFi流动性挖矿系统开发技术说明

V\TG【ch3nguang】

阿里云易立:以云原生之力,实现大模型时代基础设施能力跃升 | KubeCon 主论坛分享

阿里巴巴云原生

阿里云 Kubernetes 云原生 KubeCON

基于 Kubernetes 的 Serverless PaaS 稳定性建设万字总结

阿里巴巴云原生

阿里云 Kubernetes 云原生

云原生场景下高可用架构的最佳实践

阿里巴巴云原生

阿里云 高可用 云原生

2023-10-14:用go语言,给定 pushed 和 popped 两个序列,每个序列中的 值都不重复, 只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时, 返回

福大大架构师每日一题

福大大架构师每日一题

合约币交易所系统数字货币开发解决方案

V\TG【ch3nguang】

阿里云在云原生领域喜获多项 OSCAR 开源尖峰案例奖

阿里巴巴云原生

阿里云 开源 云原生

从VSCode迁移到Neovim的体验

SkyFire

vim vscode neovim

《云原生 AI 工程化实践训练营-先锋系列》开营啦!

阿里巴巴云原生

阿里云 AI 云原生

合约跟单系统开发

V\TG【ch3nguang】

寻找AI时代的关键拼图,从美国橡树岭国家实验室读懂AI存力信标

脑极体

存储

阿里云云原生开放日:云原生火力全开| KubeCon 热点速递 DAY1

阿里巴巴云原生

阿里云 Kubernetes 容器 云原生

FBX转换GLB格式

3D建模设计

模型格式转换 FBX转GLB

秒合约交易所系统开发技术搭建[多语言双端源码版本]

V\TG【ch3nguang】

币圈数字货币现货/合约秒合约交易所/系统开发

V\TG【ch3nguang】

dapp丨defi丨nft丨lp单双币流动性挖矿系统开发

V\TG【ch3nguang】

Linux该如何学习,给你支招

芯动大师

为NeoAI增加千帆大模型支持

SkyFire

neovim 千帆大模型平台

白嫖azure,随时随地ChatGPT

MorningTZH

azure 白嫖 容器应用 弹性伸缩 ChatGPT

ATE测试工程师是做什么的?

IC男奋斗史

芯片 半导体

代码标准之信达雅

agnostic

代码质量

蓝易云:Containerd+Kubernetes搭建k8s集群教程。

百度搜索:蓝易云

云计算 Linux Kubernetes 云服务器 Containerd

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