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

相关文章

来自专栏云计算D1net

Docker vs.Rocket vs.Odin:容器技术终极比拼

本文全面审视了三种利用容器作为虚拟机系统替代方案的方式。 ? 容器已经在网络领域掀起了一股潮流,其所带来的轻量化、更为灵活的效果足以作为传统虚拟机系统的替代方案...

4449
来自专栏技术翻译

Kubernetes的五大关键云技术

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

1163
来自专栏北京马哥教育

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

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

3194
来自专栏FreeBuf

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

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

3179
来自专栏耕耘实录

虚拟化迁移,你需要特别注意的几个问题

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢。

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

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

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

901
来自专栏沃趣科技

容器化RDS|未来已来

“你不是不够好, 你只是过时了” 这句话用到 IT 行业特别合适, 每隔一段时间都会有新的技术出现, 让码农们应接不暇. 借着回顾 DBA 工作中的几个时期,...

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

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

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

3624
来自专栏WeTest质量开放平台团队的专栏

你知道android的MessageQueue.IdleHandler吗?

商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。

601
来自专栏云技术

剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略

Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路...

7.9K13

扫码关注云+社区