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 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

Mesosphere要让数据中心管理像使用个人计算机

1065
来自专栏云计算D1net

对于容器环境来说 全栈监控究竟意味着什么?

对于大多数人来说,“全栈”(Full Stack)的意思很好理解。但是如果我们的话题涉及到监控容器环境呢?整个事情就会开始变得有些模糊了。在这篇文章中,笔者探索...

3676
来自专栏Android群英传

回锅肉

1175
来自专栏IT派

微信最新版本直接打电话,小伙伴们都惊呆了

版本 6.6.0 中的新功能 - 语音聊天可以像系统电话一样接听。 - 收藏里的笔记可保存为图片、分享至朋友圈。 - 已撤回的消息可以再次编辑。 1 电话拨打...

3608
来自专栏北京马哥教育

深入浅出Docker(一):Docker核心技术预览

【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apach...

3324
来自专栏企鹅号快讯

微信年度最重磅发布!小游戏突然上线,游戏行业会变天么?

为了帮助用户更便捷地使用小程序,微信在刚刚又更新了3个新功能: 1、微信在主界面新增小程序任务栏功能 2、小程序菜单升级,支持小程序间快速切换 3、开放了小游戏...

1949
来自专栏程序员互动联盟

【前沿技术】啥叫实时虚拟化?

实时虚拟化听起来有点矛盾,但是它确实是有用的(在某些条件下),并且为 Linux 内核的灵活性又提供了一个强有力的证明。KVM2015 论坛的前两个演讲就详细的...

3884
来自专栏技术翻译

Kubernetes的五大关键云技术

Kubernetes采用率是开源软件历史上最快的吗?很可能。根据CNCF,Kubernetes现在是仅次于Linux的全球第二大开源项目。

1353
来自专栏大数据和云计算技术

大数据和云计算技术周报(第42期):NoSQL特辑

①本文对hbase连接方式进行了深入剖析,也是开发中经常遇到的问题,踩过不少坑,跟大家分享一下此文。

951
来自专栏FreeBuf

黑客军火库:跨平台版中国菜刀Cknife正式开源啦!

免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! 0x00 感谢 首先非常感谢MelodyZX小伙伴无私奉献了无数个夜...

3679

扫码关注云+社区