当前位置: 首页 > 科技观察

15个管理Kubernetes部署环境的工具

时间:2023-03-12 17:25:09 科技观察

【.com快译】Kubernetes已经成为大规模部署容器化应用程序的标准方式,许多人会说这是唯一的标准方式。但是如果Kubernetes帮助我们管理复杂的容器部署环境,那么有什么工具可以帮助我们管理Kubernetes呢?毕竟,管理是复杂、混乱和棘手的。本文重点介绍了10个以各种方式简化Kubernetes的项目,从简化命令行交互、简化应用程序部署语法、与AWS集成以及为多个集群提供窗口。BitnamiCabin:适用于iOS和Android的Kubernetes仪表板现代Web应用程序或服务将具有某种移动界面。Cabin为Kubernetes管理员提供了一个Kubernetes仪表板,可以从iOS或Android智能手机访问。标准Kubernetes仪表板的许多功能都可以从Cabin启动,包括Helm图表、缩放部署、读取pod日志以及访问Kubernetes托管的基于Web的应用程序。Kedge:简洁的Kubernetes部署定义Kubernetes最大的批评之一是其清单或应用程序定义复杂而冗长。编写简单,维护困难,难怪人们求助于第三方工具。Kedge提供了更简单、更简洁的语法。您向Kedge提供一个简单版本的Kubernetes定义文件,Kedge可以将这个简单的定义扩展为完整的Kubernetes定义。与KokiShort(见下文)不同,Kedge不对声明文件使用模块化语法;它只是将应用程序定义简化为通用快捷方式。KokiShort:易于管理的Kubernetes清单与上面的Kedge一样,KokiShort是一个旨在改进应用程序定义或清单在Kubernetes中工作方式的项目。与Kedge定义一样,短定义使用缩写语法来描述Kubernetespod,可以将其转换为完整语法并返回。与Kedge定义不同,Short定义也是模块化的,这意味着来自一个Short声明的细节可以在其他声明中重复使用,因此可以简洁地定义许多具有共同元素的pod。Kops:Kubernetes集群的命令行操作Kops由Kubernetes团队开发,允许您从命令行管理Kubernetes集群。它支持在AWS和GCE上运行的集群,支持VMwarevSphere和其他正在开发的环境。除了自动化安装和删除过程之外,Kops还促进其他类型的自动化。例如,它可以生成Terraform配置以使用Terraform重新部署集群。Kubebox:TerminalConsoleforKubernetes作为Kubernetes的高级终端控制台,Kubebox不仅为Kubernetes及其API提供了加固的外壳,还提供了内存和CPU使用率的交互式图表以及pod、运行日志和配置编辑器列表。最重要的是,它可以作为适用于Linux、Windows和MacOS的独立应用程序使用。Kube-monkey:Kubernetes的Chaosmonkey对系统进行压力测试的一种可靠方法是随机乱搞。这就是Netflix的ChaosMonkey背后的想法,这是一种混沌工程工具,可以随机终止生产中运行的虚拟机和容器,以“鼓励”开发人员构建更具弹性的系统。Kube-monkey实现了压力测试Kubernetes集群的相同基本思想。它通过随机终止您在集群中专门指定的pod来工作,并且可以对它们进行微调以在特定时间窗口内运行。Kube-ps1:智能Kubernetes命令提示符不,Kube-ps1不是用于Kubernetes的第一代索尼PlayStation模拟器,它是对Bash的简单补充,可以在提示符处显示当前的Kubernetes上下文和命名空间。除此之外,Kube-shell还包括许多其他功能,但如果您只想要一个智能提示,Kube-ps1就可以满足要求,而且开销很小。Kube-prompt:交互式Kubernetes客户端Kube-prompt是对KubernetesCLI的另一个小而有用的修改,它允许您使用此Kubernetes客户端输入交互式命令会话。Kube-prompt使您不必键入kubectl为每个命令添加前缀,并为每个命令提供上下文信息以自动完成。Kube-shell:KubernetesCLI的ShellKubernetes命令行功能强大,但与任何命令行应用程序一样,选择选项可能很乏味。Kube-shell将标准的Kubernetes命令行包装在一个集成的shell中,该shell为常见命令提供自动完成和自动建议,包括Kubernetes服务器提供的建议(例如服务名称)。它还为您提供更强大的命令历史记录功能、vi风格的编辑模式以及有关用户、名称空间、集群和其他安装特定详细信息的上下文信息。Kubespy:实时监控Kubernetes资源Pulumi的Kubespy诊断工具允许您实时跟踪Kubernetes资源的变化,为您提供文本视图仪表板。例如,可以观察到pod启动时的状态变化:pod定义被写入Etcd,pod被调度到节点上运行,在节点上创建pod的Kubelet,最后pod被标记为“正在运行”。Kubespy可以作为独立的二进制文件运行,也可以作为Kubectl的插件运行。AWSKubernetes的KubernetesIngressController通过名为Ingress的服务为集群提供外部负载均衡和网络服务。AWS提供负载均衡功能,但不会自动将这些服务耦合到Kubernetes工具。AWS的KubernetesIngressController填补了这一空白。IngressController为集群中的每个Ingress对象自动管理AWS资源,为新的ingress资源创建负载均衡器,为移除的资源删除负载均衡器,并利用AWSCloudFormation确保集群状态一致。它还自动管理集群中使用的其他元素,例如SSL证书和EC2自动缩放组。Kube-ops-view:多个Kubernetes集群的仪表板Kubernetes有一个用于一般监控的有用仪表板,但Kubernetes社区正在试验其他向Kubernetes管理员呈现数据的方式。Kube-ops-view就是这样一种工具;它以图形化的方式提供了多个Kubernetes集群的一目了然的视图,因此集群中的CPU和内存使用率以及Pod的状态一目了然。请注意,它不允许您调用任何命令;它仅用于可视化,但提供的可视化非常清晰,非常适合运维中心的监控墙。Skaffold:Kubernetes的迭代开发Skaffold是Google自己的Kubernetes工具之一,用于执行Kubernetes应用程序的持续部署。Skaffold会自动检测您何时更改源代码,触发构建和部署过程,并在出现任何错误时提醒您。Skaffold完全在客户端运行。它可以用于现有的持续集成/持续交付(CI/CD)管道,与多个外部构建工具(主要是Google自己的Bazel)集成。Stern和Kubetail:Stern是Kubernetes的日志跟踪,可让您从Kubernetes中的pod和容器生成颜色编码的输出(在tail命令之后)。这种将来自多个来源的所有输出组组合成一个清晰的数据流的快速简便的方法。同时,数据流可以一目了然(颜色编码)。Kubetail还将来自多个pod的日志聚合到一个流中,对不同的pod和容器进行颜色编码。但是Kubetail是一个Bash脚本,所以它只需要shell。Teresa:Kubernetes上的简单PaaSTeresa是一个在Kubernetes上作为简单PaaS运行的应用程序部署系统。组织成团队的用户可以部署和管理属于他们的应用程序。这使得负责应用程序的人员可以更轻松地使用它,而无需直接与Kubernetes打交道。原标题:驯服Kubernetes部署的15个工具,作者:SerdarYegulalp