Kubernetes 1.4 简化了集群部署并改进了安全和联邦

  • Grischa Ekart
  • Rays

2016 年 10 月 9 日

话题:DevOps语言 & 开发Kubernetes

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)关注我们。

DevOps语言 & 开发Kubernetes