在美国西雅图KubeCon大会上,Apprenda发布了开源工具Kismatic Enterprise Toolkit(KET)的1.0.0版本,并为它提供商业支持。KET为开发和运营人员提供了一套工具,用于对生产环境Kubernetes容器集群的设计、部署和运营进行自动化。KET套件和它的源代码可以从Apprenda的Github主页下载,它的发行基于Apache 2.0协议。
谷歌在今年早些时候向Cloud Native Computing Foundation(CNCF)贡献了它的开源容器编制平台Kubernetes,Kubernetes正在与DockerSwarm和Apache Mesos展开竞争,目标是成为运行海量应用和微服务的首选平台。Kubernetes在Github上的贡献者数量接近1000个,而且社区有大量的相关项目存在。Apprenda在它的博客上提到,尽管这预示着Kubernetes生态系统的蓬勃生机,不过“在为企业用户提供端到端全生命周期的最佳实践和拆箱即用产品方面仍然有一定的短板”。
KET试图对“在生产环境运行可信任Kubernetes平台的最佳实践”进行标准化。KET包含以下特性:
提供简单直观的“kismatic”命令行接口来运行一个最小化的命令子集,这些命令足以让Kubernetes集群在生产环境运行起来。
交互式命令“kismatic install plan”遵循Hashicorp的Terraform格式,它会生成一个“kismatic-cluster-yaml”文件,这个文件包含了运行一个Kubernetes集群所需要的配置。
在对这个文件进行修改和确认后,“kismatic install apply”命令会对其进行检验,并创建一个Kubernetes集群。
在完成安装后,“kismatic”工具会对集群的伸缩性和网络连接情况做一个基本测试。
内建了作为上游的企业级安全机制,安全机制集成了LDAP/AD,并提供了RBAC策略。
提供了默认的集群服务,包括分布式心跳检测(Kuberang)和标准的Kubernetes Web仪表盘。
这些服务的出现要得益于社区对运行容器编制平台最佳实践的总结,比如Brendan Burns的“分布式系统工具:组合容器模式”,以及Brendan Burns和David Oppenheimers的“基于容器的分布式系统设计模式”。
集成了Calico。Calico是一个云原生软件,它定义了一系列网络(SDN)控制机制,提供一定粒度的“微分片”,支持IT安全策略、基于BGP的路由和虚拟分布式网络的三层配置。
集成了Linkerd。Linkerd基于RPC微服务,是一个隐藏了很多底层细节的增强层,它所隐藏的细节包括服务之间的通信、跟踪、TLS和基于TwitterFinagle的路由。
维护了一套RPM包和Debian包,简化了KET组件的发行和部署。
内建了私有容器注册中心,让集群管理员使用一个命令就可以把分布式服务交付给他们的组织。
为部署和运行HA/FT Kubernetes集群提供了详细的文档和标准化的调优建议。
如果使用商业支持,它可以运行在多数主流平台上,包括:
所有支持systemd的现代Linux平台:Red Hat、CentOS、Fedora等。
Ubuntu、Debian和CoreOS。
私有云:Bare Metal、VMware、OpenStack。
公有云:AWS,Packet。
KET与CoreOS的Kubernetes商业发行版Tectonic并驾齐驱,Tectonic包含了开源的Kubernetes组件,并加入了自己的专利技术。KET的目标是能够让运营团队把谷歌的基础设施部署到各个平台。Kubernetes的标准发行版使用JuJu部署技术创建和管理集群,并提供商业支持。Red Hat的OpenShift 3基于Kubernetes和Docker提供平台即服务(PaaS)的商业支持。谷歌容器引擎(GKE)和Platform9的容器即服务(CaaS)也基于Kubernetes提供托管服务。
在Apprenda博客上可以看到更多关于KET的发布细节,它的代码可以在Apprenda Github主页(也包含了KET未来的发展线路图)的Kismatic子目录下找到。在公共论坛上有一个Kismatic用户组和Kismatic闲聊频道,用户可以在这里讨论KET相关的问题。
本文转载自infoQ