Kubernetes 1.4 版已于本周发布,该发布版本所提供的新特性改进了开发和运维的体验,简化了集群的部署、认证处理、网络、安全和应用部署。此外,该发布版本扩展了集群联邦能力,改进了跨越多重集群和多重云的部署功能。
虽然这次发布的版本中添加了很多新的特性,但是面对可用于 Kubernetes 的多种不同的安装方案和工具时,简化集群部署仍然是该版本的主要目标之一。
安装与易用性
- 对于 Red Hat 和 Ubuntu 等 Linux 的主要发布版本,已经可用 apt-get 和 yum 安装 Kubernetes 的操作系统包。
- 新的 kubeadm 命令将集群启动简化为两个命令,并且命令的使用是独立于架构类型的,无论架构是共用的、私有的或是专用服务器。使用上类似于自 Docker 1.2 版本之后的所提供 Docker Swarm 命令,kubeadm init 命令用于启动主服务,kubeadm join 命令用于在集群中添加节点。
- DaemonSets 确保选定集群中节点去运行 Pod 的一个拷贝。在这种方式下,可简化覆盖网络的扩展部署为使用 kubectl apply 命令。
- 新的认证 API 通过对 kubelet TLS 自引导的授权简化了安全网络。
- Kubernetes Dashboard 的用户界面现在已支持 90% 的 CLI 功能。
有状态应用
- ScheduledJobs 实现了在设定的时间去运行批处理作业,或是使用 cron 理念对作业进行定时重复地运行。
- Init-container 用于对多层应用启动时的顺序依赖性的确定,实现了先于主 Pod 启动而运行一个或更多的容器。
- 基于新的 Storage Class API 对象,当前集群可以动态地为 PersistantVolumeClaims 提供卷。
- 使用 Helm Package Manager 第二版, Drupal、Wordpress 和 Jenkins 等公共的有状态应用将作为 Helm charts 提供,实现了简明的单命令加载。
联邦
- 现在联邦副本集(Federated Replica Sets)可跨集群对副本进行控制,这实现了跨区域或跨云平台的备份。以这种方式所创建的副本在集群中可平均分布。
- 联邦 Ingress 采用第七层全局负载均衡虚拟 IP,将已部署服务散布到集群联邦中。该功能当前仅支持 Google 云平台 (Google Cloud Platform,GCP)。以该 IP 为目标的外部客户会被发送至集群联邦中最近的可用地区或区域上。
- 当前联邦 API 中包括了机密(secret)、事件和命名空间。
安全
- 容器镜像策略(Container Image Policies)可用于限定 Pod 的部署,这种限定是基于镜像需求的,例如仅允许特定的基础镜像。
- 对 AppArmor 的支持使管理员可以对 Pod 加密、提供审计和监控功能。
- Pod 安全策略(Pod Security Policies)控制了用于 Pod 和容器的安全上下文的创建和验证。
架构
- Pod 间亲缘性和反亲缘性使得 Pod 可以共存一处或是散布各处。
- 对 DNS、Heapster 和 Dashboard 等集群附加组件的优先权调度能力已可用。
- 引入了 Pod 销毁预算(Pod Disruption Budget)功能,用于限制使用集群管理操作(节点管理)删除 Pod 所导致的影响。
- 用于 Quobyte 和 Azure Data Disk 的全新卷管理插件已经被添加到该版本中。
- 添加了对 Swagger 2.0 的支持,实现对非 Go 客户的支持。
在采用 Kubernetes 1.4 之前,管理员应该遵循更新日志所记录的代办事项。 有意于对运行版本进行升级的管理员应额外关注一下实验性脚本 upgrade.sh 。
Kubernetes 当前已在许多组织中得到大范围采用。Kubernetes 的发展包括了专业支持服务以及动态的贡献,仅对Kubernetes 1.4 版本,就有超过900 贡献者编写了不下5,000 次的提交。Kubernetes 的一些生产特性仍处于开发阶段,例如多可用区域支持和良好结构化的文档。这体现在该版本更新日志中所列出的27 个特性中,有21 个特性仍标记为Beta 或是Alpha。
在Kubernetes 1.4 版本发布之外, Kubernetes 1.3.8 修正版也于本周发布。
查看英文原文: Kubernetes 1.4 Simplifies Cluster Deployment, Improves Security and Federation
感谢夏雪对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论