Kubernetes 1.13 正式发布,功能亮点一览!
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 正式发布,功能亮点一览!的更多相关文章
- Centos7 使用 kubeadm 安装Kubernetes 1.13.3
目录 目录 什么是Kubeadm? 什么是容器存储接口(CSI)? 什么是CoreDNS? 1.环境准备 1.1.网络配置 1.2.更改 hostname 1.3.配置 SSH 免密码登录登录 1.4 ...
- Centos7 二进制安装 Kubernetes 1.13
目录 1.目录 1.1.什么是 Kubernetes? 1.2.Kubernetes 有哪些优势? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置ssh免密码登录登录 2 ...
- K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群
0x00 概述 本次采用二进制文件方式部署,本文过程写成了更详细更多可选方案的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansi ...
- Cloud Native Weekly | Kubernetes 1.13发布
云原生一周精选 1——Kubernetes 1.13发布 2——Kubernetes首次出现重大安全漏洞 3——Docker和微软公司推出云原生应用的部署规范 4——谷歌推出beta版本的Cloud ...
- [转贴]CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群
CentOS7.5 Kubernetes V1.13(最新版)二进制部署集群 http://blog.51cto.com/10880347/2326146 一.概述 kubernetes 1.13 ...
- Centos7离线部署kubernetes 1.13集群记录
一.说明 本篇主要参考kubernetes中文社区的一篇部署文章(CentOS 使用二进制部署 Kubernetes 1.13集群),并做了更详细的记录以备用. 二.部署环境 1.kubernetes ...
- Kubernetes 弹性伸缩HPA功能增强Advanced Horizontal Pod Autoscaler -介绍部署篇
背景 WHAT(做什么) Advanced Horizontal Pod Autoscaler(简称:AHPA)是kubernetes中HPA的功能增强. 在兼容原生HPA功能基础上,增加预测.执行模 ...
- Kubernetes 1.13 的完整部署手册
前言: 非常详细的K8s的完整部署手册,由于Kubernetes版本和操作系统的版本关系非常敏感,部署前请查阅版本关系对应表 地址:https://github.com/kubernetes/kube ...
- Kubernetes 1.13.3 部署 Prometheus+Grafana-7.5.2(最新版本踩坑)
本教程直接在 Kubernetes 1.13.3 版本上安装 Prometheus 和 Grafana-7.5.2,至于它们的原理和概念就不再赘述,这里就直接开始操作. Git 下载相关 YAML 文 ...
随机推荐
- .net core EF Core 视图的应用
由之前的一篇文章<.net core Entity Framework 与 EF Core>我们都已经知道 EF Core 增加了许多特性,并且性能上也有了很大的提升. 但是EF Core ...
- Python - 运算符 - 第五天
Python语言支持以下类型的运算符 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 Python算术运算符 以下假设变量a为10,变量b为21 ...
- python3之int类的常用方法练习
int类的常用方法练习 #coding:utf-8 #int类的常用方法 num1 = 18 num2 = -15 #查询创建num1所用的类 print(type(num1)) #num1占用的最小 ...
- centos 7 防火墙相关操作
centos 7 防火墙相关操作 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewal ...
- 章节十四、3-执行JavaScript命令
一.网页页面都是由html+css和javaScript组成的,如果页面中没有javaScript的存在,就不会有操作动作的执行,例如页面上你点击的按钮或者链接都离不开javaScript.(这一节不 ...
- Visual Studio 2019尝鲜----新建空项目体验
等待一个中午的时间终于下载安装完成,vs版本Enterprise 2019 16.0.4 官方可直接下载安装引导程序: https://visualstudio.microsoft.com/zh- ...
- SUSE12-SP2安装教程(虚拟机)
创建虚拟机,安装系统,安装系统后的系统设置 创建虚拟机 将SUSE12-SP2镜像(大于3G)上传到虚拟机主机存储. 创建虚拟机创建虚拟机,CPU>=8核,内存>=16G(注:我这里仅演示 ...
- Django Form 的主要内置字段介绍
修改 urls.py,添加 path('field.html', views.field), 在 templates 下创建 field.html, 内容如下: <!DOCTYPE html&g ...
- Python从零开始——字典Dict
一:Python字典知识概览 . 二:字典常见操作 三:字典内置操作函数
- [Go] golang的用途和windows搭建环境
Golang核心编程: 区块链研发工程师(分布式账本技术,互联网数据库技术,特点是去中心化) Go服务器端/游戏软件工程师(现在主流是C C++,处理日志,数据打包,文件处理,美团后台流量支撑,处理大 ...