写点什么

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:002887
用户头像

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

关注

评论

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

如何做“健康码”的性能压测

阿里巴巴云原生

云原生 压测 健康码

创新推出 | Serverless 调试大杀器:端云联调

阿里巴巴云原生

阿里云 Serverless 云原生 端云联调

AI生明月,万里共文心

脑极体

【架构师训练营】模块七作业

樰巳-堕~Horry

架构实战营 「架构实战营」

网络安全之小程序抓包渗透测试流程

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

架构训练营模块二作业

苍狼

作业 模块二 架构训练营5期

MyBatis3源码解析(3)查询语句执行

Java mybatis

MyBatis3源码解析(6)TypeHandler使用

Java mybatis

MyBatis Demo 编写(2)结果映射转换处理

Java mybatis

性能分析之用户登录TPS低以及CPU被打满问题分析

zuozewei

性能分析 2月月更

MySQL RC事务隔离级别的实现

JavaEdge

2月月更

MyBatis3源码解析(4)参数解析

Java mybatis

设计模式【15】--从审批流中学习责任链模式

秦怀杂货店

Java 设计模式

Go 语言入门很简单:基准测试

宇宙之一粟

Go 语言 2月月更

服务网格 ASM 年终总结:最终用户如何使用服务网格?

阿里巴巴云原生

阿里云 云原生 服务网格 容器服务

MyBatis3源码解析(7)TypeHandler注册与获取

Java mybatis

MyBatis3源码解析(8)MyBatis与Spring的结合

Java mybatis

Linux系统编程-进程间通信(共享内存)

DS小龙哥

Linux 共享内存 2月月更

Apache RocketMQ + Hudi 快速构建 Lakehouse

阿里巴巴云原生

阿里云 开源 云原生 消息队列

人人都是 Serverless 架构师 | 弹幕应用开发实战

阿里巴巴云原生

阿里云 Serverless 架构 云原生

MyBatis3源码解析(2)数据库连接

Java mybatis

MyBatis Demo 编写(1)基础功能搭建

Java mybatis

Mybatis3 源码解析系列

Java mybatis

Kubernetes集群统一日志管理方案(Elasticsearch+Filebeat+Kibana+Metricbeat)搭建教程

山河已无恙

Kubernetes 2月月更

SchedulerX 如何帮助用户解决分布式任务调度难题?

阿里巴巴云原生

阿里云 云原生 公有云 SchedulerX

《MySQL入门很轻松》第4章:数据表的创建修改删除

乌龟哥哥

数据库 2月月更

年度盘点|2021 年阿里云可观测实践回顾

阿里巴巴云原生

阿里云 云原生 可观测 Arms Arms 告警运维中心

云原生年度技术盘点出炉!乘风破浪正当时

阿里巴巴云原生

阿里云 云原生 年度盘点

MyBatis3源码解析(5)查询结果处理

Java mybatis

一个cpp协程库的前世今生(二十六)共享栈

SkyFire

c++ cocpp

如何实现一个人管理1000个主播?

优秀

低代码 直播带货, 主播

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