Kubernetes 是最初由Google开发的容器编排工具,已成为敏捷和DevOps团队的重要资源。作为一个开源工具,Kubernetes本身正在成为一个生态系统,正在开发其他工具来支持它。其中一些扩展也是直接来自Kubernetes,还有一些是基于自身开发的项目。
Kubernetes 已经在其网站上提供了原生的开源工具列表,但我们认为更深入地探索每个工具是有用的。本文列出的有些工具是Kubernetes初学者的首选,而其他工具也值得你收藏,当你你掌握了强大的系统知识之后一定也需要用得到。
如果你准备尝试这些工具,Kubernetes会提供大量文档来帮助你。
原生工具
1、Kubeadm
Kubeadm是命令行工具,使你可以在物理服务器,云服务器或虚拟机之上轻松配置安全的Kubernetes集群。这将允许你通过简单安全的方式配置Kubernetes集群。Kubeadm创建的集群旨在通过Kubernetes一致性测试。
Kubeadm是专为新用户设计的,可以让你更好地了解Kubernetes,并为现有用户测试应用程序和轻松创建集群。它非常适合测试Kubernetes集群的功效,同时为团队提供他们在决定采用它时(或何时)所需的可扩展性。(项目地址:https://github.com/kubernetes/kubeadm)
2、Kubectl
Kubectl是Kubernetes的命令行工具,用于控制Kubernetes集群管理器。通过利用kubectl的各种命令可以实现各种功能,在Kubectl下,有几个子命令可以实现更精确的集群管理控制,例如在不同API版本之间转换文件或执行容器命令。(完整子命令列表:https://kubernetes.io/docs/reference/generated/kubectl/kubectl/)
3、Kubefed
Kubernetes的另一个有用的命令行工具是Kubefed命令。此工具可帮助你管理联合群集。通过Kubefed,你可以部署新的Kubernetes集群联合控制平面。你还可以向现有的联合控制平面中添加/删除群集。此工具仅适用于Kubernetes 1.5及以上的版本。(项目指南:https://kubernetes.io/docs/tasks/federation/set-up-cluster-federation-kubefed/#prerequisites)
4、Minikube
Minikube是用于开发和测试的理想Kubernetes工具。对于刚开始使用Kubernetes的用户来说,它确实是一个很棒的工具。Minikube可以在本地运行单节点Kubernetes集群,以便进行开发和测试。Minikube上支持许多Kubernetes功能,包括DNS,NodePorts,ConfigMaps和Secrets,Dashboards,Container Runtime(Docker,rkt和CRI-O),支持CNI和Ingress。
Minikube的使用方法很简单
(项目地址:https://github.com/kubernetes/minikube)
5、Kubernetes Dashboard
Kubernetes Dashboard是一个非常有用的集群管理工具。通过基于Web的仪表板,你可以将容器化应用程序部署到Kubernetes集群并进行故障排除。部署完后,你还可以完整地管理群集及其所有资源。
启动并运行后,Kubernetes Dashboard将为你提供所有正在运行的应用程序的总体视图。你还可以修改任何单个Kubernetes资源。这些资源可以是DaemonSets,Deployments,Jobs以及你想要使用的任何其他资源。(项目地址:https://github.com/kubernetes/dashboard)
第三方工具
第三方Kubernetes工具不是由Kubernetes本身创建的,但仍然拥有热情的开源开发人员和社区。这些工具在Kubernetes的网站上得到了认可,所以你完全可以像信任Kubernetes一样信任它们。
1、Helm
Helm是用于管理Kubernetes图表的理想工具。Kubernetes图表是预配置的Kubernetes资源包。这些图表包含两大部分:软件包的描述,以及一个或多个Kubernetes清单文件的模板。从本质上讲,Helm简化了Kubernetes应用程序的安装和管理。
Helm拥有大量有价值的功能,可帮助DevOps团队顺利运行Kubernetes应用程序。你可以找到并使用打包为官方Kubernetes图表的流行软件。一些图表可以在Kubeapps上找到。你甚至可以创建构建并共享你自己的应用程序作为Kubernetes图表供其他人使用。(项目地址:https://github.com/helm/helm)
2、Kompose
Kompose对于在容器管理方面经验丰富但对Kubernetes不熟悉的开发人员来说是一个很好的工具。如果你对容器有经验,那么应该使用过Docker Compose。Kompose允许用户只需单击一次命令就可以将他们的Compose文件和应用程序无缝转换为Kubernetes对象。
将Docker Compose文件传输到Kubernetes资源可能不完全准确,因此请务必在传输后仔细检查。即使如此,使用Kompose进行转移对Docker Compose老手来说也是一个巨大的帮助。(项目地址:https://github.com/kubernetes/kompose)
与Kubernetes一起做更多事情
Kubernetes在Docker和微服务生态系统中扮演着不可或缺的角色。它使您能够连接和管理所需的所有容器,同时开发更灵活、更安全的应用程序。
这些工具Kubernetes生态系统的一部分。随着越来越多的开发人员采用容器和Kubernetes,相信也会有越来越多的工具出现。
作者:约翰朱利安
链接:https://stackify.com/kubernetes-tools-container-architecture/
更多精选文章,可通过扫描下方二维码关注进行查看~