最初由Google开发的容器编排工具Kubernetes已成为敏捷和DevOps团队的重要资源。作为一个开源工具,Kubernetes正在成为一个生态系统,而其他工具也正在开发一些组件来支持Kubernetes。这些扩展组件中的部分直接来自Kubernetes,而另一些则是自己开发的项目。
虽然Kubernetes 在他们的网站上提供了原生且开源的工具列表,但如果我们可以更深入地探索列表中的每个工具将会让我们受益匪浅。列表中的一些工具是专门为Kubernetes初学者准备的,而另一些工具则是你成长道路上升级打怪不可或缺的武器——要时刻心心念之。
作为小白的你是不是已经跃跃欲试想要学习这十八般武艺了?那就先从Kubernetes提供的大量文档来开始吧(太贴心,感动到流泪有木有)。跟随指南,不断学习实践,你将可以领略Kubernetes的方方面面。
准备开启你的Kubernetes打怪升级之旅吗?come on。翻滚吧,少年!
Kubeadm是命令行工具,使你能够在物理服务器,云服务器或虚拟机之上轻松配置安全的Kubernetes集群。这使你可以轻松安全地管理Kubernetes群集。Kubeadm创建的集群毋庸置疑那是通过Kubernetes一致性测试的。
Kubeadm可以说是专为新用户量身定制的,它可以让你更好地了解Kubernetes本身,并且可以让现有用户测试应用程序并轻松创建群集。这对测试Kubernetes集群的功效非常有用,同时为团队提供他们在决定是否需要采用它时(或何时)的可扩展性。
Kubectl
Kubectl是控制Kubernetes集群管理器的Kubernetes命令行工具。在Kubectl中,有几个子命令可用于更精确的集群管理控制,例如在不同API版本之间转换文件或执行容器命令。子命令的完整列表可以在这里[1]找到。
Kubefed
Kubernetes的另一个有用的命令行工具是Kubefed命令。该工具可帮助你管理联合群集。借助Kubefed,你可以部署新的Kubernetes集群联合控制平台。你还可以向现有的联合控制平台添加群集,从中删除群集。此工具仅在Kubernetes版本1.5及更高版本中可用。
请参阅本指南[2]以保证你的集群与Kubefed一起运行。
Minikube
Minikube是用于开发和测试的理想Kubernetes工具。这也是用户刚开始使用Kubernetes的另一个好工具。Minikube可以轻松地在本地运行单节点Kubernetes集群以进行开发和测试。Minikube支持许多Kubernetes特性,包括DNS、NodePorts、ConfigMaps和Secrets、仪表板、Container运行时(Docker、rkt和CRI-O),支持CNI’s和入口。
Minikube的使用是很简单的。详细可以按照此分步指南[3]进行快速简单的安装。
仪表板
Kubernetes Dashboard是一个非常有用的群集管理工具。在基于Web的仪表板中,你可以将容器化的应用程序部署和编排到Kubernetes集群中。一旦部署完毕,你就可以完整地管理集群及其所有资源。
一旦启动并运行,Dashboard将为你提供所有正在运行的应用程序的总体视图。你还可以修改任何单个Kubernetes资源。这些资源可以是守护程序集,部署,作业或任何其他资源。
以同样的方式,Retrace[4]为你提供了一个清晰的应用程序图片,Dashboard让你查看所有Kubernetes资源,并识别可能发生的任何错误。
虽然第三方Kubernetes工具不是由Kubernetes自己开发的,但不要忘了社区的力量,更何况这是一个云集了世界各地的激情满满的开源开发者的社区。Kubernetes在他们的网站上对这些工具进行了认可,因此你可以像Kubernetes那样信任他们。
Helm
Helm是用于管理Kubernetes图表的理想工具。Kubernetes图表是预先配置的Kubernetes资源的包。这些图表有两件事情:软件包的描述以及一个或多个包含Kubernetes清单文件的模板。实质上,Helm简化了安装和管理你的Kubernetes应用程序。
Helm拥有大量有价值的功能,可帮助DevOps团队顺利运行其Kubernetes应用程序。你可以查找并使用打包成官方Kubernetes图表的流行软件。一些图表可以在Kubeapps上找到。你甚至可以创建构建和分享你自己的应用程序作为Kubernetes图表供他人使用。
Kompose
对于在容器管理方面经验丰富但不熟悉Kubernetes的开发人员来说,Kompose是一个很好的工具。如果你有使用容器的经验,那么你应该使用过Docker Compose。只需轻轻点击一次命令,Kompose就可以无缝地将Compose文件和应用程序转换为Kubernetes对象(难道这就是传说中的上帝之手)。
值得一提的是:将Docker Compose文件转换到Kubernetes资源可能并不完全准确,因此请务必在转换后仔细检查。即使如此,使用Kompose进行转换对于Docker Compose老手来说也是一个巨大的帮助。
相关链接:
https://kubernetes.io/docs/reference/generated/kubectl/kubectl/
https://kubernetes.io/docs/tasks/federation/set-up-cluster-federation-kubefed/#prerequisites
https://kubernetes.io/docs/tasks/tools/install-minikube/
https://stackify.com/retrace/