写点什么

Kubernetes 1.5 发布,改进了 StatefulSet,增加了对 Windows Server 2016 的 alpha 支持

  • 2017-01-03
  • 本文字数:1934 字

    阅读完需:约 6 分钟

Cloud Native Computing Foundation (CNCF)发布了 Kubernetes 容器编排和调度系统的 1.5 版。其核心改进之处在于提供了与带状态应用的部署和扩展以及不中断应用的情况下执行集群操作相关的 beta 功能。它也提供了对可插拔容器运行时、Windows Server 2016 节点以及 Windows Server 容器调度的 alpha 支持。由于配置存在潜在安全问题,建议所有用户跳过 1.5.0 版,改为使用具有更安全的默认配置的1.5.1 版。

Kubernetes 的初始 1.5 版主要关注标记为“alpha”和“beta”的交付:

  • StatefulSet (之前叫“PetSet”)功能提升为 beta,进一步支持 Kubernetes 上持久标识和每实例存储的创建和管理;
  • PodDisruptionBudget 也提升为 beta,可用于确保完成应用程序服务级别目标(SLO)的同时安全地排除节点;
  • 在 alpha 中发布了改进的联合支持,包括一个新命令“kubefed”
  • 通过进一步改进 kubeadm 命令简化了集群的部署;
  • 高可用的主节点的 alpha 支持;
    • 这一功能通过使用“kube-up”和“kube-down”脚本复制 Kubernetes 主节点实现,现在只有 Google Compute Engine (GCE) 具有该功能。
  • Windows Server 2016 节点的 alpha 支持和对 Windows Server 容器以及 Hyper-V 容器调度的 alpha 支持;
  • 在 alpha 中引入了 Container Runtime Initiative(CRI) API,这样就能支持可插拔的容器运行时;
    • 一个实验性的 Docker-CRI 集成插件已准备测试和获取反馈;
    • cri-o 是 Kubernetes 容器运行时接口的一个基于 OCI 的实现。该接口使用了 runc 。cri-o 也可用了,但是当前被标记为“预览测试版”;
    • Kelsey Hightower 是一位 Google Staff Advocate,在 Kubernetes 社区无人不晓。他在 GitHub 上发布了开源工程 cri-o Tutorial ,献给那些渴望试用这项功能的开发人员;
  • 对访问 Kubelet API 的验证和授权能力;
  • dashboard 界面现在显示所有用户面向的对象以及它们的资源使用情况。

在 12 月 12 号发布 Kubernetes 的初始 1.5.0 版之后,在谷歌 Kubernetes 声明小组内进行的一场讨论,强调了几处配置选项的改动可能导致潜在的安全问题,这些配置在单独使用时没有问题,但是合在一起就会导致集群不安全。为了解决这一问题,Kubernetes 的 1.5.1 版第二天就发布了。建议所有用户跳过 1.5.0 版,改为使用具有更安全的默认配置的1.5.1 版。本文接下来介绍添加到最初的1.5.0 版本的新功能。

beta 阶段的 StatefulSet (之前叫“PetSet”)支持 Kubernetes 上持久标识和每实例存储的创建扩展删除修复。该功能做了几点关键的安全性提升。为了确保绝不会有pod 具有相同标识,Kubernetes 节点控制器不再自动“强制删除”无响应节点上的pod,而是等待下列三个条件之一成立:Kubelet 确认老的pod 被结束了;集群管理员删除了对应的节点;集群管理员通过命令行接口“强制删除”了pod。有一份升级指南帮助操作员从PetSet 升级到StatefulSet。

beta 阶段的 PodDisruptionBudget 是一个 API 对象,它指定了一个 pod 集合任何时候可用时副本的最少数目或最小比例。根据 Kubernetesd 的发布说明,通过使用 PodDisruptionBudget,应用部署人员能够确保完成组织的服务级目标(SLO),通过保证自愿清除 pod 的集群操作绝不会同时清除过多的 pod 以致数据丢失、宕机或者“不可接受的服务降级”。

alpha 版的 Kubefed 是一个新的命令行工具,辅助联合集群的管理、降低部署新的联合控制面板的难度以及从现有联合集群中添加或者移除集群。集群联合方面还为 ConfigMaps DaemonSets 以及部署联合API 新加了alpha 版的API 功能,因此可以从单一端点创建、更新和删除跨多个集群的对象。

Windows server 容器 containers 为 Windows Server 2016 节点和 Windows Server 容器 Containers 以及 Hyper-V 容器 Containers 的调度提供了初步支持。该功能的实现是由 Apprenda 领衔多厂商联袂打造的,其中谷歌、小红帽和微软作出了卓越的贡献。在 1.5 版本中,Kubernetes 控制面板(API 服务器、调度器、控制器管理器等等)继续运行在 Linux 上,而 kubelet 和 and kube-proxy 可以在 Windows Server 上运行。网络通信功能是使用 L3 路由实现的。但是依据 Kubernetes 文档,当前第三方网络插件(例如,flannel、calico 等等)无法直接在 Windows Server 上运行,因此为了提供核心的网络通信功能,依赖了 Windows 和 Linux 内置的现成技术。

Kubernetes 的 1.5 版可以从 GitHub 和 get.k8s.io 上下载。在 Kubernetes 博客上可以找到本次发布的额外信息。

查看英文原文: Kubernetes 1.5 Released with Improved StatefulSets and Alpha Support for Windows Server 2016


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-01-03 18:002818
用户头像

发布了 33 篇内容, 共 12.9 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

React Context源码是怎么实现的呢

flyzz177

React

阿里前端常考面试题集锦

loveX001

JavaScript

零代码平台在政府智慧城市领域的应用

明道云

2022全球边缘计算大会,火山引擎荣获“优质边缘云服务提供商”称号

火山引擎边缘云

云原生 CDN 边缘计算 边云协同 火山引擎边缘计算

React源码分析1-jsx转换及React.createElement

flyzz177

React

js事件循环与macro&micro任务队列-前端面试进阶

loveX001

JavaScript

【从零开始学爬虫】采集收视率排行数据

前嗅大数据

大数据 数据采集 爬虫软件 爬虫教程 数据采集教程

Linux RT 进程引发内核频繁卡死的优化方案

火山引擎边缘云

云计算 Linux 云原生 边缘计算 火山引擎边缘计算

明道云联合契约锁共建人事场景电子签约解决方案

明道云

手写一个Redux,深入理解其原理-面试进阶

beifeng1996

React

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

用javascript分类刷leetcode23.并查集(图文视频讲解)

js2030code

JavaScript LeetCode

React源码分析(三):useState,useReducer

flyzz177

React

深入react源码看setState究竟做了什么?

flyzz177

React

2022前端高频react面试题集锦

beifeng1996

React

能不能手写Vue响应式?前端面试进阶

bb_xiaxia1998

Vue

百度前端一面必会vue面试题合集

bb_xiaxia1998

Vue

必会vue面试题总结

bb_xiaxia1998

Vue

js异步编程面试题你能答上来几道

loveX001

JavaScript

2022面试官常考的前端面试题

loveX001

JavaScript

React源码分析(二)渲染机制

flyzz177

React

KCL 与其他 Kubernetes 配置管理工具的异同 - Kustomize 篇 [一个自研编程语言能做什么?(系列 2)]

Peefy

开发者 工具 编程语言 Kubernetes Serverless #DevOps

架构实战 - 模块3作业

mm

学生管理系统架构 #架构实战营

每日一题之请描述Vue组件渲染流程

bb_xiaxia1998

Vue

细说react源码中的合成事件

flyzz177

React

腾讯前端常考react面试题(持续更新中)

beifeng1996

React

极客时间运维进阶训练营第八周作业

9527

前端leetcde算法面试套路之回溯

js2030code

JavaScript LeetCode

你是如何使用React高阶组件的?

beifeng1996

React

明道云携手衡石科技共建企业应用数据分析联合解决方案

明道云

2022年的各大平台小游戏生态发展到哪一步了?

FN0

游戏开发 小游戏开发 小程序游戏开发

Kubernetes 1.5发布,改进了StatefulSet,增加了对Windows Server 2016的alpha支持_DevOps & 平台工程_Daniel Bryant_InfoQ精选文章