在美國西雅圖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