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 ...
随机推荐
- yaml文件实例:nginx+ingress
[root@lab3 nginx]# cat nginx-test.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: nam ...
- Sequelize 类 建立数据库连接 模型定义
1:Sequelize 类 Sequelize是引用Sequelize模块获取的一个顶级对象,通过这个类可以获取模块内对其他对象的引用.比如utils.Transaction事务类.通过这个顶级对象创 ...
- 漏洞复现之JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
前言: 序列化就是把对象转换成字节流,便于保存在内存.文件.数据库中:反序列化即逆过程,由字节流还原成对象. Java中的ObjectOutputStream类的writeObject()方法可以实现 ...
- Deepin Linux下为Wine创建文件关联
在Deepin Linux下,默认地,使用apt安装的Wine并没有创建文件关联,这使得在文件管理器中双击exe等Windows可执行文件时,不能直接运行.为此,必须手动在桌面环境中创建文件关联. 文 ...
- LeetCode 459. 重复的子字符串(Repeated Substring Pattern)
459. 重复的子字符串 459. Repeated Substring Pattern 题目描述 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且 ...
- [转帖]14-使用glusterfs做持久化存储
14-使用glusterfs做持久化存储 https://www.cnblogs.com/guigujun/p/8366558.html 使用glusterfs做持久化存储 我们复用kubernete ...
- JUC之原子类
在分析原子类之前,先来了解CAS操作 CAS CAS,compare and swap的缩写,中文翻译成比较并交换. CAS 操作包含三个操作数 —— 内存位置(V).预期原值(A)和新值(B).如果 ...
- Python--遍历文件夹下所有文件和目录的方法(os.walk(rootdir)函数返回一个三元素元祖)
import os import os.path # This folder is custom rootdir = '/Users/macbookpro/Desktop/test' for pare ...
- golang使用一个二叉树来实现一个插入排序
思路不太好理解,请用断点 package main import "fmt" type tree struct { value int left, right *tree } fu ...
- youku项目总结(粗略总结)
一.ORM 之前我们都是以文件保存的形式存储数据,这次我们用的是数据库结合python使用,用到 ORM:关系型映射 类>>数据库的一张表 对象>>表一条记录 对象.属性> ...