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 文 ...
随机推荐
- Kubernetes SatefulSet(有状态应用部署)
Kubernetes SatefulSet(有状态应用部署) • 部署有状态应用• 解决Pod独立生命周期,保持Pod启动顺序和唯一性1. 稳定,唯一的网络标识符,持久存储2. 有序,优雅的部署和扩展 ...
- 海关单一窗口程序出现网络/MQ问题后自动修复处理
单一窗口切换了2年多了,由于RabbitMQ或者网络的不稳定,或者升级或者网络调整,等等诸多问题导致了海关单一窗口程序会不定期的出现文件及回执自动处理的作业停止的问题. 最近终于想明白了,把日志监控起 ...
- AppSetting配置工具类
<?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访 ...
- 前端开发CSS3——文本样式和盒子及样式
博主废话少说,直接介绍css常用的属性和属性值:属性和值只需过一遍,页面的结构还是需要布局,布局的只是后期会更新的. 提供一些图标的网站:font-awesome: http://fontaw ...
- Android内部存储与外部存储的文件操作类
public class SDCardHelper { // 判断SD卡是否被挂载 public static boolean isSDCardMounted() { // return Enviro ...
- apk分析 1
配置抓包工具 关闭捕获主机通讯关闭 配置: 在手机端进行配置 进入wifi设置,长按网络高级选项->手动设置代理 测试是否设置成功,手机上随便开应用看抓包器是否有反应 打开抓包目标apk(恋恋, ...
- kafka-python开发kafka生产者和消费者
1.安装kafka-python 执行命令 pip install kafka-python kafka-python 1.4.6 2.编写python kafka 生产者消费者代码 # ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- 凯哥带你用python撸算法之雪花算法
import time class Snow(object): def __init__(self, idx=None): init_date = time.strptime('2010-01-01 ...
- 系统级性能分析工具 — Perf【转】
转自:https://blog.csdn.net/zhangskd/article/details/37902159 版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn ...