利用这些Kubernetes工具改进监控、命令行操作、多集群管理等。Kubernetes已成为大规模部署容器化应用程序的标准(很多人会说是标准)方式。但是,如果Kubernetes已经帮助我们驯服了大型复杂的容器部署,那么什么可以帮助我们驯服Kubernetes?它也可能复杂、混乱且难以管理。随着Kubernetes的发展,毫无疑问,它的许多问题都将在项目中得到解决。但是,一些用户并没有等待Kubernetes变得更易于使用,而是针对生产中Kubernetes的许多常见问题推出了自己的解决方案。Goldpinger:可视化Kubernetes集群人类是视觉动物。图形和图表使我们更容易理解全局。鉴于Kubernetes集群的范围和复杂性,请使用您可以获得的所有视觉帮助。由Bloomberg的技术部门开源的名为Goldpinger的工具很有趣,它非常简单,可以在Kubernetes集群中运行并显示节点之间关系的交互式地图。健康节点显示为绿色,不健康节点显示为红色。只需单击一个节点即可了解详细信息。API可以使用Swagger进行自定义,以引入额外的报告、指标或其他集成。K9s:全屏KubernetesCLIUI管理员喜欢“单一管理平台”实用程序。K9s是用于Kubernetes集群的全屏CLIUI。它提供了运行中的pod、日志和部署的快速视图,以及对shell的快速访问。请注意,用户Kubernetes需要在用户和命名空间级别被授予读取权限,K9才能正常工作。Kops:Kubernetes集群的命令行操作Kops由Kubernetes团队开发,允许对Kubernetes集群进行命令行管理。它支持运行在AWS和GCE上的集群,也支持运行VMwarevSphere等环境。除了自动化设置和拆卸过程之外,Kops还可以帮助实现其他类型的自动化。例如,它可以生成Terraform配置以允许使用Terraform重新部署集群。Kubebox:Kubernetes的终端控制台Kubebox是Kubernetes的高级终端控制台,它不仅为Kubernetes及其API提供了一个shell。它提供内存和CPU利用率的交互式显示、窗格列表、运行日志和配置编辑器。最重要的是,它可以作为适用于Linux、Windows和MacOS的独立应用程序使用。Kube-applier作为Kubernetes服务运行,Kube-applier从Git存储库中获取Kubernetes集群的声明性配置文件,并将其应用于集群中的Pod。每当对定义文件进行更改时,它们都会从存储库中提取并应用于相关的pod。本质上,AppsforKube类似于Google的Skaffold,但它用于管理整个Kubernetes集群,而不是单个应用程序。Kube-applier可以按计划或按需应用配置更改。它会在每次运行时记录其行为,并提供与Prometheus兼容的指标,因此您不必担心它如何影响集群行为。Kube-ps1:智能Kubernetes命令提示符不,Kube-ps1不是用于Kubernetes的第一代索尼PlayStation模拟器(尽管它非常漂亮)。这是对Bash的简单补充,它在提示中显示当前的Kubernetes上下文和命名空间。Kube-shell包括此功能和许多其他功能,但如果您只想提供更智能的提示,Kube-ps1几乎不会引入任何开销。Kube-prompt:交互式Kubernetes客户端KubernetesCLI的另一个最小但有用的修改,Kube-prompt允许输入相当于与Kubernetes客户端的交互式命令会话。Kube-tip为每个命令添加前缀而无需键入kubectl,并为每个命令提供带有上下文信息的自动完成。Kubespy:实时监控Kubernetes资源Pulumi的Kubespy是一种诊断工具,可以实时跟踪Kubernetes资源的变化,提供实时的文本视图仪表板。例如,可以查看Pod在启动时的状态变化:Pod定义写入Etcd,Pod被调度到某个节点上运行,该节点上的Kubelet创建Pod,最后Pod被标记为正在运行。Kubespy可以作为独立的二进制文件运行,也可以作为Kubectl的插件运行。Kubeval:验证Kubernetes配置Kubernetes的YAML配置文件应该是人类可读的,但这并不总是意味着它们可以被人类验证。很容易错过一个逗号或一个胖手指的名字,直到为时已晚才发现它。最好使用Kubeval。Kubeval在本地使用或集成到CI/CD管道中,接受KubernetesYAML配置定义并报告其有效性。它可以生成JSON或TAP格式的输出,甚至可以在没有额外提示的情况下解析Helm图表配置中引用的源模板。Kube-ops-view:多个Kubernetes集群的仪表板Kubernetes有一个有用的仪表板用于一般监控,但Kubernetes社区正在试验其他方式来向Kubernetes管理员提供有用的数据。Kube-ops-view就是这样一个实验。它提供了以图形方式呈现的多个Kubernetes集群的一目了然的视图,因此可以一目了然地看到集群中的整体CPU和内存使用情况以及Pod的状态。请注意,它不允许调用任何命令;它仅用于可视化。然而,它提供的可视化效果惊人且高效,为运营中心的大屏监控而生。Rio:Kubernetes的应用部署引擎Rio是RancherLabs的一个项目,它实现了Kubernetes中常见的应用部署模式,例如Git和A/B的持续交付或蓝/绿部署。每次提交时,Rio都可以部署新版本的应用程序,帮助管理DNS、HTTPS和服务网格等复杂性。Stern和Kubetail:Kubernetes的日志尾部使用Stern,可以从容器和Kubernetes中的容器生成颜色编码的输出(根据tail命令)。这是一种将来自多个源的所有输出通过管道传输到单个流中的快速方法,一目了然。同时,流可以一目了然(颜色编码)。Kubetail同样将来自多个pod的日志聚合到一个流中,并对不同的pod和容器进行颜色编码。但是Kubetail是一个Bash脚本,所以只需要一个shell。
