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/

Kubernetes 1.13 正式发布,功能亮点一览!的更多相关文章

  1. Centos7 使用 kubeadm 安装Kubernetes 1.13.3

    目录 目录 什么是Kubeadm? 什么是容器存储接口(CSI)? 什么是CoreDNS? 1.环境准备 1.1.网络配置 1.2.更改 hostname 1.3.配置 SSH 免密码登录登录 1.4 ...

  2. Centos7 二进制安装 Kubernetes 1.13

    目录 1.目录 1.1.什么是 Kubernetes? 1.2.Kubernetes 有哪些优势? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置ssh免密码登录登录 2 ...

  3. K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群

    0x00 概述 本次采用二进制文件方式部署,本文过程写成了更详细更多可选方案的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansi ...

  4. Cloud Native Weekly | Kubernetes 1.13发布

    云原生一周精选 1——Kubernetes 1.13发布 2——Kubernetes首次出现重大安全漏洞 3——Docker和微软公司推出云原生应用的部署规范 4——谷歌推出beta版本的Cloud ...

  5. [转贴]CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群

    CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群 http://blog.51cto.com/10880347/2326146   一.概述 kubernetes 1.13 ...

  6. Centos7离线部署kubernetes 1.13集群记录

    一.说明 本篇主要参考kubernetes中文社区的一篇部署文章(CentOS 使用二进制部署 Kubernetes 1.13集群),并做了更详细的记录以备用. 二.部署环境 1.kubernetes ...

  7. Kubernetes 弹性伸缩HPA功能增强Advanced Horizontal Pod Autoscaler -介绍部署篇

    背景 WHAT(做什么) Advanced Horizontal Pod Autoscaler(简称:AHPA)是kubernetes中HPA的功能增强. 在兼容原生HPA功能基础上,增加预测.执行模 ...

  8. Kubernetes 1.13 的完整部署手册

    前言: 非常详细的K8s的完整部署手册,由于Kubernetes版本和操作系统的版本关系非常敏感,部署前请查阅版本关系对应表 地址:https://github.com/kubernetes/kube ...

  9. Kubernetes 1.13.3 部署 Prometheus+Grafana-7.5.2(最新版本踩坑)

    本教程直接在 Kubernetes 1.13.3 版本上安装 Prometheus 和 Grafana-7.5.2,至于它们的原理和概念就不再赘述,这里就直接开始操作. Git 下载相关 YAML 文 ...

随机推荐

  1. WPF 中如何变相让 ListBox 宽度(Width) 100%,高度(Height) 100%,从而达到 Filled 的效果

    直接贴代码了: XAML: <Window x:Class="HelloWorld.MainWindow" xmlns="http://schemas.micros ...

  2. Redis 主从同步+哨兵

    简介 通过使用 Redis 自带“主从同步+哨兵守护”功能提高Redis稳定性. 主从同步:保障数据主从数据实时同步. 哨兵:实时监控主redis如果故障,将从redis作为主使用. 环境: 系统:C ...

  3. Git在提交代码时出现的fatal: Authentication failed的问题

    git push origin master remote: Incorrect username or password ( access token ) fatal: Authentication ...

  4. C#循环结构

    一.背景: 因编程的基础差,因此最近开始巩固学习C#基础,后期把自己学习的东西,总结相应文章中,有不足处请大家多多指教. 二.简介 有的时候,可能需要多次执行同一块代码.一般情况下,语句是顺序执行的: ...

  5. 微信分享网页时自定义缩略图和简介(.net版本)

    要实现微信分享网页时自定义缩略图和简介,需开发者在公众平台网站中创建公众号.获取接口权限后,通过微信JS-SDK的分享接口,来实现微信分享功能. 下面来说明实现步骤. 第一部分 准备步骤 步骤一:注册 ...

  6. linux安装和使用zookeeper

    一.安装条件 想要安装zookeeper,必须先在linux中安装好jdk.安装步骤见: https://www.cnblogs.com/expiator/p/9987351.html 二.下载并解压 ...

  7. ASP.NET Core系列:依赖注入

    1. 控制反转(IoC) 控制反转(Inversion of Control,IoC),是面向对象编程中的一种设计原则,用来降低代码之间的耦合度. 1.1 依赖倒置 依赖原则: (1)高层次的模块不应 ...

  8. PHP MySQL数据分页

    SQL SELECT语句查询总是可能导致数千条记录.但是在一个页面上显示所有结果并不是一个好主意.因此,我们可以根据要求将此结果划分为多个页面.分页意味着在多个页面中显示您的查询结果,而不是仅将它们全 ...

  9. PHP-FPM Fastcgi 未授权访问漏洞

    漏洞原理 Fastcgi Fastcgi是一个通信协议,和HTTP协议一样,都是进行数据交换的一个通道.HTTP协议是浏览器和服务器中间件进行数据交换的协议,浏览器将HTTP头和HTTP体用某个规则组 ...

  10. itextpdf5操作表格

    下面是一些对表格排版的常用方法,是在制作pdf的时候通过查看ipa和一些博客积累下来的. 包括,表格的宽度,对齐方式,表的页眉页脚,前后间距,padding: 单元格对齐方式,线条设置,段落于单元格之 ...