K8S 1.10 | 技术角度解读 10 大模块更新

2018 年 Kubernetes 第一个版本 1.10 已经发布。新版本持续增强了 Kubernetes 的成熟性、可扩展性以及可插拔性。最新的版本在 3 个关键功能(存储、安全和网络)增加了其稳定性。

像往常一样,本次 Kubernetes 1.10 版本发布依然存在处于不同阶段(alpha,beta 和 GA)的功能,其中一些功能在此版本中值得特别关注。那么哪些功能的变动会对我们的应用产生影响呢?

接下来就请你跟我们一起从技术专业角度,听一线工程师解读 Kubernetes 1.10 新功能,看最权威的上游 GitHub release notes 怎么说!

新发布的 Kubernetes 1.10 版本有几个值得注意的新增特性,包括引入了 kubectl 外部证书提供者(alpha 版本)、在安装的时候可以从 DNS service 切换到 CoreDNS(beta 版本)、容器存储接口(CSI)以及本地持久数据卷到了 beta 版本。

主要更新 10 个模块

1

Node

Node 方面的更新大多围绕控制层面:

  • Kubelet 动态配置(Dynamic Kubelet Configuration beta 版本):可以在 Node 不下线的情况下改变 Kubelet 的配置;
  • 可配置 Pod 中的容器是否共享一个 namespace(alpha 版本);
  • CRI 方面也做了一些改进,并升级到 v1alpha2 版本:支持 Windows 容器的配置; CRI 验证测试的 beta 版本。

此外,资源管理 Working Group 在 1.10 版本中将 3 个功能升级到了 beta 版本:

  • CPU Manager
  • 允许用户请求独有的 CPU 核,这将带来几个方面的性能提升;
  • 对网络延时敏感的应用;
  • 对 CPU 缓存敏感的应用。
  • Huge Pages
  • 允许 Pod 请求 2Mi 或者 1Gi 的 Huge Pages;
  • 这将对内存有很大需求的应用带来好处。
  • Device Plugin
  • 提供了第三方设备资源发现的机制;
  • 包括 GPU,FPGA,高性能 NIC,InfiniBand;
  • 以及其他相似的需要特定设置的计算资源。

2

Sig-storage

Kubernetes 1.10 版本对本地存储和持久化存储都进行了增强:

  • Mount namespace propagation 允许容器以 rslave 的方式挂载存储卷,这样主机的挂载就可以在容器里面可见,或者以 rshared 的方式挂载,这样容器里面的挂载,主机也可以看到。
  • Local Ephemeral Storage Capacity Isolation 允许设置本地临时存储的 requests 和 limits 。 另外,你也可以创建本地持久化存储,也就是说可以利用 attach 到本地的磁盘来创建 PV, 而不像以前那样,只能基于网络存储卷创建 PV。
  • PV 方面,1.10 版本包含 PV/PVC 保护, 如果 PVC/PV 正在被 Pod/PVC 使用,那么就不能直接删除 PVC/PV。
  • 这个版本还包括本地持久化存储的 Topology Aware Volume Scheduling ,稳定版本的 Detailed storage metrics of internal state 以及 beta 版本的 Out-of-tree CSI Volume Plugins.

3

Windows

1.10 版本继续对 Windows 进行现有 feature 增强,包括容器 CPU 资源,镜像文件系统数据,和 flexvolumes。 还增加了 Windows 服务控制管理器(Windows service control manager)支持,对单容器 Pod 进行 Hyper-V 隔离实验性支持。

4

OpenStack

SIG-OpenStack 更新 OpenStack provider 。可以使用更新的 APIs,合并代码到一个库,和 Cloud Provider Working Group 合作制定长久计划,把 provider 相关的代码移动到一个单独的代码库里面,改善代码测试,增强与 OpenStack 开发社区的联系。

5

API-machinery

API Aggregation 在 1.10 中升级为稳定版本,可以用于生产。 Webhooks 也有了许多改进,包括对 alpha 版本 self-hosting authorizer webhooks 的支持。

6

Auth

Kubernetes 1.10 版本为新的 authentication 方法添加奠定了基础,包括 alpha 版本的 External client-go credential providers 和 TokenRequest API。另外,Pod Security Policy 允许管理员决定 Pods 可以跑在什么样的 contexts 中,还允许管理员限制 node 对 API 的访问。

7

Azure

Kubernetes 1.10 包含 alpha 版本的 Azure support for cluster-autoscaler, 还有 support for Azure Virtual Machine Scale Sets。

8

CLI

新版本包含了对 kubectl get and describe 的改进,以便更好地与 extensions 结合。为了更好的用户体验,server 端将会返回这些信息。

9

Cluster Lifecycle

这个版本包括对 beta 版本 out-of-process and out-of-tree cloud providers 的支持。

0

Network

Kubernetes 1.10 关于网络的变化集中在控制层面。用户现在可以对 Pod 的 resolv.conf 进行配置,而不是依赖 cluster DNS,这个是 beta 版本,用户还可以配置 NodePort IP 地址,也可以把默认的 DNS 插件改为 CoreDNS (beta 版本)。

工程师技术评论

「K8sMeetup 中国社区」此次邀请到两位 Caicloud(才云科技) 工程师,为 Kubernetes 1.10 做了一个简短评论:

  • 1.10 版本中将 Device Plugin 升级到了 beta 版本,这将对 GPU 设备的发现、调度和管理带来更好的支持,包括深度学习在内的应用也可以更好地运行在 Kubernetes 平台上。才云科技和 Google 等公司共同发起的 Kubeflow 项目也将在第一时间使用这个新的特性,来验证在真实的用户场景下的性能。
  • alpha 版本的 GPU 功能(ResourceName 是 alpha.kubernetes.io/nvidia-gpu)将在 1.11 版本中逐渐被废除,请大家及时切换到 Device Plugin 这个新的功能。
  • 对存储部分来说,主要是对一些 alpha 版本 feature 的升级增强。这次更改主要集中在 CSI、 Local Storage(Ephemeral and Persistent)、Storage Object In Use Protection 以及 PV 和 Scheduling 的结合等。 这些 features 都升级成了 beta 版本,功能更加稳定。

蒸蒸日上

用户亮点

根据 CNCF 最近的一项调查显示,超 49% 的亚洲受访者正在使用 Kubernetes 进行生产;另有 49% 的受访者正在评估其用于生产的可能性。目前,全球范围内已有众多组织正在大规模地使用 Kubernetes 进行生产。以下是几个颇具特色的用户案例:

  • 全球最大的电信设备制造商华为公司,将其内部 IT 部门的应用迁移到 Kubernetes 上运行。这使得全球部署周期从本来的一周时间缩减到几分钟,应用交付的效率提高了 10 倍。
  • 全球五大在线旅行社及酒店集团之一的锦江之星,使用 Kubernetes 将其软件发布速度从几小时缩减至几分钟。此外,他们还利用 Kubernetes 来提高其在线 workload 的可扩展性和可用性。
  • 来自德国的媒体和软件公司 Haufe Group,利用 Kubernetes 将发布新版本的时间控制在半小时内。该公司实现了将夜间容量缩减至一半,硬件成本节省 30% 的应用效果。
  • 全球最大的资产管理公司 BlackRock ,使用 Kubernetes 进行快速迁移,并在 100 天内完成了一款投资者研究网络应用程序的开发与交付。

最后让我们对整个 Kubernetes 社区努力工作表示感谢,是他们的努力工作让 Kubernetes 1.10 成为功能最丰富的版本之一。作为一个快速发展的开源项目,Kubernetes 逐渐走向成熟并积极适应用户的需求,所有这一切都归功于整个 Kubernetes 生态系统的众多贡献者。

原文链接:

https://github.com/kubernetes/sig-release/blob/master/releases/release-1.10/release-notes-draft.md

参考文献:

https://coreos.com//blog/kubernetes-110-released

http://blog.kubernetes.io/

http://blog.kubernetes.io/2018/03/kubernetes-1.10-stabilizing-storage-security-networking.html

注:本文转载自公众号 k8sMeetup

原文发布于微信公众号 - DevOps时代(DevOpsTimes)

原文发表时间:2018-06-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云之翼

如何利用腾讯云BGP网络提升客户外网出口的冗余

最近几年,互联网公司发展迅速,有很多互联网公司本身的基础架构都构建在一些公有云厂商之上,除了节省初期投资之外,另外也是借助于一些大的云厂商本身的网络能力,实现业...

180
来自专栏魏琼东

AgileEAS.NET SOA 中间件Web运行容器管理功能已全部开源,欢迎大家下载、使用、反馈

一、前言      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速...

3286
来自专栏SDNLAB

TAAS助力OpenStack云平台流量监控

OpenStack已经演变成一种被广泛采用的云管理框架,这是显而易见的。当openstack步入快速增长的轨道时,新一代的需求让他们感受到,必须由有一个灵活可扩...

3035
来自专栏云计算D1net

如何使用PaaS作为安全控制的试验平台

美国商务部国家标准与技术研究所(NIST)在2014年12月发布了特别出版物800-53A修订版4,概述了高级信息系统安全官(ISSO)和信息系统所有者(ISO...

3146
来自专栏IT大咖说

云计算的下一个时代——“容器时代”

摘要 随着容器技术的发展,容器成为了目前最受欢迎和关注的项目。京东在容器的实践过程中,结合虚拟机,对容器技术做了优化和改进,他们是怎么做的? ? 容器趋势分析 ...

3609
来自专栏SDNLAB

SDN实战团分享(六):OpenDayLight实战入门

今天讲的是SDN的实战,但说到实战,可能还是牵强了点,SDN技术代表了某种意义上的未来,所以现在来说,并不是大规模应用的阶段。所以,我们可以去设想SDN会在时候...

2728
来自专栏腾讯云数据库(TencentDB)

Redis勒索事件爆发,如何避免从删库到跑路?

9月10日下午,又一起规模化利用Redis未授权访问漏洞攻击数据库的事件发生,此次黑客以勒索钱财作为第一目的,猖狂至极,攻击者赤裸裸威胁,直接删除数据库...

7.4K77
来自专栏云计算D1net

如何应对混合云网络的复杂性?

在经过一番艰苦努力的之后,我最终调试解决了一个非常棘手的混合云网络问题。 虚拟私有云(VPC)提供了一个包含免费虚拟机(VM)使用时间的培训项目,学生可以跟随一...

3386
来自专栏IT大咖说

Spring Cloud+云计算SaaS=?

摘要 云帐房CTO张英磊基于自己的个人经验,分享Spring Cloud在云计算SaaS中的实战经验,希望能为大家带来一些思路上的帮助。 ? SaaS漫谈 Sa...

2775
来自专栏智能计算时代

工业物联网体系架构

整体架构 ? IoT设备组件 ? 硬件抽象层 为了确保便携性,IoT设备需要包括一个软件层,可以访问MCU的硬件功能,如闪存,GPIO,串行接口等。 提供高级A...

3288

扫码关注云+社区