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

如何设置一个严肃的Kubernetes终端

时间:2023-03-15 21:53:27 科技观察

CLI工具所有k8s书呆子都需要Kubernetes预打包了一个优秀的CLI。对于基本操作,它工作得很好。las,当需要快速完成某些事情时,复杂性就会增加。Kubernetes社区已经构建了各种基于Web的工具来监控您的集群——kubeopsview、grafana等。但是,拥有一个完整的终端设备将快速加快问题根源的解决。它构成了瑞士军刀的基本组成部分。下面是我应用于OSX终端的开源工具的简短列表。结合使用,它们允许我跳过kubernetes集群,快速解决问题并监控行为。我删掉了许多小工具,坚持使用我每天使用的工具。在使用任何工具之前...我强烈建议您在使用这些工具之前安装zsh。它是标准OSX终端的优秀开源包装器。它功能丰富且直观,您可以安装的插件非常棒。列出的其中一些工具假定您已安装ZSH。k9s>哦,是的,我开始变得坚强了。K9s支持Kubernetes集群的CLI工具。您可以通过SSH直接连接到pod、查看日志、删除资源等,只需一次按键即可。它提供了对您执行的最常见操作的极好访问。这对于任何使用kubernetes的工程师来说都是最重要的。对于kubectx,我们只有一个集群是非常罕见的。在它们之间切换就像kubectlconfiguse-contextmy-context一样简单,但是这样做有一些先决条件:您需要知道集群的名称才能运行它。还有另一个类似的set-context命令可能会使您崩溃。kubectx提供了一个更简单的替代方案。如果您单独运行kubectx,它将列出.kube/config文件中的所有上下文。然后您可以提供您感兴趣的上下文的名称:kubectxmy-context无需记住所有上下文、手动检查文件或得到错误的命令。漂亮而简单。当与k9s结合使用时,可以通过最少的按键操作从CLI导航很多内容。编辑:我最初说过k9s不支持在上下文之间切换。FernandGaliana的出色回应指出,使用:ctx命令,这是可能的。在到处都看到kubens之后,您可能想深入了解特定的命名空间。同样,在一个集群中拥有多个命名空间是很常见的。好吧,ahmetb(给你带来kubectx的那位先生)也把kubens放在一起了。与kubectx相同,仅适用于命名空间。kubenskube-system现在,默认情况下,所有命令都针对kube-system命名空间运行。您也可以只运行kubens来查看命名空间列表。kube-ps1这样你就可以在上下文和命名空间之间切换。但是您如何知道您当前针对的是哪一个?一直检查很痛苦。目前,要找出答案,您需要运行:kubenskubectxkubectl要删除这个问题,ps1是一个zsh插件,它会自动向您显示您当前的上下文和命名空间:>我指着我的minikube上下文和默认值namespace现在你不需要运行任何命令来查看要指向哪个命名空间和上下文。它也是高度可配置的——如果您只对命名空间或上下文感兴趣,您可以将其关闭,或者您可以使用kubeoff完全禁用整个功能。popeye现在,进入不同的东西。popeye将对存储库中的资源运行自动扫描,并突出显示明显的问题。这是一个非常新的工具,我发现它非常有用。如果您要对集群进行一些春季大扫除,从popeye开始会给您一些需要修复的明确指示。>这是一份非常长的详细报告的前几行。曾经与Stern一起使用过kubectl日志吗?注意到您一次只能跟踪一个Pod的日志吗?好吧,别担心!Stern是一个工具,可以让您根据非常灵活的查询从多个pod中提取日志。我经常在我的Twitter帐户上谈论kubernetes、DevOps等。