Kubernetes 1.14发布:对Windows节点的生产级支持、Kubectl更新与持久本地卷通用版本已全面到来
今天,我们高兴地宣布Kubernetes 1.14版本的正式亮相,这亦是我们在2019年当中进行的首次发布!
Kubernetes 1.14版本由31项增强功能组成,具体包括:10项稳定版功能,12项beta测试功能,以及7项全新功能。此次版本的核心主题在于可扩展性,以及在Kubernetes上支持更多工作负载。本轮共有三项主要功能迎来通用版本,另有一项重要安全功能步入beta测试阶段。
与此前发布的各个Kubernetes版本相比,这一次进入稳定阶段的增强功能数量达到了历史新高。对于用户与运营人员而言,这无疑是我们践行承诺、支持使用期望的一大重要里程碑。此外,1.14版本当中还迎来了多项值得关注的Pod与RBAC增强功能,我们将在后文中“其它值得关注的功能”章节中对此做出讨论。
下面,让我们深入了解此版本中的各大主要功能。
对Windows节点的生产级支持
在此之前,Kubernetes当中的Windows节点一直处于beta测试阶段,旨在允许众多用户以实验性方式体验Kubernetes for Windows容器的实际价值。如今,Kubernetes开始正式支持将Windows节点添加为工作节点并部署Windows容器,从而确保庞大的Windows应用程序生态系统得以利用我们平台提供的强大功能。这意味着以往在Windows应用程序与Linux应用程序层面投入大量资金的企业不必再寻求独立的协调器管理自身工作负载,而能够不再受到具体操作系统类型的影响提升整体部署的运营效率。
本次Kubernetes为Windows容器带来的核心功能特性包括:
支持将Windows Server 2019引入工作节点与容器
支持采用Azure-CNI、 OVN- Kubernetes以及Flannel的树外网络
改进了对Pod、服务类型、工作负载控制器以及指标/配额的支持能力,以便与Linux容器的自有功能实现更为紧密的匹配
值得关注的Kubectl更新
新的Kubectl说明文档与徽标
Kubectl的说明文档经过完全重写,其重点在于利用声明性Resource Config实现资源管理。这份文档目前以独立站点的形式发布,采用电子书格式,并在k8s.io文档中提供对应链接(具体请访问 https://kubectl.docs.kubernetes.io)。
您也将在新的文档站点中看到新的kubectl徽标与吉祥物(音为kubee-cuddle)设计外观。
Kustomize集成
Kustomize的声明性Resource Config创作功能现在可以通过-k标记(适用于apply及get等命令)以及Kustomize子命令在kubectl中获取。Kustomize旨在帮助用户创作及复用包含Kubernetes各原生概念的Resource Config。用户现在能够利用kubectl apply -k dir/将拥有kustomization.yaml的目录适用于集群。此外,用户也可以将定制化Resource Config发送至stdout,而无需通过kubectl kustomize dir/加以应用。这些新的功能被记录在新的说明文档当中,具体请参阅:https://kubect.docs.kubernetes.io。
我们还将继续通过Kubernetes的kustomize repo对Kustomize子命令进行开发。最新的Kustomize功能将以独立的Kustomize二进制文件(发布至kustomize repo)的形式更为频率地发布,且在每一轮Kubernetes发布之前在kubectl中得以更新。
kubectl插件机制逐步趋于稳定kubectl插件机制允许开发人员将自己的定制化kubectl子命令以独立二进制文件的形式发布出来。这些成果将可帮助kubectl与附加porcelain(例如添加set-ns命令)实现更多新的高级功能。
各插件必须采用kubectl-作为命名前缀,并保存在用户的$PATH当中。在通用版本中,插件机制已经迎来大幅简化,目前其整体效果类似于Git插件系统。
持久本地卷迎来通用版本
这项功能正逐渐稳定,允许用户将本地连接存储作为持久卷来源。考虑到实际性能与成本要求,分布式文件系统与数据库往往成为持久性本地存储的主要用例。与云服务供应商相比较,本地SSD一般可提供超越远程磁盘的性能水平。而与裸机方案相比,除了性能之外,本地存储通常成本更低,亦是配置分布式文件系统的一项必要条件。
PID限制正转向beta测试阶段
进程ID(简称PID)属于Linux主机上的一种基本资源。毫无疑问,我们无法接受在未出现任何其它资源限制的情况下,因为进程ID不足而影响任务运行,甚至导致主机稳定性降低。管理员需要相关机制以确保用户Pod中的PID不会被耗尽,否则各类主机守护程序(包括运行时与kubelet等)都将受到影响。此外,管理员还需要确保在各Pod之间限制PID,从而保证其不致影响到运行在节点上的其它工作负载。
在目前的beta功能中,管理员可以对每个Pod中的PID数量进行预定义,从而实现Pod与Pod间的PID隔离。此外,管理员还可以通过node allocatable为用户Pod保留大量可供分配的PID,即以alpha测试功能的方式实现类似的Pod与Pod间PID隔离。我们计划在下一版本当中将此项功能转为beta测试版。
更多其它值得关注的功能
Pod优先级与抢占机制使得Kubernetes调度程序能够首先调度更为重要的Pod,从而在集群资源不足时删除不太重要的Pod,最终为意义更重大的Pod保留运行空间。具体重要性由优先级机制负责指定。
Pod Readiness Gates能够为Pod的就绪情况提供外部反馈扩展点。
强化默认的RBAC的clusterrolebingdings发现能力,其移除了原本默认可通过未授权访问的API集发现功能,旨在提升CRD隐私性以及默认集群的总体安全水平。
推出时间
目前Kubernetes 1.14已可通过GitHub[1]进行下载。要开始使用Kubernetes,我们建议您首先查看各交互式教程[2]。您也可以利用kubeadm[3]轻松安装本次发布的1.14版本。
相关链接:
https://github.com/kubernetes/kubernetes/releases/tag/v1.14.0
https://kubernetes.io/docs/tutorials/
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
相关服务请访问:https://support.huaweicloud.com/cce/index.html?utm_content=cce_helpcenter_2019
Kubernetes 1.14发布:对Windows节点的生产级支持、Kubectl更新与持久本地卷通用版本已全面到来的更多相关文章
- 从Kubernetes 1.14 发布,看技术社区演进方向
Kubernetes 1.14 正式发布已经过去了一段时间,相信你已经从不同渠道看过了各种版本的解读. 不过,相比于代码 Release,马上就要迎来5周岁生日的Kubernetes 项目接下来如何演 ...
- 用于云计算的自我更新、自我修补的Linux版本已发布!
自动化是 IT 行业的增长趋势,其目的是消除重复任务中的手动干扰.Oracle 通过推出 Oracle Autonomous Linux 向自动化世界迈出了又一步,这无疑将使 IoT 和云计算行业受益 ...
- 解决 Prometheus 不能获取 Kubernetes 集群上 Windows 节点的 Metrics
背景 接上一篇 快速搭建 Windows Kubernetes , 我们发现原来在 Windows Kubernetes 会有一些与在 Linux 上使用不一样的体验,俗称坑,例如 hostAlias ...
- 二进制方式安装Kubernetes 1.14.2高可用详细步骤
00.组件版本和配置策略 组件版本 Kubernetes 1.14.2 Docker 18.09.6-ce Etcd 3.3.13 Flanneld 0.11.0 插件: Coredns Dashbo ...
- kubernetes 1.14安装部署dashboard
简单介绍: Dashboard是一个基于web的Kubernetes用户界面.您可以使用Dashboard将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障诊断,并管理集群资源. ...
- centos7使用kubeadm安装部署kubernetes 1.14
应用背景: 截止目前为止,高热度的kubernetes版本已经发布至1.14,在此记录一下安装部署步骤和过程中的问题排查. 部署k8s一般两种方式:kubeadm(官方称目前已经GA,可以在生产环境使 ...
- Asp.net Core 1.0.1升级到Asp.net Core 1.1.0 Preview版本发布到Windows Server2008 R2 IIS中的各种坑
Asp.net Core 1.0.1升级到Asp.net Core 1.1.0后,程序无法运行了 解决方案:在project.json中加入runtime节点 "runtimes" ...
- 使用Kubernetes演示金丝雀发布
使用Kubernetes演示金丝雀发布 为了更直观的看出金丝雀发布的效果,我们这里使用了Prometheus监控来观察这个过程.不知道怎么使用Prometheus的同学请看使用Prometheus监控 ...
- Cloud Native Weekly | Kubernetes 1.13发布
云原生一周精选 1——Kubernetes 1.13发布 2——Kubernetes首次出现重大安全漏洞 3——Docker和微软公司推出云原生应用的部署规范 4——谷歌推出beta版本的Cloud ...
随机推荐
- Swoole练习 Web
WEB 服务端代码 $http = new swoole_http_server("0.0.0.0", 9501); $http->on('request', functio ...
- 洛谷 题解 P1550 【[USACO08OCT]打井Watering Hole】
本题看似很难,实际上思路非常简单--如果你想通了. 首先有一个问题:图中有几个点?大部分的人会回答\(n\)个点.错了,有\(n+1\)个. 多出来的那个点在哪?关键在于你要理解每一个决策的意义.实际 ...
- python glob删除目录下的文件
使用glob匹配目录下的文件 import os import glob path="./" for infile in glob.glob(os.path.join(path,& ...
- 构建C 程序
1, 单个文件的编排顺序 #include指令 #define指令 类型定义 外部变量的声明 除main函数之外的函数的原型 main函数的定义 其他函数的定义
- 《ucore lab4》实验报告
资源 ucore在线实验指导书 我的ucore实验代码 练习1:分配并初始化一个进程控制块 题目 alloc_proc函数(位于kern/process/proc.c中) 负责分配并返回一个新的str ...
- 【转】那些年用过的Redis集群架构(含面试解析)
引言 今天是2019年2月12号,也就是大年初八,我接到了高中同学刘有码面试失利的消息. 他面试的时候,身份是某知名公司的小码农一枚,却因为不懂自己生产上Redis是如何部署的,导致面试失败! 人间惨 ...
- [.Net Core] - 使用 NLog 记录日志到 Sql Server
1. 使用 Nuget 安装 NLog. 2. 在 Sql Server 中创建 NLog 数据表. CREATE TABLE [dbo].[NLogInfo]( ,) NOT NULL, [Date ...
- 最佳thread数量
cpu 密集性task,过多的线程反而降低了处理效率,最佳的做法就是保持和cpu core数量大致相同的线程数量: threads = number of CPUs + 1 io密集型,因为会有cpu ...
- Spring AOP日志实现(三)--获取访问者用户名
通过Security获取访问者用户名: 也可以通过session来获取: 整体思路:
- Codeforces Round #222 (Div. 1) (ABCDE)
377A Maze 大意: 给定棋盘, 保证初始所有白格连通, 求将$k$个白格变为黑格, 使得白格仍然连通. $dfs$回溯时删除即可. #include <iostream> #inc ...