Kubernetes 1.13 正式发布,功能亮点一览!

 

Kubernetes 1.13 正式GA,这是2018年发布的第四次也是最后一次大版本,1.13也是迄今为止发行最快的版本,仅用10周时间。此版本继续关注Kubernetes的稳定性和可扩展性,其中在存储和群集生命周期领域的三个主要功能实现普遍可用(GA)。Kubeadm简化集群管理、容器存储接口(CSI)和CoreDNS作为默认DNS。

使用kubeadm(GA)简化Kubernetes集群管理

大多数与Kubernetes的工程师,都应该会使用kubeadm。它是管理集群生命周期的重要工具,从创建到配置再到升级; 现在kubeadm正式成为GA。kubeadm处理现有硬件上的生产集群的引导,并以最佳实践方式配置核心Kubernetes组件,以便为新节点提供安全而简单的连接流程并支持轻松升级。这个GA版本值得注意的是现在已经毕业的高级功能,特别是可插拔性和可配置性。kubeadm的范围是管理员和自动化,更高级别系统的工具箱,这个版本是朝这个方向迈出的重要一步。

容器存储接口(CSI)进入GA

容器存储接口(CSI)现在已经GA,在v1.9中作为alpha引入,在v1.10中作为beta引入。通过CSI,Kubernetes卷层变得真正可扩展。这为第三方存储提供商提供了编写与Kubernetes互操作而无需触及核心代码的插件的机会。该规范本身也达到了1.0状态。

CoreDNS现在是Kubernetes的默认DNS服务器

在1.11中,我们宣布CoreDNS已达到基于DNS的服务发现的一般可用性。在1.13中,CoreDNS现在将kube-dns替换为Kubernetes的默认DNS服务器。CoreDNS是一个通用的,权威的DNS服务器,提供与Kubernetes向后兼容但可扩展的集成。CoreDNS比以前的DNS服务器具有更少的移动部件,因为它是单个可执行文件和单个进程,并通过创建自定义DNS条目来支持灵活的用例。它也用Go编写,使其具有内存安全性。

CoreDNS现在是Kubernetes 1.13+推荐的DNS解决方案。该项目已将常用测试基础架构切换为默认使用CoreDNS,我们也建议用户进行切换。KubeDNS仍将至少支持一个版本,但现在是时候开始规划迁移了。许多OSS安装工具已经进行了切换,包括1.11中的Kubeadm。如果您使用托管解决方案,请与您的供应商合作,以了解这将如何影响您。

内容安全

CVE-2018-1002105是Kubernetes API Server中的一个关键安全问题,在v1.13.0(以及v1.10.11,v1.11.5和v1.12.3)中得到了解决。我们建议运行先前版本的所有群集立即更新到其中一个版本。有关详细信息,请参阅问题#71411

(https://github.com/kubernetes/kubernetes/issues/71411)。

升级说明

在升级到Kubernetes 1.13之前,需要注意以下几点:

kube-apiserver

  • 弃用的Etcd2后端存储已经被删除。在使用–storage-backend = etcd2升级kube-apiserver之前,必须将etcd v2数据迁移到v3存储后端,并将kube-apiserver调用更改为使用–storage-backend = etcd3。升级前的备份始终是一种非常明智的做法,但由于etcd2到etcd3的迁移不可逆,因此迁移前的etcd备份至关重要。
  • 已弃用的–etcd-quorum-read  flag标志已被删除。

kube-controller-manager

已弃用的–Usecure-experimental-approve-all-kubelet-csrs-for-group flag标志已被删除。

kubelet

已弃用的–google-json-key  flag标志已被删除。 在升级之前从kubelet调用中删除–google-json-key标志。(#69354,@yujuhong)

https://github.com/kubernetes/kubernetes/pull/69354

使用DaemonSet pod,现在需要kubelet为1.11或更高的调度功能。 在将kube-controller-manager升级到1.13之前,请确保群集中的所有kubelet都在1.11或更高。

alpha CSINodeInfo CRD的模式已拆分为spec和status字段,并添加了新字段status.available和status.volumePluginMechanism。 使用先前alpha模式的集群必须使用新模式删除并重新创建CRD。 (#70515,@ davidz627)

https://github.com/kubernetes/kubernetes/pull/70515

kube-scheduler使用apiVersion componentconfig / v1alpha1删除了对配置文件的支持。 在升级到1.13之前,确保使用命令行标志或带有apiVersion kubescheduler.config.k8s.io/v1alpha1的配置文件配置kube-scheduler。

Kubectl

已弃用的命令run-container已被删除。 可以使用kubectl run调用(#70728,@ Pingan2017)

https://github.com/kubernetes/kubernetes/pull/70728

client-go发行版将不再具有bootstrap(k8s.io/client-go/tools/bootstrap)相关代码。 任何对它的引用都会失效。 请将所有引用重定向到k8s.io/bootstrap。 (#67356,@ iyliaog)

https://github.com/kubernetes/kubernetes/pull/67356

Kubernetes无法区分具有相同名称的GCE  Zonal PDs 或 Regional PDs。要解决此问题,请使用唯一名称预创建PD。动态配置的PD不受影响。(#70716,@ msau42)

https://github.com/kubernetes/kubernetes/pull/70716

新版本弃用的功能

kube-apiserver

–service-account-api-audiences标志已被弃用,将有利于–api-audiences使用。继续使用旧标志会被接受并带有警告,且在以后的版本中会删除。 (#70105,@ mikedanese)

https://github.com/kubernetes/kubernetes/pull/70105

不推荐使用–experimental-encryption-provider-config标志,将有利于–encryption-provider-config。 同样接受旧标志并发出警告,但将在1.14中删除。 (#71206,@ stlaz)

作为将etcd加密功能逐渐推向beta的一部分,–encryption-provider-config引用的配置文件现在使用kind:EncryptionConfiguration和apiVersion:apiserver.config.k8s.io/v1。 对类型的支持:EncryptionConfig和apiVersion:v1已弃用,将在以后的版本中删除。 (#67383,@ stlaz)

https://github.com/kubernetes/kubernetes/pull/67383

-deserialization-cache-size标志已经弃用,会再以后的版本中删除。 由于删除了etcd2存储后端,因此该标志处于非活动状态。 (#69842,@ liggitt)

https://github.com/kubernetes/kubernetes/pull/69842

Node授权模式不再允许kubelet删除其Node API对象(在1.11之前,在与cloudprovider节点ID更改相关的极少数情况下,kubelet将尝试在启动时删除/重新创建其Node对象)(#71021,@ liggitt)

https://github.com/kubernetes/kubernetes/pull/71021

内置系统:csi-external-provisioner和system:csi-external-attacher集群角色已弃用,在将来的版本中不会自动创建。 CSI部署应提供具有所需权限的自己的RBAC角色定义。 (#69868,@ pohly)

https://github.com/kubernetes/kubernetes/pull/69868

Kubelet

不推荐使用beta插件注册目录{kubelet_root_dir} / plugins / 通过kubelet插件注册协议注册外部驱动程序,转而使用{kubelet_root_dir} / plugins_registry /。 计划在v1.15中删除对旧目录的支持。 设备插件和CSI存储驱动程序应切换到v1.15之前的新目录。 在旧目录中仅允许支持0.x版本的CSI API的CSI存储驱动程序。 (@RenaudWasTaken#70494和@ saad-ali#71314)

https://github.com/kubernetes/kubernetes/pull/70494

https://github.com/kubernetes/kubernetes/pull/71314

随着CSI 1.0 API的发布,不推荐使用0.3及更早版本的CSI API支持CSI驱动程序,并计划在Kubernetes v1.15中删除。 应该更新CSI驱动程序以支持CSI 1.0 API。(#71020 and #71314, both by @saad-ali)

https://github.com/kubernetes/kubernetes/pull/71020

https://github.com/kubernetes/kubernetes/pull/71314

使用–node-labels标志在kubernetes.io/和k8s.io/前缀下设置标签将受到未来版本中NodeRestriction  admission插件的限制。 有关允许的标签,请参阅准入插件文档。(#68267,@ liggitt)

https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction

https://github.com/kubernetes/kubernetes/pull/68267

kube-scheduler

不推荐使用alpha critical pod annotation(scheduler.alpha.kubernetes.io/critical-pod)。(#70298,@ bsalamat)

https://github.com/kubernetes/kubernetes/pull/70298

Kubeadm

不推荐使用DynamicKubeletConfig功能。 当然仍然可以使用kubeadm alpha kubelet enable-dynamic命令访问该功能。

kubeadm config print-defaults已被弃用。(#69617,@ rrosti)

https://github.com/kubernetes/kubernetes/pull/69617

不推荐使用对v1alpha3配置文件格式的支持,将在1.14中删除。 使用kubeadm config migrate将v1alpha3配置文件迁移到v1beta1,这样可以改进镜像存储库管理、插件配置和其他方面。 v1beta1的文档:

https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta1

Kubectl

kubectl convert命令已弃用,将在以后的版本中删除(#70820,@ seans3)

https://github.com/kubernetes/kubernetes/pull/70820

Kubernetes 1.13下载:

https://github.com/kubernetes/kubernetes/releases/tag/v1.13.0

原文:

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.13.md#v1130

https://kubernetes.io/blog/2018/12/03/kubernetes-1-13-release-announcement/

最新文章

  1. 深度学习(DNN)的学习网站
  2. Android5.0如何正确启用isLoggable(二) 理分析
  3. 《利用python进行数据分析》读书笔记--第十一章 金融和经济数据应用(一)
  4. phonegap文件,目录操作以及网络上传,下载文件(含demo)
  5. 【原创】sql:慎用【数字字段1 - 数字字段2】这样的sql(10-null = null)mysql
  6. __builtin_popcount()
  7. Sublime Text3注册码
  8. iOS 开发者计划申请 2014 年最新心得[转]
  9. LinkedBlockingQueue 注记
  10. 如何下载kubenetes最新的rpm包?
  11. python之黏包和黏包解决方案
  12. MongoDB设置
  13. FastReport"Text"对象中的HTML标签介绍以及使用
  14. Arcgis安装要素
  15. crontab挂定时任务
  16. Jmeter ResponseAssertion 【Ignore Status】
  17. dategate的用法
  18. mfc 引用
  19. Android使用DrawerLayout仿qq6.6版本侧滑效果
  20. bss段和.data的是是非非

热门文章

  1. 如何让 FFmpeg 支持异步并行转码、截图等等操作?
  2. AngleSharp 实战(05)之遍历内部子元素(x)元素,尝试着获取元素的 Attr 和 InnerText
  3. Python 线程池(小节)
  4. jdbc:mysql:/// jdbc连接数据url简写方式
  5. C#获取文件夹下所有的文件名称
  6. PHP工作岗位要求
  7. Java常用类Date相关知识
  8. php CI如何实现全站静态生成html,动态创建目录
  9. Mybatis插入实体类字段为关键字解决方案
  10. 结对编程-python实现