website/content/zh/docs/setup/release/notes.md

356 KiB
Raw Blame History

title weight card
v1.16 发行说明 10
name weight anchors
下载 20
anchor title
# 最新发行说明
anchor title
#urgent-upgrade-notes 紧急升级说明

v1.16.0

文档

下载 v1.16.0

文件名 sha512 hash
kubernetes.tar.gz 99aa74225dd999d112ebc3e7b7d586a2312ec9c99de7a7fef8bbbfb198a5b4cf740baa57ea262995303e2a5060d26397775d928a086acd926042a41ef00f200b
kubernetes-src.tar.gz 0be7d1d6564385cc20ff4d26bab55b71cc8657cf795429d04caa5db133a6725108d6a116553bf55081ccd854a4078e84d26366022634cdbfffd1a34a10b566cf

客户端可执行文件

文件名 sha512 hash
kubernetes-client-darwin-386.tar.gz a5fb80d26c2a75741ad0efccdacd5d5869fbc303ae4bb1920a6883ebd93a6b41969f898d177f2602faf23a7462867e1235edeb0ba0675041d0c8d5ab266ec62d
kubernetes-client-darwin-amd64.tar.gz 47a9a78fada4b840d9ae4dac2b469a36d0812ac83d22fd798c4cb0f1673fb65c6558383c19a7268ed7101ac9fa32d53d79498407bdf94923f4f8f019ea39e912
kubernetes-client-linux-386.tar.gz 916e4dd98f5ed8ee111eeb6c2cf5c5f313e1d98f3531b40a5a777240ddb96b9cc53df101daa077ffff52cf01167fdcc39d38a8655631bac846641308634e127a
kubernetes-client-linux-amd64.tar.gz fccf152588edbaaa21ca94c67408b8754f8bc55e49470380e10cf987be27495a8411d019d807df2b2c1c7620f8535e8f237848c3c1ac3791b91da8df59dea5aa
kubernetes-client-linux-arm.tar.gz 066c55fabbe3434604c46574c51c324336a02a5bfaed2e4d83b67012d26bf98354928c9c12758b53ece16b8567e2b5ce6cb88d5cf3008c7baf3c5df02611a610
kubernetes-client-linux-arm64.tar.gz e41be74cc36240a64ecc962a066988b5ef7c3f3112977efd4e307b35dd78688f41d6c5b376a6d1152d843182bbbe75d179de75675548bb846f8c1e28827e0e0c
kubernetes-client-linux-ppc64le.tar.gz 08783eb3bb2e35b48dab3481e17d6e345d43bab8b8dee25bb5ff184ba46cb632750d4c38e9982366050aecce6e121c67bb6812dbfd607216acd3a2d19e05f5a1
kubernetes-client-linux-s390x.tar.gz bcb6eb9cd3d8c92dfaf4f102ff2dc7517f632b1e955be6a02e7f223b15fc09c4ca2d6d9cd5b23871168cf6b455e2368daf17025c9cd61bf43d2ea72676db913a
kubernetes-client-windows-386.tar.gz efbc764d8e2889ce13c9eaaa61f685a8714563ddc20464523140d6f5bef0dfd51b745c3bd3fe2093258db242bf9b3207f8e9f451b0484de64f18cdb7162ec30e
kubernetes-client-windows-amd64.tar.gz b34bce694c6a0e4c8c5ddabcecb6adcb4d35f8c126b4b5ced7e44ef39cd45982dd9f6483a38e04430846f4da592dc74b475c37da7fe08444ef4eb5efde85e0b2

服务器端可执行文件

文件名 sha512 hash
kubernetes-server-linux-amd64.tar.gz a6bdac1eba1b87dc98b2bf5bf3690758960ecb50ed067736459b757fca0c3b01dd01fd215b4c06a653964048c6a81ea80b61ee8c7e4c98241409c091faf0cee1
kubernetes-server-linux-arm.tar.gz 0560e1e893fe175d74465065d43081ee7f40ba7e7d7cafa53e5d7491f89c61957cf0d3abfa4620cd0f33b6e44911b43184199761005d20b72e3cd2ddc1224f9f
kubernetes-server-linux-arm64.tar.gz 4d5dd001fa3ac2b28bfee64e85dbedab0706302ffd634c34330617674e7a90e0108710f4248a2145676bd72f0bbc3598ed61e1e739c64147ea00d3b6a4ba4604
kubernetes-server-linux-ppc64le.tar.gz cc642fca57e22bf6edd371e61e254b369b760c67fa00cac50e34464470f7eea624953deff800fa1e4f7791fe06791c48dbba3ed47e789297ead889c2aa7b2bbf
kubernetes-server-linux-s390x.tar.gz 1f480ba6f593a3aa20203e82e9e34ac206e35839fd9135f495c5d154480c57d1118673dcb5a6b112c18025fb4a847f65dc7aac470f01d2f06ad3da6aa63d98a3

节点可执行文件

文件名 sha512 hash
kubernetes-node-linux-amd64.tar.gz e987f141bc0a248e99a371ce220403b78678c739a39dad1c1612e63a0bee4525fbca5ee8c2b5e5332a553cc5f63bce9ec95645589298f41fe83e1fd41faa538e
kubernetes-node-linux-arm.tar.gz 8b084c1063beda2dd4000e8004634d82e580f05cc300c2ee13ad84bb884987b2c7fd1f033fb2ed46941dfc311249acef06efe5044fb72dc4b6089c66388e1f61
kubernetes-node-linux-arm64.tar.gz 365bdf9759e24d22cf507a0a5a507895ed44723496985e6d8f0bd10b03ffe7c78198732ee39873912147f2dd840d2e284118fc6fc1e3876d8f4c2c3a441def0b
kubernetes-node-linux-ppc64le.tar.gz ff54d83dd0fd3c447cdd76cdffd253598f6800045d2b6b91b513849d15b0b602590002e7fe2a55dc25ed5a05787f4973c480126491d24be7c5fce6ce98d0b6b6
kubernetes-node-linux-s390x.tar.gz 527cd9bf4bf392c3f097f232264c0f0e096ac410b5211b0f308c9d964f86900f5875012353b0b787efc9104f51ad90880f118efb1da54eba5c7675c1840eae5f
kubernetes-node-windows-amd64.tar.gz 4f76a94c70481dd1d57941f156f395df008835b5d1cc17708945e8f560234dbd426f3cff7586f10fd4c24e14e3dfdce28e90c8ec213c23d6ed726aec94e9b0ff

Kubernetes v1.16.0 发行说明

relnotes.k8s.io 现已以可自定义的格式托管了发行说明的完整变更日志,请查看链接并向我们提供反馈!

新增功能(主要主题)

我们很高兴宣布 Kubernetes 1.16 的交付,这是我们 2019 年的第三版Kubernetes 1.16 由 31 个增强功能组成8 个进入稳定8 个进入 Beta15 个进入 Alpha。

Kubernetes 1.16 版本的四大主题如下:

  • Custom resources: CRD 是对 Kubernetes 持久性的扩展,用以服务于新的资源类型,自 1.7 版本以来CRD 已经在 Beta 版中可用。在 1.16 版本中CRD 正式步入通用可用性GA
  • Admission webhooks: Admission webhooks 作为 Kubernetes 扩展机制被广泛使用,并且自 1.9 版本以来已经在 Beta 版中可用。在 1.16 版本中Admission webhook 也正式步入通用可用性GA
  • Overhauled metrics: Kubernetes 广泛使用一个全局 metrics registry 来注册要公开的 metrics。通过实现 metrics registrymetrics 可以以更透明的方式注册。而在这之前Kubernetes metrics 被排除在任何稳定性需求之外。
  • Volume Extension: 新版本有大量和 Volume及 Volume 修改相关的增强。CSI 规范中对 Volume 调整的支持正在转向 Beta 版,它允许任何 CSI 规范卷插件都可以调整大小。

其他值得注意的功能更新

已知的问题

  • etcd 和 KMS 插件的健康检查没有在新的 livezreadyz 端点中公开。这将在 v1.16.1 中得到修正。
  • 运行 iptables 1.8.0 或更新版本的系统应以兼容模式启动它。请注意,这将影响所有版本的 Kubernetes而不仅仅是 v1.16.0。有关此问题以及如何应用解决方法的更多详细信息,请参阅官方文档。
  • 在名称中包含点的目录中生成软件包的通知程序已损坏,这将在 v1.16.1 中修复。请参考 (#82860)。

紧急升级须知

注意!此内容为升级前必读!

集群生命周期

  • amd64 的容器镜像 tar 文件现在将在 manifest.json 的 RepoTags 节中给出体系结构。如果你正在使用 Docker 清单,则此变更对你没有影响。见 (#80266@javier-b-perez)。
  • kubeadm 现在会在 TLS 启动引导完成之后删除 bootstrap-kubelet.conf 文件,依赖于 bootstrap-kubelet.conf 文件的用户应该切换到包含节点凭证的 kubelet.conf 文件。见 (#80676@fabriziopandini)。
  • beta.kubernetes.io/metadata-proxy-readybeta.kubernetes.io/metadata-proxy-readybeta.kubernetes.io/kube-proxy-ds-ready(节点标签)不再添加到新节点上。
    • ip-mask-agent 插件开始使用标签 node.kubernetes.io/masq-agent-ds-ready 代替 beta.kubernetes.io/masq-agent-ds-ready 作为其节点选择器;
    • kube-proxy 插件开始使用标签 node.kubernetes.io/kube-proxy-ds-ready 代替 beta.kubernetes.io/kube-proxy-ds-ready 作为其节点选择器;
    • metadata-proxy 插件开始使用标签 cloud.google.com/metadata-proxy-ready 代替 beta.kubernetes.io/metadata-proxy-ready 作为其节点选择器;

存储

  • 当为 CSI 驱动启用 PodInfoOnMount 时Volume上下文中新的 csi.storage.k8s.io/ephemeral 参数允许驱动程序的 NodePublishVolume 实现根据具体情况确定该卷是临时性的还是正常的持久卷。见 (#79983@pohly)。
  • 为 VerifyVolumesAreAttached 和 BulkVolumeVerify 添加 CSI 迁移铺垫。见 (#80443@davidz627)。
  • 新版本将 VolumePVCDataSource克隆特性提升到 Beta 版。见 (#81792@j-griffith)。
  • 将 in-tree 和 CSIVolume卷的Volume限制集成到一个调度器条件Scheduler Predicate。见 (#77595@bertinatto)。

弃用和移除

  • API

    • 默认情况下不再提供以下 API
    - `apps/v1beta1` 和 `apps/v1` 下的所有资源 - 改用 `apps/v1`
    
    • extensions/v1beta1 下的资源 daemonsetsdeploymentsreplicasets - 改用 apps/v1
    • extensions/v1beta1 下的资源 networkpolicies - 改用 networking.k8s.io/v1
    • extensions/v1beta1 下的资源 podsecuritypolicies - 改用 policy/v1beta1
    可以使用 `--runtime-config` apiserver 参数临时重新启用服务这些资源。
    
    • apps/v1beta1=true
    • apps/v1beta2=true
    • extensions/v1beta1/daemonsets=true,extensions/v1beta1/deployments=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/networkpolicies=true,extensions/v1beta1/podsecuritypolicies=true
    v1.18 中将完全删除提供这些资源的功能。见 ([#70672](https://github.com/kubernetes/kubernetes/pull/70672)、[@liggitt](https://github.com/liggitt))。
    
    • v1.20 中的 extensions/v1beta1 将不再提供 Ingress 资源。请迁移到自 v1.14 起可用的 networking.k8s.io/v1beta1 API。可以通过 networking.k8s.io/v1beta1 API 检索现有的持久数据。
    • v1.17 中将不再从 scheduling.k8s.io/v1beta1scheduling.k8s.io/v1alpha1 提供 PriorityClass 资源。请迁移到自 v1.14 起可用的 scheduling.k8s.io/v1 API。可以通过 scheduling.k8s.io/v1 API 检索现有的持久数据。
    • 自 v1.14 起已弃用的 list API 调用的 export 查询参数将在 v1.18 中删除。
    • events.k8s.io/v1beta1 事件 API 中的 series.state 字段已弃用,并将在 v1.18 中删除。见 (#75987@yastij)。
    • CustomResourceDefinitionapiextensions.k8s.io/v1beta1 版本已弃用,在 v1.19 中将不再提供,请改用 apiextensions.k8s.io/v1。见 (#79604@liggitt)。
    • MutatingWebhookConfigurationValidatingWebhookConfigurationadmissionregistration.k8s.io/v1beta1 版本已弃用,在 v1.19 中将不再提供。请改用 admissionregistration.k8s.io/v1。见 (#79549@liggitt)。
    • 在 v1.13 版本中弃用的 alpha metadata.initializers 字段已被删除。见 (#79504@yue9944882)。
    • 已弃用的节点条件类型 OutOfDisk 已被删除,请改用 DiskPressure。(#72420@Pingan2017)。
    • metadata.selfLink 字段在单个和列表对象中已弃用。从 v1.20 开始将不再返回该字段,而在 v1.21 中将完全删除该字段。见 (#80978@wojtek-t)。
    • 已弃用的云提供商 ovirtcloudstackphoton 已被删除。见 (#72178, @dims)。
    • CinderScaleIO volume驱动已被弃用并将在以后的版本中删除。见 (#80099, @dims)。
    • GA 版本中的 PodPriority 特性开关现在默认情况下处于打开状态,无法禁用。PodPriority 特性开关将在 v1.18 中删除。见 (#79262, @draveness)。
    • 聚合的发现请求现在允许超时。聚合的 API 服务器必须在 5 秒钟内完成发现调用(其他请求可能需要更长的时间)。如果需要的话,使用 EnableAggregatedDiscoveryTimeout=false 将行为暂时恢复到之前的 30 秒超时(临时 EnableAggregatedDiscoveryTimeout 特性开关将在 v1.17 中删除)。见 (#82146@deads2k)。
    • scheduler.alpha.kubernetes.io/critical-pod 注解将被删除。应该使用 Pod 优先级(spec.priorityClassName)来将 Pod 标记为关键。见 (#80342@draveness)。
    • 已从调度程序框架配置 API 中删除了 NormalizeScore 插件集合。仅使用 ScorePlugin。见 (#80930@liu-cong)。
  • 功能:

    • 现在,以下功能已成为 GA相关的特性开关已弃用并将在 v1.17 中删除:
      • GCERegionalPersistentDisk (从 1.15.0 开始)
      • CustomResourcePublishOpenAPI
      • CustomResourceSubresources
      • CustomResourceValidation
      • CustomResourceWebhookConversion
    • 功能参数 HugePagesVolumeSchedulingCustomPodDNSPodReadinessGates 已被删除。见 (#79307@draveness)。
  • hyperkube

  • kube-apiserver

    • --basic-auth-file 参数和身份验证模式已弃用,在以后的版本中将被删除。所以不建议在生产环境中使用。见 (#81152, @tedyu)。
    • --cloud-provider-gce-lb-src-cidrs 参数已被弃用。一旦从 kube-apiserver 中删除了 GCE 云提供商,该参数将被删除。见 (#81094, @andrewsykim)。
    • 从 v1.15 开始不推荐使用 --enable-logs-handler 参数和日志服务功能,并计划在 v1.19 中将其删除。见 (#77611, @rohitsardesai83)。
    • 弃用默认服务 IP CIDR。先前的默认值为 10.0.0.0/24将在 6 个月或者 2 个发行版中删除。集群管理员必须通过在 kube-apiserver 上使用 --service-cluster-ip-range 来指定自己的 IP 期望值。见 (#81668, @darshanime)。
  • kube-proxy

    • --resource-container 参数已从 kube-proxy 中删除,现在指定它会导致错误。现在的行为就好像你指定了 --resource-container=""。如果以前指定了非空 --resource-container,则从 kubernetes 1.16 开始,你将无法再这样做。见 (#78294@vllry)。
  • kube-scheduler

    • 调度程序开始使用 v1beta1 Event API。任何针对调度程序事件的工具都需要使用 v1beta1 事件 API。见 (#78447@yastij)。
  • kubeadm

    • 现在CoreDNS Deployment 通过 ready 插件检查准备情况。
    • proxy 插件已被弃用,可以使用 forward 插件。
    • kubernetes 插件删除了 resyncperiod 选项。
    • upstream 选项已被弃用,如果包含的话,则忽略。见 (#82127, @rajansandeep)。
  • kubectl

    • 从 v1.14 开始不推荐使用 kubectl convert,该参数将在 v1.17 中删除。
    • 从 v1.14 开始不推荐使用 kubectl get 命令的 --export,该参数将在 v1.18 中删除。
    • kubectl cp 不再支持从容器复制符号链接;要支持此用例,请参阅 kubectl exec --help 获取直接使用 tar 的示例。见 (#82143@soltysh)。
    • 删除不推荐使用的参数 --include-uninitialized。见 (#80337@draveness)。
  • kubelet

    • --containerized 参数在 v1.14 中已弃用,并且已被删除。见 (#80043@dims)。
    • 从 v1.14 开始不推荐使用 beta.kubernetes.io/osbeta.kubernetes.io/arch 标签,这些标签将在 v1.18 中删除。
    • 从 v1.15 开始不推荐使用 cAdvisor json 端点。见 (#78504@dashpole)。
    • 删除通过 --node-labels 设置 kubernetes.iok8s.io 前缀的标签的功能,除了明确允许的标签/前缀。见 (#79305@paivagustavo)。
  • client-go

    • 删除 DirectCodecFactory (替换为 serializer.WithoutConversionCodecFactory)、DirectEncoder (替换为 runtime.WithVersionEncoder) 和 DirectDecoder (替换为 runtime.WithoutVersionDecoder)。见 (#79263@draveness)。

指标Metrics变化

新增的指标

  • 添加了指标 aggregator_openapi_v2_regeneration_countaggregator_openapi_v2_regeneration_gaugeapiextension_openapi_v2_regeneration_count,用于计算(添加,更新,删除)触发 APIServic e和 CRD 以及 kube-apiserver 重新生成 OpenAPI 规范时的原因。见 (#81786@sttts)。
  • 添加了可用于了解身份验证尝试的指标 authentication_attempts。见 (#81509@RainbowMango)。
  • 添加了新的计数指标 apiserver_admission_webhook_rejection_count,该指标详细说明了引起 webhook 拒绝的原因。见 (#81399@roycaihw)。
  • 现在已启用 NFS 驱动程序来收集指标,StatFS 指标提供程序用于收集指标。见 (#75805@brahmaroutu)。
  • 添加了指标 container_socketscontainer_threadscontainer_threads_max。见 (#81972@dashpole)。
  • 在 kubelet running_container_count 指标上添加了 container_state 标签以根据容器的状态running/exited/created/unknown获得容器的数量。见 (#81573@irajdeep)。
  • 添加了指标 apiserver_watch_events_total,可用于了解系统中监视事件的数量。见 (#78732@mborsz)。
  • 添加了指标 apiserver_watch_events_sizes,可用于估计系统中监视事件的大小。见 (#80477@mborsz)。
  • 为 kube-proxy iptables-restore 失败ipvs 和 iptables 模式)添加了新的 Prometheus 计数器指标 sync_proxy_rules_iptables_restore_failures_total。见 (#81210@figo)。
  • 现在kubelet 提出指标 kubelet_evictions,该指标用于计算 kubelet 为回收资源而执行的驱逐 Pod 的次数。见 (#81377@sjenning)。

已删除的指标

  • 删除了 cadvisor 指标标签 pod_namecontainer_name 以符合仪器指南。任何与 pod_namecontainer_name 标签匹配的 Prometheus 查询(例如 cadvisor 或 kubelet 探针指标)都必须更新为使用 podcontainer 标签。见 (#80376, @ehashman)。

被弃用或者更改的指标

  • 现在kube-controller-manager 和 cloud-controller-manager 指标已被标记为 ALPHA 稳定性级别。见 (#81624@logicalhan)。
  • 现在kube-proxy 指标已被标记为 ALPHA 稳定性级别。见 (#81626@logicalhan)。
  • 现在kube-apiserver 指标已被标记为 ALPHA 稳定性级别。见 (#81531@logicalhan)。
  • /metrics 和 /metrics/probes 的 kubelet 指标已被标记为 ALPHA 稳定性级别。见 (#81534@logicalhan)。
  • Scheduler 指标已被标记为 ALPHA 稳定性级别。见 (#81576@logicalhan)。
  • 现在,apiserver_admission_webhook_admission_duration_seconds 指标中的 rejected 标签可以正确显示请求是否被拒绝。见 (#81399@roycaihw)。
  • 修复了 CSI 指标中的错误,即当 CSI 驱动程序不支持指标时,指标不会返回不支持的错误。见 (#79851@jparklab)。
  • 修复了使用 ZFS 存储池时 LXD 中的磁盘统计信息错误和 CRI-O 缺少网络指标的错误。见 (#81972@dashpole)。

重要功能

Beta 功能

  • 将 WatchBookmark 功能升级为 Beta 功能并默认启用它。 借助 WatchBookmark 功能,客户端可以请求具有 BOOKMARK 类型的监视事件。客户端不应该假定书签在任何特定的时间间隔内返回,也不能假定服务器将在会话期间发送任何 BOOKMARK 事件。见 (#79786@wojtek-t)。
  • 服务器端 apply 功能现在是 Beta 功能。见 (#81956@apelisse)。
  • 服务器端 apply 功能现在将使用 CRD 验证字段中提供的 openapi 来帮助弄清楚如何正确合并对象和更新所有权。见 (#77354@jennybuckley)。
  • 服务负载均衡器的 Finalizer 保护现在处于 Beta默认启用功能。该功能确保在删除相关的负载均衡器资源之前不会完全删除服务资源。见 (#81691@MrHohn)。
  • 将 Windows GMSA 支持从 Alpha 升级到 Beta。见 (#82110@wk8)。

Alpha 功能

  • 为 RuntimeClass 引入新的准入控制器。最初,如果指定了相应的 RuntimeClassName则将使用 RuntimeClass 与给定 RuntimeClass 关联的 Pod 开销应用于 Pod spec。从 Kubernetes 1.16 开始PodOverhead 是 Alpha 功能。见 (#78484, @egernst)。
  • 将 Pod 开销功能引入调度程序。从 Kubernetes v1.16 开始,此功能为 alpha 级别,并且只有启用 PodOverhead 特性开关的服务器才能使用该功能。见 (#78319@egernst)。
  • 临时容器已添加为 Alpha 功能。可以将这些临时容器添加到运行的 Pod 中,以进行调试之用,类似于 kubectl exec 如何在现有容器中运行进程。与 kubectl exec 一样kubernetes 不为临时容器预留资源,并且这些容器退出时不会被重新启动。请注意,尚未实现容器命名空间定位,因此必须启用进程命名空间共享才能从 Pod 中的其他容器查看进程。见 (#59484, @verb)。
  • 作为 Alpha 功能,添加了 Pod 分布约束Pod spread constraints。可以使用这些约束来控制 Pod 如何在故障域之间跨集群分布。见 (#77327#77760#77828#79062#80011#81068@Huang-Wei)

CLI 的改进

  • kube-controller-manager 中的新参数 --endpoint-updates-batch-period 可用于减少由 Pod 更改生成的端点更新的数量。见 (#80509@mborsz)。
  • kubectl get -w 现在带有 --output-watch-events 参数来显示事件类型(已添加、已修改、已删除)。见 (#72416, @liggitt)。
  • 启用发现 API 组时,添加对 kubectl 的端点切片支持。见 (#81795@robscott)。

其他杂项

  • --shutdown-delay-duration 添加到 kube-apiserver 中以延迟正常关闭。在这段时间内,/healthz 将继续返回成功,并且请求将正常处理,但是 /readyz 将立即返回失败。此延迟可用于允许 SDN 更新所有节点上的 iptables 并停止发送流量。见 (#74416@sttts)。 现在kubeadm 在升级 CoreDNS 时无差异地迁移 CoreDNS 配置。见 (#78033@rajansandeep)。
  • 添加端点切片控制器Endpoint Slice Controller用于管理新的 EndpointSlice 资源,默认情况下处于禁用状态。见 (#81048@robscott)。
  • 添加 \livez 用来检查 kube-apiserver 的活动状况。使用参数 --maximum-startup-sequence-duration 将使活动端点将启动序列故障推迟指定的持续时间。见 (#81969@logicalhan)。
  • 可将 EndpointSlice 集成添加到 kube-proxy此功能可通过 EndpointSlice 特性开关启用。
  • 增强 Azure 云提供程序代码用来支持 AAD 和 ADFS 身份验证。见 (#80841@rjaini)。
  • kubeadm实现对堆叠的 etcd 成员的并发添加或删除的支持。见 (#79677@neolit123)。
  • kubeadm支持任何 3.10 以上的 Linux 内核版本。见 (#81623@neolit123)。
  • 在默认的 GCE 存储类中启用了卷扩展。见 (#78672@msau42)。
  • kubeadm ClusterConfiguration 现在支持特性开关IPv6DualStacktrue。见 (#80145@Arvinderpal)。
  • 为了在 kubeadm 和 kubernetes 组件中启用双栈支持,作为 init config file 的一步,用户应在 ClusterConfiguration 中设置 IPv6DualStack=true。此外,对于每个工作节点,用户应使用 nodeRegistration.kubeletExtraArgsKUBELET_EXTRA_ARGS 设置 kubelet 的特性开关功能。见 (#80531, @Arvinderpal)。
  • 允许将控制器管理器配置为使用 IPv6 双协议栈: 使用 --cluster-cidr="<cidr1>,<cidr2>"。 注意:
    1. 仅使用前两个 CIDR对 Alpha 功能的软限制,稍后可能会取消)。
    2. 仅将 "RangeAllocator"(默认值)作为 --cidr-allocator-type 的值。云分配器与 IPv6 双协议栈不兼容。见 (#73977@khenidak)。
  • 添加对 RuntimeClasses 的调度支持。现在RuntimeClasses 可以指定 nodeSelector 约束和容忍度,并使用该 RuntimeClass 将约束和容忍合并到 PodSpec 中。见 (#80825@tallclair)。
  • 当使用 --cgroup-driver=systemd 指定 --(kube|system)-reserved-cgroup 时,现在可以使用完全限定的 cgroupfs 名称(即 /test-cgroup.slice)。见 (#78793@mattjmcnaughton)。

API 变更

  • MutatingWebhookConfigurationValidatingWebhookConfiguration API 已升级为 admissionregistration.k8s.io/v1
    • v1 的默认 failurePolicyIgnore 更改为 Fail
    • v1 的默认 matchPolicyExact 更改为 Equivalent
    • v1 的默认 timeout30s 更改为 10s
    • 删除了 sideEffects 默认值并且该字段为必填字段v1 仅允许使用 NoneNoneOnDryRun
    • 删除了 admissionReviewVersions 默认值,并为 v1 设置了必填字段AdmissionReview 支持的版本为 v1v1beta1
    • 对于通过 admissionregistration.k8s.io/v1 创建的 MutatingWebhookConfigurationValidatingWebhookConfiguration 对象,指定 Webhook 的 name 字段必须唯一
  • 发送到 admission webhook 和从 admission webhook 接收到的 AdmissionReview API 已升级为 admission.k8s.io/v1。Webhooks 可以指定使用 admissionReviewVersions: ["v1","v1beta1"] 接收 v1 AdmissionReview 对象的首选项,并且必须在发送它们的同一 apiVersion 中以 API 对象进行响应。当 Webhooks 使用 admission.k8s.io/v1 时,将对其响应执行以下附加验证:
    • response.patchresponse.patchType 不允许验证 admission webhooks
    • apiVersion: "admission.k8s.io/v1" 是必需的
    • kind: "AdmissionReview" 是必需的
    • response.uid: "<value of request.uid>" 是必需的
    • response.patchType: "JSONPatch" 是必需的(前提是设置了 response.patch)见 (#80231, @liggitt)。
  • 通过以下更改将 CustomResourceDefinition API 类型升级为 apiextensions.k8s.io/v1
    • 在验证模式中使用新的 default,该功能仅限于 v1
    • spec.scope 不再默认为 Namespaced,必须明确指定 spec.scope
    • v1 中删除了 spec.version;改用 spec.versions
    • v1 中删除了 spec.validation;改用 spec.versions[*].schema
    • v1 中删除了 spec.subresources;改用 spec.versions[*].subresources
    • v1 中删除了 spec.additionalPrinterColumns;改用 spec.versions[*].additionalPrinterColumns
    • 在 v1 中将 spec.conversion.webhookClientConfig 移至 spec.conversion.webhook.clientConfig
    • 在 v1 中将 spec.conversion.conversionReviewVersions 移至 spec.conversion.webhook.conversionReviewVersions
    • 现在,在创建 v1 CustomResourceDefinitions 时需要 spec.versions[*].schema.openAPIV3Schema
    • 创建 v1 CustomResourceDefinitions 时不允许使用 spec.preserveUnknownFields: true;必须在模式定义中将其指定为 x-kubernetes-preserve-unknown-fields: true
    • additionalPrinterColumns 项目中,将 JSONPath 字段在 v1 中重命名为 jsonPath,见 参考CustomResourceDefinitionapiextensions.k8s.io/v1beta1 版本已弃用,在 v1.19 中将不再提供。见 (#79604@liggitt)。
  • 发送到自定义资源 CustomResourceDefinition 转换 webhooks 和从中接收 ConversionReview 的 API 已升级为 apiextensions.k8s.io/v1。现在,通过在 CustomResourceDefinition 的 conversionReviewVersions 列表中包含 v1CustomResourceDefinition 转换 webhooks 可以表示它们支持 apiextensions.k8s.io/v1 版本中的 ConversionReview API 对象进行接收和响应。转换 webhooks 必须在收到的 apiVersion 中以 ConversionReview 对象作为响应。apiextensions.k8s.io/v1 ConversionReview 响应必须指定一个 response.uid 来匹配发送对象的 request.uid。见 (#81476@liggitt)。
  • 添加对 RuntimeClasses 的调度支持。现在RuntimeClasses 可以指定 nodeSelector 约束和容忍度,并使用该 RuntimeClass 将约束和容忍合并到 PodSpec 中。见 (#80825@tallclair)
  • 现在,即使云平台所报告的节点 IP 集合发生了变化kubelet 也应该能够更可靠地报告相同的主节点 IP。见 (#79391, @danwinship)。
  • 计算容器哈希值时会忽略 nil 或空字段,以避免哈希值更改。对于容器规范中默认值为非 nil 的新字段,哈希值仍会更改。见 (#57741@dixudx)。
  • 现在,apiextensions.v1beta1.CustomResourceDefinitionStatusapiextensions.v1.CustomResourceDefinitionStatus 中的 conditions 属性是可选的,而不是必需的。见 (#64996@roycaihw)。
  • 当 CustomResourceDefinition 条件的状态更改时,现在将更新其对应的 lastTransitionTime。见 (#69655@CaoShuFeng)。

其他值得注意的变更

API Machinery

  • pkg/api/ref 中删除 GetReference()GetPartialReference() 函数,因为在 staging/src/k8s.io/client-go/tools/ref 中也存在相同的函数。见 (#80361@wojtek-t)。
  • 验证是否修改了 OpenAPI 规范中的 CRD 默认值,但 metadata 下的值除外。见 (#78829@sttts)。
  • 修复了一个 bug即当出现 “connection refused” 错误时,反射器的 ListAndWatch 函数将直接返回,但预期的是睡眠 1 秒钟并从指定的 resourceVersion 重新开始监视。见 (#81634@likakuli)。
  • 解决了由非 2xx HTTP 响应对 / 请求的服务支持的聚合 API 的问题。见 (#79895@deads2k)。
  • CRD 处理程序现在可以正确地重新创建过时的 CR 存储,以反映 CRD 更新。见 (#79114@roycaihw)。
  • 修复 CVE-2019-11247API 服务器允许通过错误的范围访问自定义资源。见 (#80750@sttts)。
  • 修复了带有 io.k8s.apimachinery.pkg.runtime.RawExtension 的 openAPI 定义的错误,该错误以前需要指定字段 raw。见 (#80773, @jennybuckley)。
  • 现在,apiextensions.v1beta1.CustomResourceDefinitionStatusapiextensions.v1.CustomResourceDefinitionStatus 中的 conditions 属性是可选的,而不是必需的。见 (#64996@roycaihw)。
  • 解决服务器启动期间对自定义资源请求的瞬态 404 响应。见 (#81244@liggitt)。
  • OpenAPI 现在可以为自定义资源公布其正确支持的补丁程序类型。见 (#81515@liggitt)。
  • 当 CRD 条件的状态改变时,现在将更新其对应的 lastTransitionTime。见 (#69655@CaoShuFeng)。
  • metadata.generation=1 添加到旧的 CustomResources 中。见 (#82005@sttts)。
  • 修复了 apiserver 中的一个错误,该错误可能导致有效的更新请求因前提条件检查失败而被拒绝。见 (#82303@roycaihw)。
  • 修复了后端关闭代理连接时记录虚假堆栈跟踪的回归问题。见 (#82588@liggitt)。
  • RateLimiter 添加了 context-aware 方法,修复了异步超时场景中的 client-go 请求 goruntine backlog 问题。见 (#79375@answer1991)。
  • 改进自定义资源的验证错误。(#81212@liggitt)。
  • 在创建时填充准入属性的对象名称。见 (#53185@dixudx)。
  • 作为 Pod Overhead KEP 的一部分,将 Overhead 字段添加到 PodSpec 和 RuntimeClass 类型中。见 (#76968@egernst)。

Apps

  • 修复了守护程序控制器daemon controller无法从不匹配的节点删除 Pod 的错误。见 (#78974@DaiHao)。
  • 修复了当存在失败的 Pod 时导致 DaemonSet 滚动更新挂起的错误。见 (#78170@DaiHao)。

验证码Auth

  • 服务帐户令牌现在在其头部header中包含 JWT 密钥 ID 字段。见 (#78502@ahmedtd)。
  • 如果 nbf不早于声明在 ID 令牌中存在,则现在强制执行。见 (#81413@anderseknert)。

CLI命令行界面

  • 修复 CVE-2019-11249CVE-2019-1002101 和 CVE-2019-11246 的修补程序不完整kubectl cp 可能遍历目录。见 (#80436@M00nF1sh)。
  • 使用覆盖参数修复 bash 自动完成错误。见 (#80802@dtaniwaki)。
  • 修复了源代码 printers 函数中可能导致 kube-apiserver 崩溃的错误。见 (#79349@roycaihw)。
  • 当 kubectl cp 操作复制一个文件时,修复无效的 "time stamp is the future" 错误。见 (#73982@tanshanshan)。
  • 修复了 kubectl set config 挂起并在某些无效的属性名称上使用 100 CPU 的错误。见 (#79000@pswica)。
  • 监视某个资源时修复 kubectl get --watch-only 输出内容。见 (#79345@liggitt)。
  • 遇到错误时,确保 kubectl get --ignore-not-found 操作继续进行。见 (#82120@soltysh)。
  • 在文档中更正对不再使用的 kustomize 子命令的引用。见 (#82535@demobox)。
  • 在 kubectl 中添加 PodOverhead 预知。见 (#81929@egernst)。

云提供商

  • 由 Azure 标准负载均衡器支持的 k8s 集群中创建负载均衡器类型服务时,在 Azure 标准负载均衡器中添加的相应负载均衡器规则现在会将 “EnableTcpReset” 属性设置为 true。见 (#80624@xuto2)。
  • 在关联或者摘除的磁盘操作中现使用 VM Update 调用,原来的 CreateOrUpdate 调用可能导致孤立的 VM 或资源阻塞。见 (#81208@andyzhangx)。
  • 修复了由于区分大小写而导致的 Azure 磁盘命名匹配问题。见 (#81720@andyzhangx)。
  • 修复了在 Azure 上删除节点时的重试问题。见 (#80419@feiskyer)。
  • 当其他 Azure 操作取消请求时,修复冲突的缓存问题。见 (#81282@feiskyer)。
  • 修复了使 Azure 磁盘 URI 不区分大小写的问题。见 (#79020@andyzhangx)。
  • 修复了 VMSS 负载均衡器后端池问题,以便在实例升级到最新模型时不会断开网络。见 (#81411@nilo19)。
  • 当注解 azure-load-balancer-resource-group 的值为空字符串时,应使用默认 resourceGroup。见 (#79514@feiskyer)。
  • 如果现在没有配置 subscriptionId则可以在没有 Azure 身份的情况下运行 kubelet。 一个云提供商配置示例为:'{"vmType": "vmss", "useInstanceMetadata": true}'。见 (#81500@feiskyer)。
  • 修复 VMSS 节点未找到公共 IP 的问题。见 (#80703@feiskyer)。
  • 修复 Azure 客户端请求在 http.StatusTooManyRequestsHTTP 代码 429上卡住的问题。(#81279@feiskyer)。
  • 添加服务注解 service.beta.kubernetes.io/azure-pip-name,用于指定 Azure 负载均衡器的公共 IP 名称。见 (#81213@nilo19)。
  • 在可能的情况下,通过查询实例 ID 而不是 EC2 过滤器来优化 AWS 云提供商库中的 EC2 DescribeInstances API 调用。见 (#78140@zhan849)。
  • 创建注解 service.beta.kubernetes.io/aws-load-balancer-eip-allocations,用于将 AWS EIP 分配给新创建的 Network Load Balancer其中分配数量和子网必须匹配。见 (#69263@brooksgarrett)。
  • 添加 Azure 云配置 LoadBalancerNameLoadBalancerResourceGroup,用于允许对 Azure 负载均衡器进行相应的自定义。见 (#81054@nilo19)。

集群生命周期

  • 修复 kubeadm upgrade diff 命令中的错误处理和潜在的空指针异常。见 (#80648@odinuge)。
  • kubeadm在某些 HTTP 错误的情况下回退到客户端版本。见 (#80024@RainbowMango)。
  • kubeadm修复了因 kubeadm 发现无效的、现有的 kubeconfig 文件而可能引起的崩溃问题。见 (#79165@neolit123)。
  • kubeadm重置时将非严重错误视为警告。见 (#80862@drpaneas)。
  • kubeadm通过使用非 root 用户防止 PSP 阻止升级镜像提前拉取操作。见 (#77792@neolit123)。
  • kubeadm修复了使用文件发现时未预加载 “certificate-authority” 文件的问题。见 (#80966@neolit123)。
  • 添加设置 “应用程序默认凭证” 说明,用于在本地运行 GCE Windows e2e 测试。见 (#81337@YangLu1031)。
  • 当使用具有嵌入式凭据的发现文件时,修复 kubeadm join --discovery-file 操作中的错误。见 (#80675@fabriziopandini)。
  • 修复在 kubeadm 重置期间从集群中删除 etcd 成员问题。见 (#79326@bradbeam)。
  • kubeadm生成的 CSR 文件的权限从 0644 更改为 0600。见 (#81217@SataQiu)。
  • kubeadm升级提前拉取 DaemonSet 时,避免两次删除操作。见 (#80798@xlgao-zju)。
  • kubeadm在阶段命令 kubeadm init phase certs 操作中引入确定性顺序用于生成证书。见 (#78556@neolit123)。
  • kubeadm加入节点时针对某些 ConfigMap 失败实施重试逻辑操作。见 (#78915@ereslibre)。
  • kubeadm使用 etcd 的 /health 端点进行本地主机上的 HTTP 活跃探针操作,而不是使用 etcdctl 进行自定义健康检查。见 (#81385@neolit123)。
  • kubeadm reset仅在 Linux /var/lib/kubelet 下卸载目录。见 (#81494@Klaven)。
  • kubeadm修复 --cri-socket 参数不适用于 kubeadm reset 操作的错误。见 (#79498@SataQiu)。
  • kubeadm如果在重置控制平面节点的集群状态时发生错误则会产生错误。见 (#80573@bart0sh)。
  • 修复了在使用外部 etcd 时将 etcd 证书与 kubeadm 用于本地 etcd 证书的名称存储在同一文件夹中的错误;对于较旧版本的 kubeadm解决方法是避免 kubeadm 用于本地 etcd 的文件名。见 (#80867@fabriziopandini)。
  • 如果基于文件的发现时间过长,则 kubeadm join 操作会失败,默认超时为 5 分钟。见 (#80804@olivierlemasle)。
  • kubeadm修复了拉取控制平面镜像时忽略错误的问题。见 (#80529@bart0sh)。
  • 修复了 kube-addon-manager 的领导者选举逻辑中的一个错误,该错误使所有副本均处于活跃状态。见 (#80575@mborsz)。
  • kubeadm如果用户希望修改某些 kubelet 安全配置参数,则可以防止它们被覆盖。见 (#81903@jfbai)。
  • kubeadm 在其启动前检查中不再执行 IPVS 检查。见 (#81791@yastij)。
  • kubeadm修复 IPv6 地址的 HTTPProxy 检查问题。见 (#82267@kad)。
  • kubeadm允许用户在初始化过程中跳过 kube-proxy 初始化插件阶段,但是仍然可以加入集群并执行其他一些次要操作(不能升级)。见 (#82248@rosti)。
  • 将主机上的 /home/kubernetes/bin/nvidia/vulkan/icd.d 挂载到请求 GPU 的容器内的 /etc/vulkan/icd.d。见 (#78868@chardch)。
  • kubeadm使用 --pod-network-cidr 参数初始化或使用 kubeadm 配置中的 podSubnet 字段传递以逗号分隔的 Pod CIDR 列表。见 (#79033@Arvinderpal)。
  • kubeadmcontrolPlaneEndpoint 提供 --control-plane-endpoint 参数。见 (#79270@SataQiu)。
  • kubeadm为 kube-scheduler 启用安全服务。见 (#80951@neolit123)。
  • kubeadm打印 klog 级别 --v> = 5 的错误的堆栈跟踪信息。见 (#80937@neolit123)。
  • --kubernetes-version 添加到 kubeadm init phase certs cakubeadm init phase kubeconfig 中。见 (#80115@gyuho)。
  • kubeadm支持从原始集群中获取配置信息以进行 upgrade diff 操作。见 (#80025@SataQiu)。
  • 当使用一致性测试镜像时,新的环境变量 E2E_USE_GO_RUNNER 将使测试使用基于 golang 的新测试运行程序而不是当前的 bash 包装程序运行。见 (#79284@johnSchnake)。
  • 实施一项新功能,该功能允许将 kustomize 修补程序应用于 kubeadm 生成的静态 pod 清单。见 (#80905@fabriziopandini)。
  • GCE Ingress 负载均衡器的 404 请求处理程序现在可以支持导出 Prometheus 指标,包括:

    • http_404_request_total (已处理的 404 请求数目)
    • http_404_request_duration_ms (服务器响应所花费的时间(以毫秒为单位))

    还包括百分位数分组。默认 404 处理程序的目录包括有关如何启用 Prometheus 来监视和设置警报的说明。见 (#79106@vbannai)。

监控设施

  • Kibana 已在最新版本中进行了稍微的修改或改进。见 (#80421@lostick)。

网络

  • 修复了 IPVS 正常终止操作中不删除 UDP 真实服务器的字符串比较错误。见 (#78999@andrewsykim)。
  • 如果清除成功,kube-proxy --cleanup will 返回正确的退出代码。见 (#78775@johscheuer)。
  • 修复了 IPVS 代理中的一个错误,该错误是即使删除了相应的 Service 对象,也无法清理虚拟服务器。见 (#80942@gongguan)。
  • kube-proxy 等待一段时间用来定义节点。见 (#77167@paulsubrata55)。
  • 将体面终止的日志级别增加到 v=5。见 (#80100@andrewsykim)。
  • 当存在大量 nodePort 服务时,减少 IPVS 模式下的 kube-proxy CPU 使用率。见 (#79444@cezarsa)。
  • 修复了针对 SCTP nodePort 服务的 kube-proxy 问题,该服务仅适用于节点的 InternalIP但不适用于启用 ipvs 时节点中存在的其他 IP。见 (#81477@paulsubrata55)。
  • 确保 KUBE-MARK-DROP 链处于 kube-proxy IPVS 模式。在双栈操作中为 IPv4 和 IPv6 均确保该链。见 (#82214@uablrek)。
  • 在 Alpha 功能中引入 node.kubernetes.io/exclude-balancernode.kubernetes.io/exclude-disruption 标签,用于防止集群部署者依赖于并非所有集群都可以提供的可选 node-role 标签。见 (#80238@smarterclayton)。
  • 如果 targetPort 更改,则将由服务控制器处理 targetPort。见 (#77712@Sn0rt)。

节点

  • 禁用相关功能开关时,删除 PID cgroup 控制器要求。见 (#79073@rafatio)。
  • 修复 kubelet 节点租赁潜在的性能问题。kubelet 现在将尝试使用缓存的租约来更新租约,而不是每次都从 API Server 获取租约。见 (#81174@answer1991)。
  • 现在,在 --cpu-manager-policy 参数中传递无效的策略名称将导致 kubelet 失败,而不是简单地忽略该参数并运行 cpumanager 的默认策略。见 (#80294@klueska)。
  • 根据 kubelet 中的节点状态更新频率使节点租约更新间隔更具启发性。见 (#80173@gaorong)。
  • 现在,即使云提供商报告中的节点 IP 集合发生了变化kubelet 也应该更可靠地报告相同的主节点 IP。见 (#79391)、(@danwinship)。
  • 计算容器哈希值时请忽略 nil 或空字段,以避免哈希值更改。对于容器规范中默认值为非 nil 的新字段,哈希值仍会更改。见 (#57741@dixudx)。
  • 修复了当 Pod 的重启策略设置为 Never 时kubelet 不会重试 Pod 沙盒创建的问题。见 (#79451@yujuhong)。
  • 限制执行 readiness 或 liveness 探测的主体长度。远程 CRI 和 Docker Shim 读取的最大输出为 16 MB而执行探针本身将检查 10kb 的输出。见 (#82514@dims)。
  • 单个静态 Pod 文件和来自 http 端点的 Pod 文件不能大于 10 MB。HTTP 探针负载现在被截断为 10 KB。见 (#82669@rphillips)。
  • 如果启用了 PodOverhead 功能,则将引入了 Pod 开销应用于 Pod cgroup 的支持。见 (#79247@egernst)。
  • 在 GCI 上使用 Node-Problem-Detector v0.7.1。见 (#80726@wangzhen127)。
  • Node-Problem-Detector v0.7.1 用于插件 daemonset。见 (#82140@wangzhen127)。
  • 启用 cAdvisor ProcessMetrics 指标收集。见 (#79002@jiayingz)。
  • kubeletnode-lease-renew-interval 更改为 0.25 的续租期限。见 (#80429@gaorong)。
  • 如果 --cloud-provider=external 并且不存在节点地址,则尝试设置 kubelet 的主机名和内部 IP。见 (#75229@andrewsykim)。

调度

  • 当 Scheduler 丢失领导者锁时Scheduler 应终止。见 (#81306@ravisantoshgudimetla)。
  • 如果 scheduler 扩展程序过滤了一个未找到的节点,则此 Pod 的当前调度回合将被跳过。见 (#79641@yqwang-ms)。
  • Extender 绑定应该匹配 IsInterested。见 (#79804@yqwang-ms)。
  • 解决了 PodTolerationRestriction admission controller准入控制器中的容忍合并和白名单检查问题。见 (#81732@tallclair)。
  • 添加一个工具函数来解码 scheduler 插件参数。见 (#80696@hex108)。
  • 修复抢占期间未调用过滤器插件。见 (#81876@wgliang)。
  • 修复了以下问题:定义了多个 PluginConfig 项时,正确的 PluginConfig.Args 没有传递到 kube-scheduler 中的相应 PluginFactory。见 (#82483@everpeace)。
  • 将上下文作为 Scheduler 的第一个参数。见 (#82119@wgliang)。
  • 在规范化评分阶段,使用命名数组而不是分数数组。见 (#80901@draveness)。
  • 更新 requestedToCapacityRatioArguments 用于添加资源参数,该参数允许用户指定资源名称以及每种资源的权重,基于请求与容量之比为节点评分。见 (#77688@sudeshsh)。
  • 为调度框架添加 UnschedulableAndUnresolvable 状态码。见 (#82034@alculquicondor)。
  • 为调度框架添加标准化插件扩展点。见 (#80383@liu-cong)。
  • 将绑定扩展点添加到调度框架。见 (#79313@chenchun)。
  • 将 Score 扩展点添加到调度框架。见 (#79109@ahg-g)。
  • 将预过滤器扩展点添加到调度框架。见 (#78005@ahg-g)。
  • 添加对列出树形自定义调度程序插件的支持。见 (#78162@hex108)。

存储

  • 修复 doSafeMakeDir 中可能的文件描述符泄漏和目录关闭。见 (#79534@odinuge)。
  • 如果共享类型的 Azure 磁盘不包含 skunamestorageaccounttype,它们将不再失败。见 (#80837@rmweir)。
  • 修复了 CSI 插件支持不需要附加安装的原始块失败的问题。见 (#79920@cwdsuzhou)。
  • 将 GCE PD 节点附加限制减 1因为节点启动磁盘被视为可附加磁盘。见 (#80923@davidz627)。
  • 删除日志中的 iSCSI 卷存储明文密钥。见 (https://github.com/kubernetes/kubernetes/pull/81215)、@zouyee)。
  • 修复了对使用嵌入式卷源创建的 VolumeAttachment API 对象的验证。见 (#80945@tedyu)。
  • 将 csi 插件中的超时值从 15 s 更改为 2 min从而解决了超时问题。见 (#79529@andyzhangx)。
  • 修复 kubelet 的 Pod 目录(默认为 /var/lib/kubelet/pods象征性地链接到另一个磁盘设备的目录时kubelet 无法删除孤立的 pod 目录的问题。见 (#79094@gaorong)。

测试

  • 修正 Pod 列表返回值为 framework.WaitForPodsWithLabelRunningReady。见 (#78687@pohly)。
  • TerminationGracePeriodSeconds 添加到测试框架 API 中。见 (#82170@vivekbagade)。
  • /test/e2e/framework:添加一个参数 non-blocking-taints,该参数允许测试在带有污染节点的环境中运行。字符串的值应为逗号分隔的列表。见 (#81043@johnSchnake)。
  • 将 CSI 卷扩展移动到 Beta 功能。见 (#81467@bertinatto)。
  • 添加了验证 WindowsOptions.RunAsUserName 的 E2E 测试。见 (#79539@bclau)。
  • framework.ExpectNoError 不再记录错误,而是依靠使用新的 log.Fail 作为 Gomega 故障处理程序。见 (#80253@pohly)。

Windows

  • 在 Windows 系统上,如果 %HOMEDRIVE%\%HOMEPATH% 不包含 .kube\config 文件并且 %USERPROFILE% 存在且可写,那么 %USERPROFILE% 现在比 %HOMEDRIVE%\%HOMEPATH% 更适合作为主文件夹。见 (#73923@liggitt)。
  • 在 Windows 上添加对 AWS EBS 的支持。见 (#79552@wongma7)。
  • 在 Windows 节点上支持 kubelet 插件监视程序。见 (#81397@ddebroy)。

相关依赖

变更

  • 默认的 Go 版本已更新至 v1.12.9。见 (#78958#79966#81390#81489)。
  • etcd 已更新至 v3.3.15。见 (#82199@dims)。
  • 适用于 kubeadm 和 kube-up 的 CoreDNS 已更新至 v1.6.2。见 (#82127)。
  • 集群自动扩缩已更新至 v1.16.0。见 (#82501@losipiuk)。
  • fluentd 已更新至 v1.5.1。见 (#79014)。
  • fluentd-elasticsearch 插件已更新至 v3.5.3。见 (#79014)。
  • elasticsearch 已更新至 v7.1.1。见 (#79014)。
  • kibana 已更新至 v7.1.1。见 (#79014)。
  • Azure SDK 和 go-autorest API 版本已更新。见 (#79574)。
  • Azure API 版本已更新(容器 registry 到 2018-09-01网络到 2018-08-01。见 (#79583)。
  • kube-addon-manager 已更新至 v9.0.2。见 (#80861)。
  • golang/x/net 已更新,引入针对 CVE-2019-9512、CVE-2019-9514 的修复程序。见 (#81394)。
  • GCE windows 节点镜像已更新。见 (#81106)。
  • portworx 插件已在 libopenstorage/openstorage 上更新为 v1.0.0。见 (#80495)。
  • metrics-server 已更新至 v0.3.4。见 (#82322@olagacek)。
  • klog 已更新至 v0.4.0。见 (#81164)。

不变

  • 经过验证的 Docker 版本列表保持不变。
    • 当前列表是 1.13.1、17.03、17.06、17.09、18.06、8.09。见 (#72823#72831)。
  • CNI 保持在 v0.7.5 不变。见 (#75455)。
  • cri-tools 保持在 v1.14.0 不变。见 (#75658)。
  • CAdvisor 保持在 v0.33.2 不变。见 (#76291)。
  • event-exporter 保持在 v0.2.5 不变。见 (#77815)。
  • ip-masq-agent 保持在 v2.4.1 不变。见 (#77844)。
  • k8s-dns-node-cache 保持在 v1.15.1 不变。见 (#76640@george-angel)。
  • CSI 保持在 v1.1.0 不变。见 (#75391)。
  • dashboard 插件保持在 v1.10.1 不变。见 (#72495)。
  • 从 Kubernetes 1.12 开始kube-dns 保持在 v1.14.13 不变。见 (#68900)。
  • 从 Kubernetes 1.10 开始Influxdb 保持在 v1.3.3 不变。见 (#53319)。
  • 从 Kubernetes 1.10 开始Grafana 保持在 v4.4.3 不变。见 (#53319)。
  • fluentd-elasticsearch 中的 fluent-plugin-kubernetes_metadata_filter 插件保持在 v2.1.6 不变。见 (#71180)。
  • 从 Kubernetes 1.13 开始fluentd-gcp 保持在 v3.2.0 不变。见 (#70954)。
  • 从 Kubernetes 1.10 开始OIDC 身份验证保持在 coreos/go-oidc v2 不变。见 (#58544)。
  • 从 Kubernetes 1.13 开始Calico 保持在 v3.3.1 不变。见 (#70932)。
  • 从 Kubernetes 1.12 开始GLBC 保持在 v1.2.3 不变。见 (#66793)。
  • 从 Kubernetes 1.12 开始Ingress-gce 保持在 v1.2.3 不变。见 (#66793)。

删除

  • 删除不推荐使用的 github.com/kardianos/osext 依赖项。见 (#80142)。

详细的 go 依赖项变更

添加的依赖项

  • github.com/Azure/go-autorest/autorest/adal: v0.5.0
  • github.com/Azure/go-autorest/autorest/date: v0.1.0
  • github.com/Azure/go-autorest/autorest/mocks: v0.2.0
  • github.com/Azure/go-autorest/autorest/to: v0.2.0
  • github.com/Azure/go-autorest/autorest/validation: v0.1.0
  • github.com/Azure/go-autorest/autorest: v0.9.0
  • github.com/Azure/go-autorest/logger: v0.1.0
  • github.com/Azure/go-autorest/tracing: v0.5.0
  • github.com/armon/consul-api: eb2c6b5
  • github.com/bifurcation/mint: 93c51c6
  • github.com/caddyserver/caddy: v1.0.3
  • github.com/cenkalti/backoff: v2.1.1+incompatible
  • github.com/checkpoint-restore/go-criu: bdb7599
  • github.com/cheekybits/genny: 9127e81
  • github.com/coredns/corefile-migration: v1.0.2
  • github.com/coreos/go-etcd: v2.0.0+incompatible
  • github.com/dustin/go-humanize: v1.0.0
  • github.com/fatih/color: v1.6.0
  • github.com/flynn/go-shlex: 3f9db97
  • github.com/go-acme/lego: v2.5.0+incompatible
  • github.com/go-bindata/go-bindata: v3.1.1+incompatible
  • github.com/go-logr/logr: v0.1.0
  • github.com/google/martian: v2.1.0+incompatible
  • github.com/google/pprof: 3ea8567
  • github.com/google/renameio: v0.1.0
  • github.com/googleapis/gax-go/v2: v2.0.4
  • github.com/hashicorp/go-syslog: v1.0.0
  • github.com/jimstudt/http-authentication: 3eca13d
  • github.com/kisielk/errcheck: v1.2.0
  • github.com/kisielk/gotool: v1.0.0
  • github.com/klauspost/cpuid: v1.2.0
  • github.com/kr/pty: v1.1.5
  • github.com/kylelemons/godebug: d65d576
  • github.com/lucas-clemente/aes12: cd47fb3
  • github.com/lucas-clemente/quic-clients: v0.1.0
  • github.com/lucas-clemente/quic-go-certificates: d2f8652
  • github.com/lucas-clemente/quic-go: v0.10.2
  • github.com/marten-seemann/qtls: v0.2.3
  • github.com/mattn/go-colorable: v0.0.9
  • github.com/mattn/go-isatty: v0.0.3
  • github.com/mholt/certmagic: 6a42ef9
  • github.com/mitchellh/go-homedir: v1.1.0
  • github.com/naoina/go-stringutil: v0.1.0
  • github.com/naoina/toml: v0.1.1
  • github.com/rogpeppe/go-internal: v1.3.0
  • github.com/thecodeteam/goscaleio: v0.1.0
  • github.com/ugorji/go/codec: d75b2dc
  • github.com/xordataexchange/crypt: b2862e3
  • go.opencensus.io: v0.21.0
  • golang.org/x/mod: 4bf6d31
  • gopkg.in/airbrake/gobrake.v2: v2.0.9
  • gopkg.in/errgo.v2: v2.1.0
  • gopkg.in/gemnasium/logrus-airbrake-hook.v2: v2.1.2
  • gopkg.in/mcuadros/go-syslog.v2: v2.2.1
  • gotest.tools/gotestsum: v0.3.5
  • honnef.co/go/tools: v0.0.1-2019.2.2

变更了的依赖项

删除的依赖项

v1.16.0-rc.2

文档

下载 v1.16.0-rc.2

文件名 sha512 hash
kubernetes.tar.gz 68837f83bcf380e22b50f145fb64404584e96e5714a6c0cbc1ba76e290dc267f6b53194e2b51f19c1145ae7c3e5874124d35ff430cda15f67b0f9c954803389c
kubernetes-src.tar.gz 922552ed60d425fa6d126ffb34db6a7f123e1b9104e751edaed57b4992826620383446e6cf4f8a9fd55aac72f95a69b45e53274a41aaa838c2c2ae15ff4ddad2

客户端可执行文件

文件名 sha512 hash
kubernetes-client-darwin-386.tar.gz d0df8f57f4d9c2822badc507345f82f87d0e8e49c79ca907a0e4e4dd634db964b84572f88b8ae7eaf50a20965378d464e0d1e7f588e84e926edfb741b859e7d2
kubernetes-client-darwin-amd64.tar.gz 0bc7daaf1165189b57dcdbe59f402731830b6f4db53b853350056822602579d52fe43ce5ac6b7d4b6d89d81036ae94eab6b7167e78011a96792acfbf6892fa39
kubernetes-client-linux-386.tar.gz 7735c607bb99b47924140a6a3e794912b2b97b6b54024af1de5db6765b8cc518cba6b145c25dc67c8d8f827805d9a61f676b4ae67b8ef86cfda2fe76de822c6a
kubernetes-client-linux-amd64.tar.gz d35f70cea4780a80c24588bc760c38c138d73e5f80f9fe89d952075c24cbf179dd504c2bd7ddb1756c2632ffbcc69a334684710a2d702443043998f66bec4a25
kubernetes-client-linux-arm.tar.gz e1fc50b6884c42e92649a231db60e35d4e13e58728e4af7f6eca8b0baa719108cdd960db1f1dbd623085610dbccf7f17df733de1faf10ebf6cd1977ecd7f6213
kubernetes-client-linux-arm64.tar.gz defc25fe403c20ef322b2149be28a5b44c28c7284f11bcf193a07d7f45110ce2bd6227d3a4aa48859aaeb67796809962785651ca9f76121fb9534366b40c4b7d
kubernetes-client-linux-ppc64le.tar.gz e87b16c948d09ddbc5d6e3fab05ad3c5a58aa7836d4f42c59edab640465531869c92ecdfa2845ec3eecd95b8ccba3dafdd9337f4c313763c6e5105b8740f2dca
kubernetes-client-linux-s390x.tar.gz 2c25a1860fa81cea05a1840d6a200a3a794cc50cfe45a4efec57d7122208b1354e86f698437bbe5c915d6fb70ef9525f844edc0fa63387ab8c1586a6b22008a5
kubernetes-client-windows-386.tar.gz 267654a7ecfa37c800c1c94ea78343f5466783881cfac62091cfbd8c62489f04bd74a7a39a08253cb51d7ba52c207f56da371f992f61c1468b595c094f0e080f
kubernetes-client-windows-amd64.tar.gz bd4c25b80e54f9fc0c07f64550d020878f899e4e3a28ca57dd532fdbab9ab700d296d2890185591ac27bce6fde336ab90f3102a6797e174d233db76f24f5ac1b

服务器端可执行文件

文件名 sha512 hash
kubernetes-server-linux-amd64.tar.gz 13a93bb9bd5599b669af7bd25537ee81cefd6d8c73bedfbac845703c01950c70b2aa39f94f2346d935bc167bae435dbcd6e1758341b634102265657e1b1c1259
kubernetes-server-linux-arm.tar.gz 781d127f32d8479bc21beed855ec73e383702e6e982854138adce8edb0ee4d1d4b0c6e723532bc761689d17512c18b1945d05b0e4adb3fe4b98428cce40d52c8
kubernetes-server-linux-arm64.tar.gz 6d6dfa49288e4a4ce77ca4f7e83a51c78a2b1844dd95df10cb12fff5a104e750d8e4e117b631448e066487c4c71648e822c87ed83a213f17f27f8c7ecb328ca4
kubernetes-server-linux-ppc64le.tar.gz 97804d87ea984167fdbdedcfb38380bd98bb2ef150c1a631c6822905ce5270931a907226d5ddefc8d98d5326610daa79a08964fc4d7e8b438832beb966efd214
kubernetes-server-linux-s390x.tar.gz d45bd651c7f4b6e62ceb661c2ec70afca06a8d1fde1e50bb7783d05401c37823cf21b9f0d3ac87e6b91eeec9d03fc539c3713fd46beff6207e8ebac1bf9d1dd5

节点可执行文件

文件名 sha512 hash
kubernetes-node-linux-amd64.tar.gz 42c57b59ce43f8961e427d622ee9cfa85cc23468779945262d59aa8cd31afd495c7abaaef7263b9db60ec939ba5e9898ebc3281e8ec81298237123ce4739cbff
kubernetes-node-linux-arm.tar.gz 034a5611909df462ef6408f5ba5ff5ebfb4e1178b2ad06a59097560040c4fcdb163faec48ab4297ca6c21282d7b146f9a5eebd3f2573f7d6d7189d6d29f2cf34
kubernetes-node-linux-arm64.tar.gz df1493fa2d67b59eaf02096889223bbf0d71797652d3cbd89e8a3106ff6012ea17d25daaa4baf9f26c2e061afb4b69e3e6814ba66e9c4744f04230c922fbc251
kubernetes-node-linux-ppc64le.tar.gz 812a5057bbf832c93f741cc39d04fc0087e36b81b6b123ec5ef02465f7ab145c5152cfc1f7c76032240695c7d7ab71ddb9a2a4f5e1f1a2abb63f32afa3fb6c7c
kubernetes-node-linux-s390x.tar.gz 2a58a4b201631789d4309ddc665829aedcc05ec4fe6ad6e4d965ef3283a381b8a4980b4b728cfe9a38368dac49921f61ac6938f0208b671afd2327f2013db22a
kubernetes-node-windows-amd64.tar.gz 7fb09e7667715f539766398fc1bbbc4bf17c64913ca09d4e3535dfc4d1ba2bf6f1a3fcc6d81dbf473ba3f10fd29c537ce5debc17268698048ce7b378802a6c46

自 v1.16.0-rc.1 起的变更日志

其他值得注意的变化

  • 单个静态 pod 文件和来自 http 端点的 pod 文件不能大于 10 MB。HTTP 探针负载现在被截断为 10 KB。见 (#82669@rphillips)。
  • 通过不发布非结构化自定义资源定义的 OpenAPI恢复与小于等于 v1.15.x 自定义资源的兼容性。见 (#82653@liggitt)。
  • 修复了后端关闭代理连接时记录虚假堆栈跟踪的回归问题。见 (#82588@liggitt)。

v1.16.0-rc.1

文档

下载 v1.16.0-rc.1

文件名 sha512 hash
kubernetes.tar.gz 2feadb470a8b0d498dff2c122d792109bc48e24bfc7f49b4b2b40a268061c83d9541cbcf902f2b992d6675e38d69ccdded9435ac488e041ff73d0c2dc518a5a9
kubernetes-src.tar.gz 6d8877e735e041c989c0fca9dd9e57e5960299e74f66f69907b5e1265419c69ed3006c0161e0ced63073e28073355a5627154cf5db53b296b4a209b006b45db0

客户端可执行文件

文件名 sha512 hash
kubernetes-client-darwin-386.tar.gz 27bbfcb709854a9625dbb22c357492c1818bc1986b94e8cf727c046d596c4f1fe385df5b2ce61baaf95b066d584a8c04190215eaf979e12707c6449766e84810
kubernetes-client-darwin-amd64.tar.gz 9c2ea22e188282356cd532801cb94d799bde5a5716f037b81e7f83273f699bf80776b253830e3a4e1a72c420f0c0b84e28ae043c9d28a49e9455e6b1449a353c
kubernetes-client-linux-386.tar.gz bbba78b8f972d0c247ed11e88010fc934a694efce8d2605635902b4a22f5ecc7e710f640bcefbba97ef28f6db68b9d8fb9e6a4a099603493c1ddcc5fd50c0d17
kubernetes-client-linux-amd64.tar.gz f2f04dc9b93d1c8f5295d3f559a3abdd19ea7011741aa006b2cd96542c06a6892d7ed2bad8479c89e7d6ae0ed0685e68d5096bd5a46431c8cab8a90c04f1f00c
kubernetes-client-linux-arm.tar.gz 77d1f5b4783f7480d879d0b7682b1d46e730e7fb8edbc6eccd96986c31ceecbf123cd9fd11c5a388218a8c693b1b545daed28ca88f36ddaca06adac4422e4be5
kubernetes-client-linux-arm64.tar.gz 0b57aa1dbbce51136789cb373d93e641d1f095a4bc9695d60917e85c814c8959a4d6e33224dc86295210d01e73e496091a191f303348f3b652a2b6160b1e6059
kubernetes-client-linux-ppc64le.tar.gz 847065d541dece0fc931947146dbc90b181f923137772f26c7c93476e022f4f654e00f9928df7a13a9dec27075dd8134bdb168b5c57d4efa29ed20a6a2112272
kubernetes-client-linux-s390x.tar.gz d7e8a808da9e2551ca7d8e7cb25222cb9ac01595f78ebbc86152ae1c21620d4d8478ef3d374d69f47403ca913fc716fbaa81bd3ff082db2fc5814ef8dc66eeec
kubernetes-client-windows-386.tar.gz c9cf6a6b9f2f29152af974d30f3fd97ba33693d5cbbf8fc76bcf6590979e7ac8307e5da4f84a646cec6b68f6fa1a83aa1ce24eb6429baa0a39c92d5901bd80be
kubernetes-client-windows-amd64.tar.gz ebea0c0b64d251e6023e8a5a100aa609bc278c797170765da2e35c8997efc233bec9f8d1436aeee1cd6459e30ec78ba64b84de47c26a4e4645e153e5e598202b

服务器端可执行文件

文件名 sha512 hash
kubernetes-server-linux-amd64.tar.gz 2fe7ccce15e705826c4ccfce48df8130ba89a0c930bca4b61f49267e9d490f57cf6220671752e44e55502bee501a9af2f0ac3927378a87b466f2526fa6e45834
kubernetes-server-linux-arm.tar.gz 6eb77e59095a1de9eb21e7065e8d10b7d0baf1888991a42089ede6d4f8a8cac0b17ae793914eef5796d56d8f0b958203d5df1f7ed45856dce7244c9f047f9793
kubernetes-server-linux-arm64.tar.gz 429ce0d5459384c9d3a2bb103924eebc4c30343c821252dde8f4413fcf29cc73728d378bfd193c443479bde6bfd26e0a13c036d4d4ae22034d66f6cad70f684d
kubernetes-server-linux-ppc64le.tar.gz 18041d9c99efc00c8c9dbb6444974efdbf4969a4f75faea75a3c859b1ee8485d2bf3f01b7942a524dcd6a71c82af7a5937fc9120286e920cf2d501b7c76ab160
kubernetes-server-linux-s390x.tar.gz 2124c3d8856e50ca6b2b61d83f108ab921a1217fac2a80bf765d51b68f4e67d504471787d375524974173782aa37c57b6bf1fc6c7704ed7e6cabe15ec3c543b1

节点可执行文件

文件名 sha512 hash
kubernetes-node-linux-amd64.tar.gz ea1bcd8cc51fbc95058a8a592eb454c07ab5dadc1c237bbc59f278f8adc46bda1f334e73463e1edbd6da5469c4a527ceb1cb0a96686493d3ff4e8878dd1c9a20
kubernetes-node-linux-arm.tar.gz e5d62df5fd086ff5712f59f71ade9efcf617a13c567de965ce54c79f3909372bed4edbf6639cf058fe1d5c4042f794e1c6a91e5e20d9dcce597a95dedf2474b2
kubernetes-node-linux-arm64.tar.gz 5aa0a7a3d02b65253e4e814e51cea6dd895170f2838fea02f94e4efd3f938dbf83bc7f209801856b98420373c04147fab9cb8791d24d51dcedf960068dfe6fda
kubernetes-node-linux-ppc64le.tar.gz f54bc5ae188f8ecb3ddcae20e06237430dd696f444a5c65b0aa3be79ad85c5b500625fa47ed0e126f6e738eb5d9ee082b52482a6913ec6d22473520fa6582e66
kubernetes-node-linux-s390x.tar.gz afa4f9b747fff20ed03d40092a2df60dbd6ced0de7fd0c83c001866c4fe5b7117468e2f8c73cbef26f376b69b4750f188143076953fc200e8a5cc002c8ac705b
kubernetes-node-windows-amd64.tar.gz e9b76014a1d4268ad66ade06883dd3344c6312ece14ee988af645bdf9c5e9b62c31a0e339f774c67799b777314db6016d86a3753855c7d2eb461fbbf4e154ae7

自 v1.16.0-beta.2 起的变更日志

其他值得注意的变化

  • 基于 kube env ENABLE_NODE_LOGGING 安装并启动日志记录代理。见 (#81300@liyanhui1228)。
  • kubeadm允许用户在初始化过程中跳过 kube-proxy 初始化插件阶段,但是仍然可以加入集群并执行其他一些次要操作(不能升级)。见 (#82248@rosti)。
  • 将指标服务器连接到 v0.3.4。见 (#82322@olagacek)。
  • kubernetes 使用的默认 etcd 服务已更新为 3.3.15。见 (#82199@dims)。

v1.16.0-beta.2

文档

下载 v1.16.0-beta.2

文件名 sha512 hash
kubernetes.tar.gz d1f4e9badc6a4422b9a261a5375769d63f0cac7fff2aff4122a325417b77d5e5317ba76a180cda2baa9fb1079c33e396fc16f82b31eeebea61004b0aabdf8c32
kubernetes-src.tar.gz 2ab20b777311746bf9af0947a2bea8ae36e27da7d917149518d7c2d2612f513bbf88d1f2c7efff6dc169aa43c2dd3be73985ef619172d50d99faa56492b35ce4

客户端可执行文件

文件名 sha512 hash
kubernetes-client-darwin-386.tar.gz 55523fd5cfce0c5b79e981c6a4d5572790cfe4488ed23588be45ee13367e374cf703f611769751583986557b2607f271704d9f27e03f558e35e7c75796476b10
kubernetes-client-darwin-amd64.tar.gz 13e696782713da96f5fb2c3fa54d99ca40bc71262cb2cbc8e77a6d19ffd33b0767d3f27e693aa84103aca465f9b00ed109996d3579b4bd28566b8998212a0872
kubernetes-client-linux-386.tar.gz 7f4818599b84712edd2bf1d94f02f9a53c1f827b428a888356e793ff62e897276afcbc97f03bc0317e7d729740410037c57e6443f65c691eb959b676833511fa
kubernetes-client-linux-amd64.tar.gz 8a2656289d7d86cbded42831f6bc660b579609622c16428cf6cc782ac8b52df4c8511c5aad65aa520f398a65e35dee6ea5b5ad8e5fd14c5a8690a7248dc4c109
kubernetes-client-linux-arm.tar.gz 418606bc109b9acb2687ed297fa2eec272e8cb4ad3ce1173acd15a4b43cec0ecfd95e944faeecf862b349114081dd99dfac8615dc95cffc1cd4983c5b38e9c4e
kubernetes-client-linux-arm64.tar.gz 2eb943b745c270cd161e01a12195cfb38565de892a1da89e851495fb6f9d6664055e384e30d3551c25f120964e816e44df5415aff7c12a8639c30a42271abef7
kubernetes-client-linux-ppc64le.tar.gz 262e7d61e167e7accd43c47e9ce28323ae4614939a5af09ecc1023299cd2580220646e7c90d31fee0a17302f5d9df1e7da1e6774cc7e087248666b33399e8821
kubernetes-client-linux-s390x.tar.gz 8f0cfe669a211423dd697fdab722011ea9641ce3db64debafa539d4a424dd26065c8de5da7502a4d40235ff39158f3935bd337b807a63771391dffb282563ccf
kubernetes-client-windows-386.tar.gz b1deab89653f4cd3ad8ad68b8ec3e1c038d1ef35bd2e4475d71d4781acf0b2002443f9c2b7d2cf06cbb9c568bea3881c06d723b0529cc8210f99450dc2dc5e43
kubernetes-client-windows-amd64.tar.gz 0e3b5150767efd0ed5d60b2327d2b7f6f2bda1a3532fca8e84a7ca161f6e069fae15af37d3fe8a641d34c9a65fc61f1c44dd3265ef6cacfd2df55c9c004bc6bd

服务器端可执行文件

文件名 sha512 hash
kubernetes-server-linux-amd64.tar.gz 32688295df1fcdb9472ed040dc5e8b19d04d62789d2eca64cfe08080d08ffee1eaa4853ce40bd336aabd2f764dd65b36237d4f9f1c697e2d6572861c0c8eff01
kubernetes-server-linux-arm.tar.gz c8ea6d66e966889a54194f9dce2021131e9bae34040c56d8839341c47fc4074d6322cc8aadce28e7cdcee88ec79d37a73d52276deb1cc1eee231e4d3083d54e5
kubernetes-server-linux-arm64.tar.gz 12b42cfa33ff824392b81a604b7edcab95ecc67cddfc24c47ef67adb356a333998bc7b913b00daf7a213692d8d441153904474947b46c7f76ef03d4b2a63eab0
kubernetes-server-linux-ppc64le.tar.gz e03f0eba181c03ddb7535e56ff330dafebb7dcb40889fd04f5609617ebb717f9f833e89810bff36d5299f72ae75d356fffb80f7b3bab2232c7597abcc003b8ba
kubernetes-server-linux-s390x.tar.gz 4e7bd061317a3445ad4b6b308f26218777677a1fef5fda181ee1a19e532a758f6bd3746a3fe1917a057ed71c94892aeaf00dd4eb008f61418ec3c80169a1f057

节点可执行文件

文件名 sha512 hash
kubernetes-node-linux-amd64.tar.gz dc5606c17f0191afc6f28dce5ab566fd8f21a69fa3989a1c8f0976d7b8ccd32e26bb21e9fec9f4529c5a6c8301747d278484688a0592da291866f8fa4893dcbb
kubernetes-node-linux-arm.tar.gz 3d5d9893e06fd7be51dca11182ecb9e93108e86af40298fe66bb62e5e86f0bf4713667ba63d00b02cfddaf20878dd78cc738e76bf1ca715bbbe79347ca518ec4
kubernetes-node-linux-arm64.tar.gz fd18a02f32aeafc5cce8f3f2eadd0e532857bd5264b7299b4e48f458f77ebaa53be94b1d1fe2062168f9d88c8a97e6c2d904fc3401a2d9e69dd4e8c87d01d915
kubernetes-node-linux-ppc64le.tar.gz 703afd80140db2fae897d83b3d2bc8889ff6c6249bb79be7a1cce6f0c9326148d22585a5249c2e976c69a2518e3f887eef4c9dc4a970ebb854a78e72c1385ccb
kubernetes-node-linux-s390x.tar.gz 445d4ef4f9d63eabe3b7c16114906bc450cfde3e7bf7c8aedd084c79a5e399bd24a7a9c2283b58d382fb11885bb2b412773a36fffb6fc2fac15d696439a0b800
kubernetes-node-windows-amd64.tar.gz 88b04171c3c0134044b7555fbc9b88071f5a73dbf2dac21f8a27b394b0870dff349a56b0ee4d8e1d9cfbeb98645e485f40b8d8863f3f3e833cba0ca6b1383ccf

自 v1.16.0-beta.1 起的变更日志

其他值得注意的变化

  • kubectl cp 不再支持从容器中复制符号链接;为了支持该用例,请参见 kubectl exec --help 以获取直接使用 tar 的示例。见 (#82143@soltysh)。
  • kubeadm修复了 IPv6 地址的 HTTPProxy 检查(kubernetes/kubeadm#1769)。(#82267@kad)。
  • 在 kubectl 中添加 PodOverhead 感知。见 (#81929@egernst)。
  • 现在nbf不早于声明如果存在于 ID 令牌中)将被强制执行。见 (#81413@anderseknert)。
  • 服务器端应用现在将使用 CRD 验证字段中提供的 openapi 来帮助弄清楚如何正确合并对象和更新所有权。见 (#77354@jennybuckley)。
    • 使用 ZFS 存储池修复 LXD 中的磁盘统计信息。见 (#81972@dashpole)。
        • 修复 CRI-O 缺少网络指标错误。
        • 添加指标 container_socketscontainer_threadscontainer_threads_max
  • 启用发现 API 组时,添加对 kubectl 的 Endpoint Slice 支持。见 (#81795@robscott)。
  • Node-Problem-Detector v0.7.1 用于插件 daemonset。见 (#82140@wangzhen127)。
  • 聚合的发现请求现在可以超时。聚合的 apiserver 必须在 5 秒钟内完成发现调用。其他请求可能需要更长的时间。见 (#82146@deads2k)。
    • 如果必须删除此检查,请使用 EnableAggregatedDiscoveryTimeout=false 功能开关,但是该功能将在下一个版本中删除。
  • 将 Windows GMSA 支持从 Alpha 功能升级到 Beta 功能。见 (#82110@wk8)。
  • 为 Scheduler Framework 添加 UnschedulableAndUnresolvable 状态码。见 (#82034@alculquicondor)。
  • Kubeadm 现在包括 CoreDNS 1.6.2 版本。见 (#82127@rajansandeep)。
    • - 现在CoreDNS Deployment 通过 `ready` 插件检查准备情况。
      
    • - `proxy` 插件已被弃用,而是使用 `forward` 插件。
      
    • - Kubernetes 插件删除了 resyncperiod 选项。
      
    • - `upstream` 选项已被弃用,如果包含的话,将被忽略。
      
  • 遇到错误时,确保 kubectl get --ignore-not-found 操作继续进行。见 (#82120@soltysh)。
  • 通过 IPVS 代理启用了双栈服务IPv6DualStack 功能的第 II 阶段。iptables proxier 还不支持 Dualstack。Dualstack iptables proxier 正在研究开发中并且将会被提出来。见 (#82091@khenidak)。
    • 要启用双栈服务kube-proxy 必须具有以下参数:
    • --proxy-mode=ipvs
    • --cluster-cidrs=,
  • apiserver 现在使用 http/1.1 与 admission webhook 进行通信,打开多个满足并发请求的连接,并允许将请求分散在多个后备 Pod 上。见 (#82090@liggitt)。
  • 添加了对 gce ILB 指定全局访问 annotation 的支持。见 (#81549@prameshj)。
  • 添加了与 KEP https://github.com/kubernetes/enhancements/issues/950 相关的新的 startupProbe。见 (#77807@matthyx)。
  • 添加 \livez 用以进行 kube-apiserver 的活跃状况检查。使用参数 --maximum-startup-sequence-duration 能够允许活动端点liveness endpoint将引导序列故障推迟指定的持续时间。见 (#81969@logicalhan)。
  • 服务器端 apply 现在是 Beta 功能。见 (#81956@apelisse)。
  • 现在,apiserver_admission_webhook_admission_duration_seconds 指标中的 rejected 标签可以正确指示是否拒绝了请求。添加了一个新的计数器指标 apiserver_admission_webhook_rejection_count,其中该指标包含有关引起 Webhook 拒绝操作的详细信息。见 (#81399@roycaihw)。
  • 在 kubelet 的 running_container_count 指标中添加 container_state 标签用于根据容器的状态running/exited/created/unknown获取容器数量。见 (#81573@irajdeep)。
  • 修复了 CRD openapi 控制器中的一个错误,该错误使用户定义的 CRD 可以覆盖 CRD API 中的 OpenAPI 指定的定义或路径。见 (#81436@roycaihw)。
  • 服务帐户令牌Service account token现在在其头部header中包含 JWT 密钥 ID 字段。见 (#78502@ahmedtd)。
  • 可通过启用 EndpointSlice 功能开关,将 EndpointSlice 集成添加到 kube-proxy 中。见 (#81430@robscott)。
  • Azure 仅在 ELB 上支持 IPv6在 ILB 上不支持 IPv6。如果服务是内部的并且是 IPv6 地址,则云提供商将返回错误。见 (#80485@khenidak)。
    • 关于 LB 名称的注意事项:
    • 确保回滚与升级兼容
      • SingleStack -v4 (v1.16 之前的版本) => BackendPool 名称 == clusterName
      • SingleStack -v6 => BackendPool 名称 == clusterName (所有集群引导程序都使用此名称)
    • 双栈:
    • => IPv4 BackendPool 名称 == clusterName
    • => IPv6 BackendPool 名称 == -IPv6
    • 结果是:
      • 从 IPv4 迁移到双协议栈的集群将无需更改
      • 从 IPv6虽然在集群外没有发现但我们不能排除存在的集群到双栈的集群将需要删除后端池协调器将负责创建正确的后端池
  • 将 VolumePVCDataSource克隆功能升级到 1.16 版的 Beta 功能。见 (#81792@j-griffith)。
  • 删除 kubectl log,改用 kubectl logs。见 (#78098@soltysh)。
  • 支持 CSI 临时内联卷为 Beta 功能,即默认情况下启用 CSIInlineVolume 功能开关。见 (#82004@pohly)。
  • kubectl现在可以通过 kubectl wait 来支持 --all-namespaces 参数。(#81468@ashutoshgngwr)。
  • 现在,将 kube-proxy 指标标记为 ALPHA 稳定性级别。见 (#81626@logicalhan)。
  • 现在,将 kube-controller-manager 和 cloud-controller-manager 指标标记为 ALPHA 稳定性级别。见 (#81624@logicalhan)。
  • 添加用于管理新 EndpointSlice 资源的 Endpoint Slice 控制器,默认情况下禁用。见 (#81048@robscott)。
    • 运行:见 (#79386@khenidak)。
      • Master: 将服务 CIDR 转换为 list --service-cluster-ip-range=<CIDR>,<CIDR>,并确保已打开 IPv6DualStack 功能参数。该参数已验证并按以下方式使用:
* 1. `--service-cluster-ip-range[0]` 被认为是主要服务范围,并且将用于具有 `Service.Spec.IPFamily = nil` 的任何服务或打开功能标志时的任何服务。
* 2. 集群可以是双栈的(即 Pod 和节点都带有双栈 IP但无需支持双栈上的入口。在这种情况下集群可以使用 `PodIPs` 执行出口(根据用户代码中的族和绑定选择),但是仅针对 Pod 主 IP 执行入口。可以通过向 `--service-cluster-ip-range` 参数提供单个条目来进行配置。
* 3. `--service-cluster-ip-range` 参数中最多允许两个条目,并且它们被验证为双堆叠,例如 `--service-cluster-ip-range=<v4>,<v6>` 或者 `--service-cluster-ip-range=<v6>,<v4>`。 
* 4. 范围的最大 20 位 (最小网络位 `<v6>/108` 或 `<v4>/12`
* kube-controller-manager将服务 CIDR 转换为 list `--service-cluster-ip-range=<CIDR>,<CIDR>`,并确保已打开 IPv6DualStack 功能参数。该参数如上所述进行验证。
* + 使用:
* 已添加新的服务规范字段 `Service.Spec.IPFamily`。该字段的默认值为 family--service-cluster-ip-range 参数中的第一个服务 cidr。一旦打开功能开关该值将如上所述为默认值这是此字段的可能值
* 2. IPv4api-server 将从 `service-cluster-ip-range` 中分配一个 IP 地址为 `ipv4`(根据它们的配置是主 IP 还是辅助 IP。
* 2. IPv6api-server 将从 `service-cluster-ip-range` 中分配一个 IP 地址为 `ipv6`(根据它们的配置是主 IP 还是辅助 IP。
* 注意事项 v1.16
* 1. 从 v1.16 开始IPVS 是双栈模式支持的唯一代理。
* 2. 双栈与 `EndpointSlice` 功能互斥,不能同时打开。`metaproxy` 还没有实现 EndpointSlice 处理功能。
  • /metrics 和 /metrics/probes 的 kubelet 指标现已被标记为 ALPHA 稳定性级别。见 (#81534@logicalhan)。
  • 添加了可用于了解身份验证尝试的指标 authentication_attempts。见 (#81509@RainbowMango)。
  • 修复了针对 SCTP Nodeport 服务的 kube-proxy 问题,该服务仅适用于节点的 InternalIP但不适用于启用 ipvs 时节点中存在的其他 IP。见 (#81477@paulsubrata55)。
  • CustomResourceValidationCustomResourceSubresourcesCustomResourceWebhookConversionCustomResourcePublishOpenAPI 功能现在已成为 GA但是不赞成使用相关功能开关因为这些参数将在 v1.18 中被删除。见 (#81965@roycaihw)。
  • 在 GCI 上使用 Node-Problem-Detector v0.7.1。见 (#80726@wangzhen127)。
  • kubeadm如果用户希望修改某些 kubelet 安全配置参数,则可以防止它们被覆盖。见 (#81903@jfbai)。
  • 在 Alpha 功能中引入 node.kubernetes.io/exclude-balancernode.kubernetes.io/exclude-disruption 标签,以防止集群部署者依赖于并非所有集群都可以提供的可选 node-role 标签。见 (#80238@smarterclayton)。
  • 现在Scheduler 指标已被标记为具有 ALPHA 稳定性级别。见 (#81576@logicalhan)。
  • 现在已正确设置了缓存控制头部。如果 etags 匹配,则只有 openapi 是可缓存的。见 (#81946@deads2k)。
  • 添加了验证 WindowsOptions.RunAsUserName 的 E2E 测试。见 (#79539@bclau)。
  • 现在kube-apiserver 指标已被标记为 ALPHA 稳定性级别。见 (#81531@logicalhan)。
  • 将 CSI 卷扩展移动到 Beta 功能。见 (#81467@bertinatto)。
  • 在 Windows 节点上支持 kubelet 插件监视程序。见 (#81397@ddebroy)。
  • 更新 requestedToCapacityRatioArguments 函数用以添加资源参数,该参数允许用户指定资源名称以及每个资源的权重,然后基于请求与容量之比为节点评分。见 (#77688@sudeshsh)。
  • 服务负载均衡器的 Finalizer 保护现在处于 Beta默认启用中。此功能可确保在删除相关的负载均衡器资源之前不会完全删除服务资源。见 (#81691@MrHohn)。
  • 在 Windows 上增加了对 vSphere 卷的支持。见 (#80911@gab-satchi)。
  • 记录 kube-apiserver 重新生成 OpenAPI 规范的时间以及原因。OpenAPI 规范的生成是一个非常占用 CPU 的过程,它对 CRD 和 APIServices 的连续更新很敏感。见 (#81786@sttts)。
    • 添加了指标 aggregator_openapi_v2_regeneration_countaggregator_openapi_v2_regeneration_gaugeapiextension_openapi_v2_regeneration_count,这些指标统计了(添加,更新,删除)操作时触发的 APIService 和 CRD 以及原因。
  • 解决了 PodTolerationRestriction admission controller准入控制器中的容忍度合并和白名单检查问题。见 (#81732@tallclair)。
  • 添加一个 helper 函数来解码 scheduler 插件参数。见 (#80696@hex108)。
  • 将 metadata.generation = 1 添加到旧的 CustomResources。见 (#82005@sttts)。
  • kubeadm 在其启动前检查中不再执行 IPVS 检查。见 (#81791@yastij)。
  • RemainingItemCount 功能现在为 Beta 功能。见 (#81682@caesarxuchao)。
    • remainingItemCount 是列表中未包括在此列表响应中的后续项目的数量。如果列表请求中包含标签或字段选择器,则剩余项目数未知并且在序列化期间该字段将保持不变并被忽略。如果列表是完整的(不是因为它不是分块的,或者是因为这是最后一个块),那么将不再有剩余的项目,并且在序列化期间将保留此字段并将其省略。低于 v1.15 的服务器未设置此字段。remainingItemCount 的预期用途是估计集合的大小。客户端不应依赖于 remainingItemCount 进行准确无误的设置。
  • framework.ExpectNoError 不再记录错误,而是依靠使用新的 log.Fail 作为 Gomega 故障处理程序。见 (#80253@pohly)。
  • 现在,审核事件记录了异常 Webhooks 的存在和补丁。见 (#77824@roycaihw)。 * 在元数据审核级别或更高级别上,将使用 JSON 有效负载记录具有键 "mutation.webhook.admission.k8s.io/round_{round idx}index{order idx}" 的注释,该注释表示针对给定请求调用了 Webhook以及是否更改了对象。 * 在请求审计级别或更高级别上,带有 "patch.webhook.admission.k8s.io/round_{round idx}index{order idx}" 键的注释将与 JSON 有效负载一起记录,该有效负载记录 Webhook 针对给定请求发送的补丁。
  • 解决了阻止块卷调整大小的问题。见 (#81429@huffmanca)。
  • 验证是否修改了 OpenAPI 规范中的 CRD 默认值,metadata 下的值除外。见 (#78829@sttts)。
  • scheduling framework 中使用 PostFilter 代替 Postfilter。见 (#81800@draveness)。
    • 在 scheduling framework 中使用 PreFilter 代替 Prefilter
    • 在 scheduling framework 中使用 PreBind 代替 Prebind
  • 修复了 Windows 服务器容器的 kubectl logs -f 问题。见 (#81747@Random-Liu)。
  • 修复了由于区分大小写而导致的 Azure 磁盘命名匹配问题。见 (#81720@andyzhangx)。
  • 修复了一个 bug即当出现 “connection refused” 错误时,反射器的 ListAndWatch 函数将直接返回,但预期的是睡眠 1 秒钟并从指定的 resourceVersion 重新开始监视。见 (#81634@likakuli)。
  • 修复了带有 io.k8s.apimachinery.pkg.runtime.RawExtension 的 openAPI 定义的错误问题,该错误以前需要指定字段 "raw"。见 (#80773@jennybuckley)。
  • kubeadm打印 klog 级别大于 5 的错误的堆栈跟踪信息。见 (#80937@neolit123)。
  • 修复了 iptables 代理模式可能会导致长时间延迟的问题。见 (#80368@danwinship)。
    • 在 RHEL 或 CentOS 7 上的超大型集群中更新服务或端点 IP。
  • kubeadm支持任何 3.10 以上的 Linux 内核版本。见 (#81623@neolit123)。
  • 添加了指标 'apiserver_watch_events_sizes',可用于估计系统中监视事件的大小。见 (#80477@mborsz)。
  • 从 scheduler framework 配置 API 中删除了 NormalizeScore plugin而是仅使用 ScorePlugin。见 (#80930@liu-cong)。
  • kubeadm reset仅针对 Linux 卸载 "/var/lib/kubelet" 下的目录。见 (#81494@Klaven)。
  • 将 fluentd-elasticsearch docker 镜像更新为 fluentd 1.6.3。见 (#80912@monotek)。
  • 现在Kubeadm 在升级 CoreDNS 时无差异地迁移 CoreDNS 配置。见 (#78033@rajansandeep)。
  • 如果启用了 PodOverhead 功能,则将引入了 Pod 开销应用于 Pod cgroup 的支持。见 (#79247@egernst)。
  • GCE 上的 Windows 节点现在在启用 Windows 防护的情况下运行。见 (#81625@pjh)。

v1.16.0-beta.1

文档

下载 v1.16.0-beta.1

文件名 sha512 hash
kubernetes.tar.gz 16513ebb52b01afee26156dcd4c449455dc328d7a080ba54b3f3a4584dbd9297025e33a9dafe758b259ae6e33ccb84a18038f6f415e98be298761c4d3dfee94b
kubernetes-src.tar.gz 3933f441ebca812835d6f893ec378896a8adb7ae88ca53247fa402aee1fda00d533301ac806f6bf106badf2f91be8c2524fd98e9757244b4b597c39124c59d01

客户端可执行文件

文件名 sha512 hash
kubernetes-client-darwin-386.tar.gz 28f0a8979f956aa5b3be1c1158a3ade1b242aac332696cb604fbdba44c4279caa1008840af01e50692bf48d0342018f882dd6e30f9fe3279e9784094cfc9ff3c
kubernetes-client-darwin-amd64.tar.gz 8804f60b690e5180125cf6ac6d739ad5432b364c5e0d0ee0d2f06220c86ca3a2cffc475e0e3c46c19466e5d1566a5b8bf0a33191cba5bbd3ff27ac64ceee57a0
kubernetes-client-linux-386.tar.gz 8f7f86db5a496afd269b926b6baf341bbd4208f49b48fad1a44c5424812667b3bd7912b5b97bd7844dee2a7c6f9441628f7b5db3caa14429020de7788289191c
kubernetes-client-linux-amd64.tar.gz 7407dc1216cac39f15ca9f75be47c0463a151a3fda7d9843a67c0043c69858fb36eaa6b4194ce5cefd125acd7f521c4b958d446bb0c95ca73a3b3ae47af2c3ee
kubernetes-client-linux-arm.tar.gz 249a82a0af7d8062f49edd9221b3823590b6d166c1bca12c787ae640d6a131bd6a3d7c99136de62074afa6cabe8900dcf4e11037ddbfdf9d5252fc16e256eeb5
kubernetes-client-linux-arm64.tar.gz 3a8416d99b6ae9bb6d568ff15d1783dc521fe58c60230f38126c64a7739bf03d8490a9a10042d1c4ef07290eaced6cb9d42a9728d4b937305d63f8d3cc7a66f8
kubernetes-client-linux-ppc64le.tar.gz 105bf4afeccf0b314673265b969d1a7f3796ca3098afa788c43cd9ff3e14ee409392caa5766631cca180e790d92731a48f5e7156167637b97abc7c178dd390f3
kubernetes-client-linux-s390x.tar.gz 98de73accb7deba9896e14a5012a112f6fd00d6e6868e4d21f61b06605efa8868f1965a1c1ba72bb8847416bc789bd7ef5c1a125811b6c6df060217cd84fdb2c
kubernetes-client-windows-386.tar.gz 7a43f3285b0ab617990497d41ceadfbd2be2b72d433b02508c198e9d380fb5e0a96863cc14d0e9bf0317df13810af1ab6b7c47cd4fa1d0619a00c9536dc60f0f
kubernetes-client-windows-amd64.tar.gz f3fafcffc949bd7f8657dd684c901e199b21c4812009aca1f8cf3c8bf3c3230cab072208d3702d7a248c0b957bc513306dd437fb6a54e1e64b4d7dc8c3c180cd

服务器端可执行文件

文件名 sha512 hash
kubernetes-server-linux-amd64.tar.gz 87b46e73ae2162ee49f510da6549e57503d3ea94b3c4488f39b0b93d45603f540ece30c3784c5e201711a7ddd1260481cd20ac4c618eaf46879e841d054a115a
kubernetes-server-linux-arm.tar.gz 80ba8e615497c0b9c339fbd2d6a4dda54fdbd5659abd7d8e8d448d8d8c24ba7f0ec48693e4bf8ed20513c46432f2a0f1039ab9044f0ed006b935a58772372d95
kubernetes-server-linux-arm64.tar.gz b4a76a5fc026b4b3b5f9666df05e46896220591b21c147982ff3d91cec7330ed78cf1fc63f5ab759820aadbcfe400c1ad75d5151d9217d42e3da5873e0ff540d
kubernetes-server-linux-ppc64le.tar.gz fb435dfd5514e4cd3bc16b9e71865bff3cdd5123fc272c8cbc5956c260449e0dcfd30d2fdb120da73134e62f48507c5a02d4528d7b9d978765ff4ed740b274e8
kubernetes-server-linux-s390x.tar.gz 65ed3d372a4d03493d0a586c7f67f1236aa99f02552195f1fb58079bc24787200d9a0f34d0c311a846345d0d70d02ad726f74376a91d3ced234bbfdce80c5133

节点可执行文件

文件名 sha512 hash
kubernetes-node-linux-amd64.tar.gz c9161689532a5e995a68bb0985a983dc43d8e747a05f37849cd33062c07e5202417b26bff652b8bc9c0005026618b7ebc56f918c71747a3addb5da044e683b4a
kubernetes-node-linux-arm.tar.gz 7dba9fdb290f33678983c046eb145446edb1b7479c2403f9e8bd835c3d832ab1f2acb28124c53af5b046d47ab433312d6a654f000a22f8e10795b0bc45bfbddb
kubernetes-node-linux-arm64.tar.gz 8c435824667cd9ec7efdfb72c1d060f62ca61b285cbb9575a6e6013e20ec5b379f77f51d43ae21c1778a3eb3ef69df8895213c54e4b9f39c67c929a276be12de
kubernetes-node-linux-ppc64le.tar.gz 2cfca30dbe49a38cd1f3c78135f60bf7cb3dae0a8ec5d7fa651e1c5949254876fbab8a724ed9a13f733a85b9960edcc4cc971dc3c16297db609209c4270f144f
kubernetes-node-linux-s390x.tar.gz 63bbe469ddd1be48624ef5627fef1e1557a691819c71a77d419d59d101e8e6ee391eb8545da35b412b94974c06d73329a13660484ab26087a178f34a827a3dcb
kubernetes-node-windows-amd64.tar.gz 07cb97d5a3b7d0180a9e22696f417422a0c043754c81ae68338aab7b520aa7c119ff53b9ad835f9a0bc9ea8c07483ce506af48d65641dd15d30209a696b064bb

自 v1.16.0-alpha.3 起的变更日志

需要进行的操作

  • 删除了 scheduler.alpha.kubernetes.io/critical-pod 注解。应使用 Pod priorityspec.priorityClassName将 Pod 标记为关键。这是必须要进行的操作。见 (#80342@draveness)。
  • 删除了 cadvisor 指标标签 pod_namecontainer_name 以符合仪器指南。见 (#80376@ehashman)。
    • 需要进行的操作:标签的任何 Prometheus 查询(例如 cadvisor 或 kubelet 探测指标)都必须更新为使用 podcontainer 标签。
  • 删除了 DirectCodecFactory用 serializer.WithoutConversionCodecFactory 替换、DirectEncoder用 runtime.WithVersionEncoder 替换)和 DirectDecoder用 runtime.WithoutVersionDecoder 替换)。这是必须要进行的操作。见 (#79263@draveness)。

其他值得注意的变化

  • 修复使用 dangling 错误分离 Azure 磁盘的问题。见 (#81266@andyzhangx)。
  • 转换 webhooks 现在可以通过将 v1 包含在 CustomResourceDefinition 的 conversionReviewVersions 列表中来表明它们支持 apiextensions.k8s.io/v1 版本的 ConversionReview API 对象的接收和响应。转换 webhooks 必须在收到的 apiVersion 中以 ConversionReview 对象作为响应。apiextensions.k8s.io/v1 ConversionReview 响应必须指定一个 response.uid,该响应与发送对象的 request.uid 相匹配。见 (#81476@liggitt)。
  • 通过以下更改,将 CustomResourceDefinition API 类型升级为 apiextensions.k8s.io/v1:见 (#79604@liggitt)。
    * 通过以下更改将 `CustomResourceDefinition` API 类型升级为 `apiextensions.k8s.io/v1`
    
    • spec.scope 不再默认为 Namespaced,必须明确指定 spec.scope
    • 删除了 spec.version;改用 spec.versions
    • 删除了 spec.validation;改用 spec.versions[*].schema
    • 删除了 spec.subresources;改用 spec.versions[*].subresources
    • 删除了 spec.additionalPrinterColumns;改用 spec.versions[*].additionalPrinterColumns
    • spec.conversion.webhookClientConfig 移至 spec.conversion.webhook.clientConfig
    • spec.conversion.conversionReviewVersions 移至 spec.conversion.webhook.conversionReviewVersions
    • 现在,在创建 v1 CustomResourceDefinitions 时需要 spec.versions[*].schema.openAPIV3Schema
    • 创建 v1 CustomResourceDefinitions 时不允许使用 spec.preserveUnknownFields: true;必须在模式定义中将其指定为 x-kubernetes-preserve-unknown-fields: true
    • additionalPrinterColumns 项目中,将 JSONPath 字段重命名为 jsonPath,见 参考
  • openapi 现在可以为自定义资源发布其正确支持的补丁程序类型。见 (#81515@liggitt)。
  • 如果现在没有配置 subscriptionId则可以在没有 Azure 身份的情况下运行 kubelet。见 (#81500@feiskyer)。
    • 一个云提供商配置示例为:'{"vmType": "vmss", "useInstanceMetadata": true}'。
  • 在 Pod 中指定但未在其中使用的卷不再需要在 node.status.volumesInUse 中格式化、安装和报告。见 (#81163@jsafrane)。
  • kubeadm使用 etcd 的 /health 端点进行本地主机上的 HTTP 活跃探针操作,而不是使用 etcdctl 进行自定义健康检查。见 (#81385@neolit123)。
  • kubeamd使用 --pod-network-cidr 参数进行初始化或使用 kubeadm 配置中的 podSubnet 字段传递以逗号分隔的 Pod CIDR 列表。见 (#79033@Arvinderpal)。
  • 更新 go 到 1.12.9。见 (#81489@BenTheElder)。
  • 更新 Azure SDK + go-autorest API 版本。见 (#79574@justaugustus)。
  • Extender 绑定应该匹配 IsInterested。见 (#79804@yqwang-ms)。
  • 添加设置 “应用程序默认凭证” 说明,用于在本地运行 GCE Windows e2e 测试。见 (#81337@YangLu1031)。
  • Scheduler 应在释放领导者 lock 锁时终止。见 (#81306@ravisantoshgudimetla)。
  • kubelet 现在新增一个 "kubelet_evictions" 指标,该指标统计 kubelet 为回收资源而执行的 Pod 驱逐的数量。见 (#81377@sjenning)。
  • 当计分插件返回的分数超出 [0100] 范围时,返回错误。见 (#81015@draveness)。
  • 更新 go 到 1.12.8。见 (#81390@cblecker)。
  • 如果清除成功,则 kube-proxy --cleanup 将返回正确的退出代码。见 (#78775@johscheuer)。
  • 删除日志中的 iSCSI 卷存储明文秘密。见 (#81215@zouyee)。
  • 在规范化评分阶段,使用命名数组而不是分数数组。见 (#80901@draveness)。
  • 如果 scheduler 扩展程序过滤了一个未找到的节点,则此 Pod 的当前调度回合将被跳过。见 (#79641@yqwang-ms)。
  • 更新 golang/x/net 相关依赖项,修复 CVE-2019-9512、CVE-2019-9514 相关问题。见 (#81394@cblecker)。
  • 修复 CVE-2019-11250 问题现在client-go header头部日志记录详细级别大于等于 7掩盖了 Authorization 头部内容。见 (#81330@tedyu)。
  • 解决服务器启动期间对自定义资源请求的瞬态 404 响应。见 (#81244@liggitt)。
  • PVC 上的非 nil 数据源条目现在显示为 describe pvc 输出的一部分。见 (#76463@j-griffith)。
  • 修复 Azure 客户端请求在 http.StatusTooManyRequestsHTTP 代码 429上卡住的问题。(#81279@feiskyer)。
  • 实施一项新功能,该功能允许将 kustomize 修补程序应用于 kubeadm 生成的静态 pod 清单。见 (#80905@fabriziopandini)。
  • 添加服务注解 service.beta.kubernetes.io/azure-pip-name,用于指定 Azure 负载均衡器的公共 IP 名称。见 (#81213@nilo19)。
  • 修复了 IPVS 代理中的一个错误,该错误是即使删除了相应的 Service 对象,也无法清理虚拟服务器。见 (#80942@gongguan)。
  • 添加对 RuntimeClasses 的调度支持。现在RuntimeClasses 可以指定 nodeSelector 约束和容忍度,并使用该 RuntimeClass 将约束和容忍合并到 PodSpec 中。见 (#80825@tallclair)。
  • 可以以非 root 用户身份运行 etcd Docker 镜像。见 (#79722@randomvariable)。
  • kubeadm生成的 CSR 文件的权限从 0644 更改为 0600。见 (#81217@SataQiu)。
  • 当其他 Azure 操作取消请求时,修复冲突的缓存问题。见 (#81282@feiskyer)。
  • 修复 kubelet 节点租赁潜在的性能问题。kubelet 现在将尝试使用缓存的租约来更新租约,而不是每次都从 API Server 获取租约。见 (#81174@answer1991)。
  • 改进自定义资源的验证错误。(#81212@liggitt)。
  • 改进 kube-proxy。kube-proxy 等待一段时间以定义节点。见 (#77167@paulsubrata55)。
  • hyperkube 将在将来的版本中放弃对云控制器管理器的支持。见 (#81219@dims)。
  • 在 ipvs 和 iptables 模式,为 kube-proxy iptables-restore 故障添加了新的 Prometheus 计数器指标 "sync_proxy_rules_iptables_restore_failures_total"。见 (#81210@figo)。
  • ScaleInterface 中添加 Patch 方法。见 (#80699@knight42)。
  • 在关联或者摘除的磁盘操作中现使用 VM Update 调用,原来的 CreateOrUpdate 调用可能导致孤立的 VM 或资源阻塞。见 (#81208@andyzhangx)。
  • 添加 Azure 云配置 LoadBalancerNameLoadBalancerResourceGroup,用于允许对 Azure 负载均衡器进行相应的自定义。见 (#81054@nilo19)。
  • 更新包含自 7 月以来的修补程序的 GCE Windows 节点镜像。见 (#81106@YangLu1031)。
  • kubelet 认为所有静态 Pod 都是至关重要的。即使节点没有足够的资源,静态 Pod 也会通过 kubelet 准入准则。用户必须确保在创建静态 Pod 时占资源。见 (#80491@hpandeycodeit)。
  • kube-apiserver--basic-auth-file 参数和身份验证模式已弃用,在以后的版本中将被删除。所以不建议在生产环境中使用。见 (#81152, @tedyu)。
  • 修复了 printer 函数 marshals 操作时,将空字节或 uint8 切片作为 null 的错误。见 (#81096@roycaihw)。
  • 弃用 kube-apiserver 中的 --cloud-provider-gce-lb-src-cidrs 参数。一旦从 kube-apiserver 中删除了 GCE 云提供商,该参数将被删除。见 (#81094, @andrewsykim)。
  • kubernetes 版本不再附带 cloud-controller-manager 二进制文件和 docker 镜像。见 (#81029@dims)。
  • APImetadata.selfLink 字段在单个和列表对象中已弃用。从 v1.20 开始将不再返回该字段,而在 v1.21 中将完全删除该字段。见 (#80978@wojtek-t)。

v1.16.0-alpha.3

文档

下载 v1.16.0-alpha.3

文件名 sha512 hash
kubernetes.tar.gz 82bc119f8d1e44518ab4f4bdefb96158b1a3634c003fe1bc8dcd62410189449fbd6736126409d39a6e2d211a036b4aa98baef3b3c6d9f7505e63430847d127c2
kubernetes-src.tar.gz bbf330b887a5839e3d3219f5f4aa38f1c70eab64228077f846da80395193b2b402b60030741de14a9dd4de963662cfe694f6ab04035309e54dc48e6dddd5c05d

客户端可执行文件

文件名 sha512 hash
kubernetes-client-darwin-386.tar.gz 8d509bdc1ca62463cbb25548ec270792630f6a883f3194e5bdbbb3d6f8568b00f695e39950b7b01713f2f05f206c4d1df1959c6ee80f8a3e390eb94759d344b2
kubernetes-client-darwin-amd64.tar.gz 1b00b3a478c210e3c3e6c346f5c4f7f43a00d5ef6acb8d9c1feaf26f913b9d4f97eb6db99bbf67953ef6399abe4fbb79324973c1744a6a8cd76067cb2aeed2ca
kubernetes-client-linux-386.tar.gz 82424207b4ef52c3722436eaaf86dbe5c93c6670fd09c2b04320251028fd1bb75724b4f490b6e8b443bd8e5f892ab64612cd22206119924dafde424bdee9348a
kubernetes-client-linux-amd64.tar.gz 57ba937e58755d3b7dfd19626fedb95718f9c1d44ac1c5b4c8c46d11ba0f8783f3611c7b946b563cac9a3cf104c35ba5605e5e76b48ba2a707d787a7f50f7027
kubernetes-client-linux-arm.tar.gz 3a3601026e019b299a6f662b887ebe749f08782d7ed0d37a807c38a01c6ba19f23e2837c9fb886053ad6e236a329f58a11ee3ec4ba96a8729905ae78a7f6c58c
kubernetes-client-linux-arm64.tar.gz 4cdeb2e678c6b817a04f9f5d92c5c6df88e0f954550961813fca63af4501d04c08e3f4353dd8b6dce96e2ee197a4c688245f03c888417a436b3cf70abd4ba53a
kubernetes-client-linux-ppc64le.tar.gz 0cc7c8f7b48f5affb679352a94e42d8b4003b9ca6f8cbeaf315d2eceddd2e8446a58ba1d4a0df18e8f9c69d0d3b5a46f25b2e6a916e57975381e504d1a4daa1b
kubernetes-client-linux-s390x.tar.gz 9d8fa639f543e707dc65f24ce2f8c73a50c606ec7bc27d17840f45ac150d00b3b3f83de5e3b21f72b598acf08273e4b9a889f199f4ce1b1d239b28659e6cd131
kubernetes-client-windows-386.tar.gz 05bf6e696da680bb8feec4f411f342a9661b6165f4f0c72c069871983f199418c4d4fa1e034136bc8be41c5fecc9934a123906f2d5666c09a876db16ae8c11ad
kubernetes-client-windows-amd64.tar.gz b2097bc851f5d3504e562f68161910098b46c66c726b92b092a040acda965fed01f45e7b9e513a4259c7a5ebd65d7aa3e3b711f4179139a935720d91216ef5c2

服务器端可执行文件

文件名 sha512 hash
kubernetes-server-linux-amd64.tar.gz 721bd09b64e5c8f220332417089a772d9073c0dc5cdfa240984cfeb0d681b4a02620fb3ebf1b9f6a82a4dd3423f5831c259d4bad502dce87f145e0a08cb73ee9
kubernetes-server-linux-arm.tar.gz e7638ce4b88b4282f0a157593cfe809fa9cc9139ea7ebae4762ef5ac1dfaa516903a8acb34a45937eb94b2699e5d4c68c639cbe40cbed2a6b97681aeace9948e
kubernetes-server-linux-arm64.tar.gz 395566c4be3c2ca5b07e81221b3370bc7ccbef0879f96a9384650fcaf4f699f3b2744ba1d97ae42cc6c5d9e1a65a41a793a8b0c9e01a0a65f57c56b1420f8141
kubernetes-server-linux-ppc64le.tar.gz 90fcba066efd76d2f271a0eb26ed4d90483674d04f5e8cc39ec1e5b7f343311f2f1c40de386f35d3c69759628a1c7c075559c09b6c4542e42fbbe0daeb61a5fa
kubernetes-server-linux-s390x.tar.gz b25014bcf4138722a710451f6e58ee57588b4d47fcceeda8f6866073c1cc08641082ec56e94b0c6d586c0835ce9b55d205d254436fc22a744b24d8c74e8e5cce

节点可执行文件

文件名 sha512 hash
kubernetes-node-linux-amd64.tar.gz 6925a71096530f7114a68e755d07cb8ba714bc60b477360c85d76d7b71d3a3c0b78a650877d81aae35b308ded27c8207b5fe72d990abc43db3aa8a7d6d7f94f4
kubernetes-node-linux-arm.tar.gz 073310e1ccf9a8af998d4c0402ae86bee4f253d2af233b0c45cea55902268c2fe7190a41a990b079e24536e9efa27b94249c3a9236531a166ba3ac06c0f26f92
kubernetes-node-linux-arm64.tar.gz c55e9aecef906e56a6003f441a7d336846edb269aed1c7a31cf834b0730508706e73ea0ae135c1604b0697c9e2582480fbfba8ba105152698c240e324da0cbd2
kubernetes-node-linux-ppc64le.tar.gz e89d72d27bb0a7f9133ef7310f455ba2b4c46e9852c43e0a981b68a413bcdd18de7168eb16d93cf87a5ada6a4958592d3be80c9be1e6895fa48e2f7fa70f188d
kubernetes-node-linux-s390x.tar.gz 6ef8a25f2f80a806672057dc030654345e87d269babe7cf166f7443e04c0b3a9bc1928cbcf5abef1f0f0fcd37f3a727f789887dbbdae62f9d1fd90a71ed26b39
kubernetes-node-windows-amd64.tar.gz 22fd1cea6e0150c06dbdc7249635bbf93c4297565d5a9d13e653f9365cd61a0b8306312efc806d267c47be81621016b114510a269c622cccc916ecff4d10f33c

自 v1.16.0-alpha.2 起的变更日志

需要进行的操作

  • 需要进行的操作:见 (#80676@fabriziopandini)。
    • TLS 引导后kubeadm 现在将删除 bootstrap-kubelet.conf 文件
    • 依赖 bootstrap-kubelet.conf 文件的用户应切换到包含节点凭据的 kubelet.conf

其他值得注意的变化

  • 修复了对使用嵌入式卷源创建的 VolumeAttachment API 对象的验证。见 (#80945@tedyu)。
  • 如果共享类型的 Azure 磁盘不包含 skuname则它们将不再失败。见 (#80837@rmweir)。
    • 储存帐户类型。
  • kubeadm修复了使用文件发现时未预加载 “certificate-authority” 文件的问题。见 (#80966@neolit123)。
  • Pod 卷设置中的错误现在作为 Pod 事件传播。见 (#80369@jsafrane)。
  • kubeadm为 kube-scheduler 启用安全服务。见 (#80951@neolit123)。
  • Kubernetes 客户端用户在调用 Kubernetes API 时可以通过在其 rest.Config 上设置 DisableCompression 字段来禁用自动压缩。当客户端主要通过高带宽或低延迟网络进行通信时,建议使用此方法,其中响应压缩不会改善端到端延迟。见 (#80919@smarterclayton)。
  • 列出配置映射时kubectl get 没有正确计算 binaryData 键的数量。见 (#80827@smarterclayton)。
  • 为调度框架实现 “post-filter” 扩展点。见 (#78097@draveness)。
  • 将 GCE PD 节点附加限制减 1因为节点启动磁盘被视为可附加磁盘。见 (#80923@davidz627)。
  • 修复了在使用外部 etcd 时将 etcd 证书与 kubeadm 用于本地 etcd 证书的名称存储在同一文件夹中的错误;对于较旧版本的 kubeadm解决方法是避免 kubeadm 用于本地 etcd 的文件名。见 (#80867@fabriziopandini)。
  • 当使用 --cgroup-driver=systemd 指定 --(kube|system)-reserved-cgroup 时,现在可以使用完全限定的 cgroupfs 名称(即 /test-cgroup.slice)。见 (#78793@mattjmcnaughton)。
  • kubeadm重置时将非严重错误视为警告。见 (#80862@drpaneas)。
  • kube-addon-manager 已更新至 v9.0.2 解决领导者选择错误。见 (https://github.com/kubernetes/kubernetes/pull/80575) (#80861@mborsz)。
  • 确定系统模型以获取 Windows 节点的凭据。见 (#80764@liyanhui1228)。
  • TBD 见 (#80730@jennybuckley)。
  • 发送到 admission webhook 和从 admission webhook 接收到的 AdmissionReview API 已升级为 admission.k8s.io/v1。Webhooks 可以指定使用 admissionReviewVersions: ["v1","v1beta1"] 接收 v1 AdmissionReview 对象的首选项,并且必须在发送它们的同一 apiVersion 中以 API 对象进行响应。当 Webhooks 使用 admission.k8s.io/v1 时,将对其响应执行以下附加验证:见 (#80231@liggitt)。 * response.patchresponse.patchType 不允许验证 admission webhooks * apiVersion: "admission.k8s.io/v1" 是必需的 * kind: "AdmissionReview" 是必需的 * response.uid: "<value of request.uid>" 是必需的 * response.patchType: "JSONPatch" 是必需的(前提是设置了 response.patch
  • 如果基于文件的发现时间过长“kubeadm join” 将会失败,默认超时为 5 分钟。见 (#80804@olivierlemasle)。
  • 增强 Azure 云提供商相关代码以支持 AAD 和 ADFS 身份验证。见 (#80841@rjaini)。
  • 如果 --cloud-provider=external 并且不存在节点地址,则尝试设置 kubelet 的主机名和内部 IP。见 (#75229@andrewsykim)。
  • kubeadm升级提前拉取 DaemonSet 时,避免两次删除操作。见 (#80798@xlgao-zju)。
  • 修复了在某些系统上连接到 localhost 上的服务的问题;特别是在 Ubuntu 上对 systemd 解析的 DNS 查询。见 (#80591@danwinship)。
  • 为调度程序框架实现规范化插件扩展点。见 (#80383@liu-cong)。
  • 使用覆盖参数修复 bash 自动完成错误。见 (#80802@dtaniwaki)。
  • Fix CVE-2019-11247: API server allows access to custom resources via wrong scope (#80750, @sttts)
  • 现在,会定期重试失败的 iscsi 注销。见 (#78941@jsafrane)。
  • 修复 VMSS 节点未找到公共 IP 的问题。见 (#80703@feiskyer)。
  • 为了在 kubeadm 和 kubernetes 组件中启用双栈支持,作为 init config file 的一步,用户应在 ClusterConfiguration 中设置 IPv6DualStack=true。此外,对于每个工作节点,用户应使用 nodeRegistration.kubeletExtraArgsKUBELET_EXTRA_ARGS 设置 kubelet 的特性开关功能。见 (#80531, @Arvinderpal)。
  • 当使用具有嵌入式凭据的发现文件时,修复 kubeadm join --discovery-file 操作中的错误。见 (#80675@fabriziopandini)。

v1.16.0-alpha.2

文档

下载 v1.16.0-alpha.2

文件名 sha512 hash
kubernetes.tar.gz 7dfa3f8b9e98e528e2b49ed9cca5e95f265b9e102faac636ff0c29e045689145be236b98406a62eb0385154dc0c1233cac049806c99c9e46590cad5aa729183f
kubernetes-src.tar.gz 7cf14b92c96cab5fcda3115ec66b44562ca26ea6aa46bc7fa614fa66bda1bdf9ac1f3c94ef0dfa0e37c992c7187ecf4205b253f37f280857e88a318f8479c9a9

客户端可执行文件

文件名 sha512 hash
kubernetes-client-darwin-386.tar.gz 4871756de2cd1add0b07ec1e577c500d18a59e2f761595b939e1d4e10fbe0a119479ecaaf53d75cb2138363deae23cc88cba24fe3018cec6a27a3182f37cae92
kubernetes-client-darwin-amd64.tar.gz dbd9ca5fd90652ffc1606f50029d711eb52d34b707b7c04f29201f85aa8a5081923a53585513634f3adb6ace2bc59be9d4ad2abc49fdc3790ef805378c111e68
kubernetes-client-linux-386.tar.gz 6b049098b1dc65416c5dcc30346b82e5cf69a1cdd7e7b065429a76d302ef4b2a1c8e2dc621e9d5c1a6395a1fbd97f196d99404810880d118576e7b94e5621e4c
kubernetes-client-linux-amd64.tar.gz 7240a9d49e445e9fb0c9d360a9287933c6c6e7d81d6e11b0d645d3f9b6f3f1372cc343f03d10026518df5d6c95525e84c41b06a034c9ec2c9e306323dbd9325b
kubernetes-client-linux-arm.tar.gz 947b0d9aeeef08961c0582b4c3c94b7ae1016d20b0c9f50af5fe760b3573f17497059511bcb57ac971a5bdadeb5c77dfd639d5745042ecc67541dd702ee7c657
kubernetes-client-linux-arm64.tar.gz aff0258a223f5061552d340cda36872e3cd7017368117bbb14dc0f8a3a4db8c715c11743bedd72189cd43082aa9ac1ced64a6337c2f174bdcbeef094b47e76b0
kubernetes-client-linux-ppc64le.tar.gz 3eabecd62290ae8d876ae45333777b2c9959e39461197dbe90e6ba07d0a4c50328cbdf44e77d2bd626e435ffc69593d0e8b807b36601c19dd1a1ef17e6810b4f
kubernetes-client-linux-s390x.tar.gz 6651b2d95d0a8dd748c33c9e8018ab606b4061956cc2b6775bd0b008b04ea33df27be819ce6c391ceb2191b53acbbc088d602ed2d86bdd7a3a3fc1c8f876798a
kubernetes-client-windows-386.tar.gz 4b6c11b7a318e5fcac19144f6ab1638126c299e08c7b908495591674abcf4c7dd16f63c74c7d901beff24006150d2a31e0f75e28a9e14d6d0d88a09dafb014f0
kubernetes-client-windows-amd64.tar.gz 760ae08da6045ae7089fb27a9324e77bed907662659364857e1a8d103d19ba50e80544d8c21a086738b15baebfd9a5fa78d63638eff7bbe725436c054ba649cc

服务器端可执行文件

文件名 sha512 hash
kubernetes-server-linux-amd64.tar.gz 69db41f3d79aa0581c36a3736ab8dc96c92127b82d3cf25c5effc675758fe713ca7aa7e5b414914f1bc73187c6cee5f76d76b74a2ee1c0e7fa61557328f1b8ef
kubernetes-server-linux-arm.tar.gz ca302f53ee91ab4feb697bb34d360d0872a7abea59c5f28cceefe9237a914c77d68722b85743998ab12bf8e42005e63a1d1a441859c2426c1a8d745dd33f4276
kubernetes-server-linux-arm64.tar.gz 79ab1f0a542ce576ea6d81cd2a7c068da6674177b72f1b5f5e3ca47edfdb228f533683a073857b6bc53225a230d15d3ba4b0cb9b6d5d78a309aa6e24c2f6c500
kubernetes-server-linux-ppc64le.tar.gz fbe5b45326f1d03bcdd9ffd46ab454917d79f629ba23dae9d667d0c7741bc2f5db2960bf3c989bb75c19c9dc1609dacbb8a6dc9a440e5b192648e70db7f68721
kubernetes-server-linux-s390x.tar.gz eb13ac306793679a3a489136bb7eb6588472688b2bb2aa0e54e61647d8c9da6d3589c19e7ac434c24defa78cb65f7b72593eedec1e7431c7ecae872298efc4de

节点可执行文件

文件名 sha512 hash
kubernetes-node-linux-amd64.tar.gz a4bde88f3e0f6233d04f04d380d5f612cd3c574bd66b9f3ee531fa76e3e0f1c6597edbc9fa61251a377e8230bce0ce6dc1cf57fd19080bb7d13f14a391b27fe8
kubernetes-node-linux-arm.tar.gz 7d72aa8c1d883b9f047e5b98dbb662bdfd314f9c06af4213068381ffaac116e68d1aad76327ead7a4fd97976ea72277cebcf765c56b265334cb3a02c83972ec1
kubernetes-node-linux-arm64.tar.gz c9380bb59ba26dcfe1ab52b5cb02e2d920313defda09ec7d19ccbc18f54def4b57cf941ac8a397392beb5836fdc12bc9600d4055f2cfd1319896cfc9631cab10
kubernetes-node-linux-ppc64le.tar.gz 7bcd79b368a62c24465fce7dcb024bb629eae034e09fb522fb43bb5798478ca2660a3ccc596b424325c6f69e675468900f3b41f3924e7ff453e3db40150b3c16
kubernetes-node-linux-s390x.tar.gz 9bda9dd24ee5ca65aaefece4213b46ef57cde4904542d94e6147542e42766f8b80fe24d99a6b8711bd7dbe00c415169a9f258f433c5f5345c2e17c2bb82f2670
kubernetes-node-windows-amd64.tar.gz d5906f229d2d8e99bdb37e7d155d54560b82ea28ce881c5a0cde8f8d20bff8fd2e82ea4b289ae3e58616d3ec8c23ac9b473cb714892a377feb87ecbce156147d

自 v1.16.0-alpha.1 起的变更日志

需要进行的操作

  • 删除了 "scheduler.alpha.kubernetes.io/critical-pod" 注解。应使用 Pod priorityspec.priorityClassName将 Pod 标记为关键。这是必须要进行的操作。见 (#80277@draveness)。
  • 必须要进行的操作:amd64 的容器镜像 tar 文件现在将在 manifest.json 的 RepoTags 节中给出体系结构。见 (#80266@javier-b-perez)。
    • 如果你正在使用 Docker 清单,则此变更对你没有影响。

其他值得注意的变化

  • 启用 master 的 etcd 和 kube-apiserver 之间的 mTLS 时,将 HTTPS 用作 etcd-apiserver 协议,将 etcd 指标或运行状况端口更改为 2382。见 (#77561@wenjiaswe)。
  • kubeletnode-lease-renew-interval 更改为 0.25 的续租期限。见 (#80429@gaorong)。
  • 修复 kubeadm upgrade diff 命令中的错误处理和潜在的空指针异常。见 (#80648@odinuge)。
  • kube-controller-manager 中的新参数 --endpoint-updates-batch-period 可用于减少由 Pod 更改生成的端点更新的数量。见 (#80509@mborsz)。
  • kubeadm如果在重置控制平面节点的集群状态时发生错误则会产生错误。见 (#80573@bart0sh)。 *由 Azure 标准负载均衡器支持的 k8s 集群中创建负载均衡器类型服务时,在 Azure 标准负载均衡器中添加的相应负载均衡器规则现在会将 “EnableTcpReset” 属性设置为 true。见 (#80624@xuto2)。
  • portworx 插件已在 libopenstorage/openstorage 上更新为 v1.0.0。见 (#80495@adityadani)。
  • 修复了在 OpenStack 或 Cinder 上分离已删除卷的问题。见 (#80518@jsafrane)。
  • 当为 CSI 驱动启用 PodInfoOnMount 时Volume上下文中新的 csi.storage.k8s.io/ephemeral 参数允许驱动程序的 NodePublishVolume 实现根据具体情况确定该卷是临时性的还是正常的持久卷。见 (#79983@pohly)。
  • 更新 gogo 下的 protobuf 以便向后序列化,用于提升深层对象上的性能。见 (#77355@apelisse)。
  • pkg/api/ref 中删除 GetReference()GetPartialReference() 函数,因为在 staging/src/k8s.io/client-go/tools/ref 中也存在相同的函数。见 (#80361@wojtek-t)。
  • 修复了 CSI 指标中的错误,即当 CSI 驱动程序不支持指标时,指标不会返回不支持的错误。见 (#79851@jparklab)。
  • 修复了 kube-addon-manager 的领导者选举逻辑中的一个错误,该错误使所有副本均处于活跃状态。见 (#80575@mborsz)。
  • Kibana 已在最新版本中进行了稍微的修改或改进。见 (#80421@lostick)。
  • kubeadm修复了拉取控制平面镜像时忽略错误的问题。见 (#80529@bart0sh)。
  • k8s.io 和 kubernetes.io 下的 CRD 必须将 api-approved.kubernetes.io 设置为 unapproved.* 或指向批准该模式下的拉取请求的链接。有关更多详细信息,请参见 https://github.com/kubernetes/enhancements/pull/1111。见 (#79992@deads2k)。
  • 当存在大量 nodePort 服务时,减少 IPVS 模式下的 kube-proxy CPU 使用率。见 (#79444@cezarsa)。
  • 为 VerifyVolumesAreAttached 和 BulkVolumeVerify 添加 CSI 迁移铺垫。见 (#80443@davidz627)。
  • 修复了当存在失败的 Pod 时导致 DaemonSet 滚动更新挂起的错误。见 (#78170@DaiHao)。
  • 修复了在 Azure 上删除节点时的重试问题。见 (#80419@feiskyer)。
  • 在 Windows 上添加对 AWS EBS 的支持。见 (#79552@wongma7)。
  • 现在,在 --cpu-manager-policy 参数中传递无效的策略名称将导致 kubelet 失败,而不是简单地忽略该参数并运行 cpumanager 的默认策略。见 (#80294@klueska)。
  • 将过滤器扩展点添加到调度框架。见 (#78477@YoubingLi)。
  • 现在,在 Windows 节点上的 kubelet 摘要 API 中报告了 cpuUsageNanoCores。见 (#80176、@liyanhui1228](https://github.com/liyanhui1228))。
  • PodSpec 中引入了 []TopologySpreadConstraint,以支持 “Even Pods Spread” alpha 功能。见 (#77327@Huang-Wei)。
  • kubeadm在某些 HTTP 错误的情况下回退到客户端版本。见 (#80024@RainbowMango)。
  • 现在已启用 NFS 驱动程序来收集指标,StatFS 指标提供程序用于收集指标。见 (#75805@brahmaroutu)。
  • 根据 kubelet 中的节点状态更新频率使节点租约更新间隔更具启发性。见 (#80173@gaorong)。
  • 将 Pod 开销功能引入调度程序,此功能为 alpha 级别。见 (#78319@egernst)。
    • 从 Kubernetes v1.16 开始,只有启用 PodOverhead 特性开关的服务器才能使用该功能。
  • N/A 见(#80260@khenidak)。
  • 将 v1.Container.SecurityContext.WindowsOptions.RunAsUserName 添加到 Pod 规范中。(#79489@bclau)。
  • 将卷 MountOptions 传递到 CSI 节点上的全局挂载点NodeStageVolume。见 (#80191@davidz627)。
  • 将 Score 扩展点添加到调度框架。见 (#79109@ahg-g)。

v1.16.0-alpha.1

文档

下载 v1.16.0-alpha.1

文件名 sha512 hash
kubernetes.tar.gz 4834c52267414000fa93c0626bded5a969cf65d3d4681c20e5ae2c5f62002a51dfb8ee869484f141b147990915ba57be96108227f86c4e9f571b4b25e7ed0773
kubernetes-src.tar.gz 9329d51f5c73f830f3c895c2601bc78e51d2d412b928c9dae902e9ba8d46338f246a79329a27e4248ec81410ff103510ba9b605bb03e08a48414b2935d2c164b

客户端可执行文件

文件名 sha512 hash
kubernetes-client-darwin-386.tar.gz 3cedffb92a0fca4f0b2d41f8b09baa59dff58df96446e8eece4e1b81022d9fdda8da41b5f73a3468435474721f03cffc6e7beabb25216b089a991b68366c73bc
kubernetes-client-darwin-amd64.tar.gz 14de6bb296b4d022f50778b160c98db3508c9c7230946e2af4eb2a1d662d45b86690e9e04bf3e592ec094e12bed1f2bb74cd59d769a0eaac3c81d9b80e0a79c8
kubernetes-client-linux-386.tar.gz 8b2b9fa55890895239b99fabb866babe50aca599591db1ecf9429e49925ae478b7c813b9d7704a20f41f2d50947c3b3deecb594544f1f3eae6c4e97ae9bb9b70
kubernetes-client-linux-amd64.tar.gz e927ac7b314777267b95e0871dd70c352ec0fc967ba221cb6cba523fa6f18d9d193e4ce92a1f9fa669f9c961de0e34d69e770ef745199ed3693647dd0d692e57
kubernetes-client-linux-arm.tar.gz 4a230a6d34e2ffd7df40c5b726fbcbb7ef1373d81733bfb75685b2448ed181eb49ef27668fc33700f30de88e5bbdcc1e52649b9d31c7940760f48c6e6eb2f403
kubernetes-client-linux-arm64.tar.gz 87c8d7185df23b3496ceb74606558d895a64daf0c41185c833a233e29216131baac6e356a57bb78293ed9d0396966ecc3b00789f2b66af352dc286b101bcc69a
kubernetes-client-linux-ppc64le.tar.gz 16ea5efa2fc29bc7448a609a7118e7994e901ab26462aac52f03b4851d4c9d103ee12d2335360f8aa503ddbb2a71f3000f0fcb33597dd813df4f5ad5f4819fa9
kubernetes-client-linux-s390x.tar.gz 7390ad1682227a70550b20425fa5287fecf6a5d413493b03df3a7795614263e7883f30f3078bbb9fbd389d2a1dab073f8f401be89b82bd5861fa6b0aeda579eb
kubernetes-client-windows-386.tar.gz 88251896dfe38e59699b879f643704c0195e7a5af2cb00078886545f49364a2e3b497590781f135b80d60e256bad3a4ea197211f4f061c98dee096f0845e7a9b
kubernetes-client-windows-amd64.tar.gz 766b2a9bf097e45b2549536682cf25129110bd0562ab0df70e841ff8657dd7033119b0929e7a213454f90594b19b90fa57d89918cee33ceadba7d689449fe333

服务器端可执行文件

文件名 sha512 hash
kubernetes-server-linux-amd64.tar.gz dfd5c2609990c9b9b94249c654931b240dc072f2cc303e1e1d6dec1fddfb0a9e127e3898421ace00ab1947a3ad2f87cfd1266fd0b6193ef00f942269388ef372
kubernetes-server-linux-arm.tar.gz 7704c2d3c57950f184322263ac2be1649a0d737d176e7fed1897031d0efb8375805b5f12c7cf9ba87ac06ad8a635d6e399382d99f3cbb418961a4f0901465f50
kubernetes-server-linux-arm64.tar.gz fbbd87cc38cfb6429e3741bfd87ecec4b69b551df6fb7c121900ced4c1cd0bc77a317ca8abd41f71ffd7bc0b1c7144fecb22fa405d0b211b238df24d28599333
kubernetes-server-linux-ppc64le.tar.gz cfed5b936eb2fe44df5d0c9c6484bee38ef370fb1258522e8c62fb6a526e9440c1dc768d8bf33403451ae00519cab1450444da854fd6c6a37665ce925c4e7d69
kubernetes-server-linux-s390x.tar.gz 317681141734347260ad9f918fa4b67e48751f5a7df64a848d2a83c79a4e9dba269c51804b09444463ba88a2c0efa1c307795cd8f06ed840964eb2c725a4ecc3

节点可执行文件

文件名 sha512 hash
kubernetes-node-linux-amd64.tar.gz b3b1013453d35251b8fc4759f6ac26bdeb37f14a98697078535f7f902e8ebca581b5629bbb4493188a7e6077eb5afc61cf275f42bf4d9f503b70bfc58b9730b2
kubernetes-node-linux-arm.tar.gz 0bacc1791d260d2863ab768b48daf66f0f7f89eeee70e68dd515b05fc9d7f14b466382fe16fa84a103e0023324f681767489d9485560baf9eb80fe0e7ffab503
kubernetes-node-linux-arm64.tar.gz 73bd70cb9d27ce424828a95d715c16fd9dd22396dbe1dfe721eb0aea9e186ec46e6978956613b0978a8da3c22df39790739b038991c0192281881fce41d7c9f1
kubernetes-node-linux-ppc64le.tar.gz a865f98838143dc7e1e12d1e258e5f5f2855fcf6e88488fb164ad62cf886d8e2a47fdf186ad6b55172f73826ae19da9b2642b9a0df0fa08f9351a66aeef3cf17
kubernetes-node-linux-s390x.tar.gz d2f9f746ed0fe00be982a847a3ae1b6a698d5c506be1d3171156902140fec64642ec6d99aa68de08bdc7d65c9a35ac2c36bda53c4db873cb8e7edc419a4ab958
kubernetes-node-windows-amd64.tar.gz 37f48a6d8174f38668bc41c81222615942bfe07e01f319bdfed409f83a3de3773dceb09fd86330018bb05f830e165e7bd85b3d23d26a50227895e4ec07f8ab98

自 v1.15.0起的变更日志

需要进行的操作

  • 调度程序开始使用 v1beta1 Event API。任何针对调度程序事件的工具都需要使用 v1beta1 事件 API。见 (#78447@yastij)。
  • 删除了 scheduler.alpha.kubernetes.io/critical-pod 注解。应使用 Pod priorityspec.priorityClassName将 Pod 标记为关键。这是必须要进行的操作。见 (#80342@draveness)。
  • hyperkubev1.14 中弃用的 --make-symlinks 参数已被删除。见 (#80017@Pothulapati)。
  • beta.kubernetes.io/metadata-proxy-readybeta.kubernetes.io/metadata-proxy-readybeta.kubernetes.io/kube-proxy-ds-ready(节点标签)不再添加到新节点上。见 (#79305@paivagustavo)。 * ip-mask-agent 插件开始使用标签 node.kubernetes.io/masq-agent-ds-ready 代替 beta.kubernetes.io/masq-agent-ds-ready 作为其节点选择器。 * kube-proxy 插件开始使用标签 node.kubernetes.io/kube-proxy-ds-ready 代替 beta.kubernetes.io/kube-proxy-ds-ready 作为其节点选择器。 * metadata-proxy 插件开始使用标签 cloud.google.com/metadata-proxy-ready 代替 beta.kubernetes.io/metadata-proxy-ready 作为其节点选择器。 * kubelet 删除了通过 --node-labels 标签(特定允许的标签或前缀 除外)设置 kubernetes.io k8s.io 标签的功能。
  • 默认情况下不再提供以下 API见 (#70672@liggitt)。 * apps/v1beta1apps/v1 下的所有资源 - 改用 apps/v1 * extensions/v1beta1 下的资源 daemonsetsdeploymentsreplicasets - 改用 apps/v1 * extensions/v1beta1 下的资源 networkpolicies - 改用 networking.k8s.io/v1 * extensions/v1beta1 下的资源 podsecuritypolicies - 改用 policy/v1beta1
    • 可以使用 --runtime-config apiserver 参数临时重新启用服务这些资源。
      • apps/v1beta1=true
      • apps/v1beta2=true
      • extensions/v1beta1/daemonsets=true,extensions/v1beta1/deployments=true,extensions/v1beta1/replicasets=true,extensions/v1beta1/networkpolicies=true,extensions/v1beta1/podsecuritypolicies=true
    • v1.18 中将完全删除提供这些资源的功能。
  • 必须要进行的操作:--resource-container 弃用参数已从 kube-proxy 中移除。见 (#78294@vllry)。现在指定它会导致错误。现在的行为就好像你指定了 --resource-container=""。如果以前指定了非空 --resource-container,则从 kubernetes 1.16 开始,你将无法再这样做。见 (#78294@vllry)。
    • --resource-container 参数已从 kube-proxy 中删除,现在指定它会导致错误。现在的行为就好像你指定了 --resource-container=""。如果以前指定了非空 --resource-container,则从 kubernetes 1.16 开始,你将无法再这样做。

其他值得注意的变化

  • 启用 HPAScaleToZero 功能开关后HPA 支持根据对象或外部指标将比例缩放到零。只要至少有一个指标HPA 就会保持活跃状态。见 (#74526@DXist)。
    • 要将集群降级到不支持从零缩放功能的版本,请执行以下操作:
      1. 确保没有 minReplicas = 0 的 hpa 对象,这是将其更新为 1 的 oneliner
    • $ kubectl get hpa --all-namespaces  --no-headers=true | awk  '{if($6==0) printf "kubectl patch hpa/%s --namespace=%s -p \"{\\"spec\\":{\\"minReplicas\\":1}}\"
      

", $2, $1 }' | sh * 2. 禁用 HPAScaleToZero 功能开关

  • 添加对列出树形自定义调度程序插件的支持。见 (#78162@hex108)。
  • 删除不推荐使用的 github.com/kardianos/osext 依赖项。见 (#80142)。
  • 将绑定扩展点添加到调度框架。见 (#79313@chenchun)。
  • 在 Windows 系统上,如果 HOMEDRIVE\HOMEPATH 不包含 .kube *,则 USERPROFILE 现在比 HOMEDRIVE\HOMEPATH 更适合作为主文件夹。将 --kubernetes-version 添加到 kubeadm init phase certs cakubeadm init phase kubeconfig 中。见 (#80115@gyuho)。
  • kubeadm ClusterConfiguration 现在支持特性开关IPv6DualStacktrue。见 (#80145@Arvinderpal)。
  • 修复了 ListOptions.AllowWatchBookmarks 在 kube-apiserver 中无法正确传播的错误。(#80157@wojtek-t)。
  • 修复了 CSI 插件支持不需要附加安装的原始块失败的问题。见 (#79920@cwdsuzhou)。
  • 将体面终止的日志级别增加到 v=5。见 (#80100@andrewsykim)。
  • kubeadm支持从原始集群中获取配置信息以进行 upgrade diff 操作。见 (#80025@SataQiu)。
  • sample-apiserver 获得了对 /openapi/v2 上提供的 OpenAPI v2 规范的支持。(#79843@sttts)。
    • The generate-internal-groups.sh script in k8s.io/code-generator will generate OpenAPI definitions by default in pkg/generated/openapi. Additional API group dependencies can be added via OPENAPI_EXTRA_PACKAGES=<group>/<version> <group2>/<version2>....
  • CinderScaleIO volume驱动已被弃用并将在以后的版本中删除。见 (#80099, @dims)。
  • 1.14 中已经弃用 kubelet 的 --containerized 参数。此参数在 1.16 中已被删除。(#80043@dims)。
  • 在可能的情况下,通过查询实例 ID 而不是 EC2 过滤器来优化 AWS 云提供商库中的 EC2 DescribeInstances API 调用。见 (#78140@zhan849)。
  • etcd 升级镜像不再支持 etcd2 版本。见 (#80037@dims)。
  • 将 WatchBookmark 功能升级为 Beta 功能并默认启用它。见 (#79786@wojtek-t)。
    • 借助 WatchBookmark 功能,客户端可以请求具有 BOOKMARK 类型的监视事件。客户端不应该假定书签在任何特定的时间间隔内返回,也不能假定服务器将在会话期间发送任何 BOOKMARK 事件。
  • 升级 go 到 1.12.7。见 (#79966@tao12345666333)。
  • --shutdown-delay-duration 添加到 kube-apiserver 中以延迟正常关闭。在这段时间内,/healthz 将继续返回成功,并且请求将正常处理,但是 /readyz 将立即返回失败。此延迟可用于允许 SDN 更新所有节点上的 iptables 并停止发送流量。见 (#74416@sttts)。
  • MutatingWebhookConfigurationValidatingWebhookConfiguration API 已升级为 admissionregistration.k8s.io/v1:见 (#79549@liggitt)。 * v1 的默认 failurePolicyIgnore 更改为 Fail * v1 的默认 matchPolicyExact 更改为 Equivalent * v1 的默认 timeout30s 更改为 10s * 删除了 sideEffects 默认值并且该字段为必填字段v1 仅允许使用 NoneNoneOnDryRun * 删除了 admissionReviewVersions 默认值,并为 v1 设置了必填字段AdmissionReview 支持的版本为 v1v1beta1 * 对于通过 admissionregistration.k8s.io/v1 创建的 MutatingWebhookConfigurationValidatingWebhookConfiguration 对象,指定 Webhook 的 name 字段必须唯一
    • MutatingWebhookConfigurationValidatingWebhookConfigurationadmissionregistration.k8s.io/v1beta1 版本已弃用,在 v1.19 中将不再提供。
  • 垃圾收集器和通用对象配额控制器已更新为使用元数据客户端,从而改善了内存性能。见 (#78742@smarterclayton)。
    • Kube 控制器管理器的 CPU 使用率。
  • 现在,发送的用于 RBAC 升级、模拟和 Pod 安全策略授权检查的 SubjectAccessReview 请求将填充版本属性。见 (#80007@liggitt)。
  • na 见 (#79892@mikebrow)。
  • 使用 O_CLOEXEC 确保文件描述符不会泄漏到子进程。见 (#74691@cpuguy83)。
  • 命名空间控制器已更新为使用元数据客户端,从而改善了内存性能。见 (#78744@smarterclayton)。
    • Kube 控制器管理器的 CPU 使用率。
  • NONE 见 (#79933@mm4tt)。
  • 添加 kubectl replace --rawkubectl delete --raw 与 create 和 get 相等。见 (#79724@deads2k)。
  • E2E 测试不再将命令行参数直接添加到命令行中,如果测试组件不使用 HandleFlags则需要对其进行更新。见 (#75593@pohly)。
    • 再次加载带有后缀(在 1.13 中引入)的 -viper-config=e2e.yaml 可以正常工作,现在进行了回归测试。
  • Kubernetes 现在支持 API 响应的透明压缩。如果 API 调用大于 128 KB则发送 “Accept-Encodinggzip” 的客户端现在将收到 GZIP 压缩的响应正文。Go 客户端默认会自动请求 gzip 编码,并且对于非常大的 API 请求,应该会减少传输时间。其他语言的客户端可能需要进行更改才能从压缩中受益。见 (#77449@smarterclayton)。
  • 解决了由非 2xx HTTP 响应对 / 请求的服务支持的聚合 API 的问题。见 (#79895@deads2k)。
  • fluentd 更新至 1.5.1elasticsearchs 和 kibana 更新至 7.1.1。见 (#79014@monotek)。
  • kubeadm实现对堆叠的 etcd 成员的并发添加或删除的支持。见 (#79677@neolit123)。
  • 添加了指标 apiserver_watch_events_total,可用于了解系统中监视事件的数量。见 (#78732@mborsz)。
  • KMS 提供商将在 kube-apiservers 的加密配置中安装 kms 状态的运行状况检查插件。见 (#78540@immutableT)。
  • 修复了使用 x-kubernetes-preserve-unknown-fields 扩展为自定义资源发布的 openapi 中的一个错误,该错误使 kubectl 将允许为该对象的某部分发送未知字段。见 (#79636@liggitt)。
  • 添加了新的客户端 k8s.io/client-go/metadata.Client,用于一般性地访问对象。一般情况下,对于使用处理对象(例如垃圾收集器、配额或命名空间控制器)的用例,该客户端使以有效方式从集群上的资源仅检索元数据(“元数据”部分)变得更加容易。客户端要求服务器返回一个 meta.k8s.io/v1 PartialObjectMetadata 对象,用于在常规 API 和自定义资源上进行列表、获取、删除、监视和修补操作,这些操作可以在 protobuf 中进行编码以进行其他工作。如果服务器尚不支持此 API则客户端将正常使用 JSON 并将响应对象转换为 PartialObjectMetadata。见 (#77819@smarterclayton)。
  • 将 csi 插件中的超时值从 15 s 更改为 2 min从而解决了超时问题。见 (#79529@andyzhangx)。
  • kubeadmcontrolPlaneEndpoint 提供 --control-plane-endpoint 参数。见 (#79270@SataQiu)。
  • 当 kubectl cp 操作复制一个文件时,修复无效的 "time stamp is the future" 错误。见 (#73982@tanshanshan)。
  • 现在,即使云平台所报告的节点 IP 集合发生了变化kubelet 也应该能够更可靠地报告相同的主节点 IP。见 (#79391, @danwinship)。
  • 允许将控制器管理器配置为使用 IPv6 双协议栈:见 (#73977@khenidak)。
    • 使用 --cluster-cidr="<cidr1>,<cidr2>"

    • 注意:

      1. 仅使用前两个 CIDR对 Alpha 功能的软限制,稍后可能会取消)。
      1. 仅将 "RangeAllocator"(默认值)作为 --cidr-allocator-type 的值。云分配器与 IPv6 双协议栈不兼容。
  • 当使用一致性测试镜像时,新的环境变量 E2E_USE_GO_RUNNER 将使测试使用基于 golang 的新测试运行程序而不是当前的 bash 包装程序运行。见 (#79284@johnSchnake)。
  • kubeadm通过使用非 root 用户防止 PSP 阻止升级镜像提前拉取操作。见 (#77792@neolit123)。
  • kubelet 现在接受 --cni-cache-dir 选项,默认为 /var/lib/cni/cache这是 CNI 存储缓存文件的位置。(#78908@dcbw)。
  • Azure API 版本已更新(容器 registry 到 2018-09-01网络到 2018-08-01。见 (#79583)。
  • 修复 doSafeMakeDir 中可能的文件描述符泄漏和目录关闭。见 (#79534@odinuge)。
  • kubeadm修复 --cri-socket 参数不适用于 kubeadm reset 操作的错误。见 (#79498@SataQiu)。
  • kubectl log 操作 --selector 支持 --tail = -1。见 (#74943@JishanXing)。
  • 为 RuntimeClass 引入新的准入控制器。最初,如果指定了相应的 RuntimeClassName则将使用 RuntimeClass 与给定 RuntimeClass 关联的 Pod 开销应用于 Pod spec。见 (#78484@egernst)。
    • 从 Kubernetes 1.16 开始PodOverhead 是 Alpha 功能。
  • 使用小于 1 MiB 的巨大页面来修复 AArch64 中的 kubelet 错误。见 (#78495@odinuge)。
  • 在 v1.13 版本中弃用的 alpha metadata.initializers 字段已被删除。见 (#79504@yue9944882)。
  • 修复 cli 命令中的重复错误消息。见 (#79493@odinuge)。
  • 当注解 azure-load-balancer-resource-group 的值为空字符串时,应使用默认 resourceGroup。见 (#79514@feiskyer)。
  • 监视某个资源时修复 kubectl get --watch-only 输出内容。见 (#79345@liggitt)。
  • RateLimiter 添加了 context-aware 方法,修复了异步超时场景中的 client-go 请求 goruntine backlog 问题。见 (#79375@answer1991)。
  • 修复了当 Pod 的重启策略设置为 Never 时kubelet 不会重试 Pod 沙盒创建的问题。见 (#79451@yujuhong)。
  • 修复 items 字段中的 CRD 验证错误。见 (#76124@tossmilestone)。
  • CRD 处理程序现在可以正确地重新创建过时的 CR 存储,以反映 CRD 更新。见 (#79114@roycaihw)。
  • 将 in-tree 和 CSIVolume卷的Volume限制集成到一个调度器条件Scheduler Predicate。见 (#77595@bertinatto)。
  • 修复了源代码 printers 函数中可能导致 kube-apiserver 崩溃的错误。见 (#79349@roycaihw)。
  • 将主机上的 /home/kubernetes/bin/nvidia/vulkan/icd.d 挂载到请求 GPU 的容器内的 /etc/vulkan/icd.d。见 (#78868@chardch)。
  • 移除 CSIPersistentVolume 功能特性开关。见 (#79309@draveness)。
  • 初始化容器资源请求现在会影响 Pod QoS 类。见 (#75223@sjenning)。
  • 将 kube-scheduler 和 kube-apiserver 允许的最大不安全绑定端口更正为 65535。(#79346@ncdc)。
  • 修复在 kubeadm 重置期间从集群中删除 etcd 成员问题。见 (#79326@bradbeam)。
  • 移除 KubeletPluginsWatcher 特性开关。见 (#79310@draveness)。
  • 移除 HugePages、VolumeScheduling、CustomPodDNS 和 PodReadinessGates 功能参数。见 (#79307@draveness)。
  • GA 版本中的 PodPriority 特性开关现在默认情况下处于打开状态,无法禁用。PodPriority 特性开关将在 v1.18 中删除。见 (#79262, @draveness)。
  • 禁用相关功能开关时,删除 PID cgroup 控制器要求。见 (#79073@rafatio)。
  • 添加调度框架的绑定扩展点。见 (#78513@chenchun)。
  • 如果 targetPort 更改,则将由服务控制器处理 targetPort。见 (#77712@Sn0rt)。
  • 升级 go 到 1.12.6。见 (#78958@tao12345666333)。
  • kubeadm修复了因 kubeadm 发现无效的、现有的 kubeconfig 文件而可能引起的崩溃问题。见 (#79165@neolit123)。
  • 修复 kubelet 的 Pod 目录(默认为 /var/lib/kubelet/pods象征性地链接到另一个磁盘设备的目录时kubelet 无法删除孤立的 pod 目录的问题。见 (#79094@gaorong)。
  • 作为 Pod Overhead KEP 的一部分,将 Overhead 字段添加到 PodSpec 和 RuntimeClass 类型中。见 (#76968@egernst)。
  • 修正 Pod 列表返回值为 framework.WaitForPodsWithLabelRunningReady。见 (#78687@pohly)。
  • 对于 GCE Ingress 负载均衡器的 404 请求的默认处理程序的行为,在某种程度上已进行了一些修改,即它现在使用 Prometheus 导出指标。导出的指标包括:见 (#79106@vbannai)。
      • http_404_request_total (已处理的 404 请求数目)
      • http_404_request_duration_ms (服务器响应所花费的时间(以毫秒为单位))
    • 还包括百分位数分组。默认 404 处理程序的目录包括有关如何启用 Prometheus 来监视和设置警报的说明。
  • kube-apiserver 改进了启动和关闭序列的行为,现在还公开了 eadyz 用来进行就绪检查。Readyz 包括所有现有的 healthz 检查,但还添加了关闭检查。当集群管理员启动关闭时, kube-apiserver 将在杀死 apiserver 进程之前尝试处理现有请求(在请求超时时间内)。见 (#78458@logicalhan)。
    • apiserver 现在还带有一个可选参数 --maximum-startup-sequence-duration。这样,您就可以在 healthz 开始失败之前明确定义 apiserver 启动序列的上限。通过使 kubelet 活跃度初始延迟尽量较短,尽管启动序列没有在预期的时间范围内完成并且缺少较长的启动序列(如 RBAC但可以使 kubelet 快速恢复。当此标志的值为零时kube-apiserver 行为是向后兼容的(这是该参数的默认值)。
  • 修复了使 Azure 磁盘 URI 不区分大小写的问题。见 (#79020@andyzhangx)。
  • 启用 cAdvisor ProcessMetrics 指标收集。见 (#79002@jiayingz)。
  • 修复了 kubectl set config 挂起并在某些无效的属性名称上使用 100 CPU 的错误。见 (#79000@pswica)。
  • 修复了 IPVS 正常终止操作中不删除 UDP 真实服务器的字符串比较错误。见 (#78999@andrewsykim)。
  • 重构 watchHandler Warning 日志 The resourceVersion for the provided watch is too old,现在被设置为 Info。见 (#78991@sallyom)。
  • 修复了守护程序控制器daemon controller无法从不匹配的节点删除 Pod 的错误。见 (#78974@DaiHao)。
  • NONE 见 (#78821@jhedev)。
  • 在默认的 GCE 存储类中启用了卷扩展。见 (#78672@msau42)。
  • kubeadm使用 service-cidr 参数通过其 service-cluster-ip-range 参数将所需的服务 CIDR 传递到 kube-controller-manager。见 (#78625@Arvinderpal)。
  • kubeadm在阶段命令 kubeadm init phase certs 操作中引入确定性顺序用于生成证书。见 (#78556@neolit123)。
  • 将预过滤器扩展点添加到调度框架。见 (#78005@ahg-g)。
  • 修复由于 flexvol 插件中的 mnt 点损坏而导致的卡住问题,如果 PathExists 返回任何错误,请调用 Unmount 操作。见 (#75234@andyzhangx)。