如何为Kubernetes配置多功能终端?

2021/5/11 18:30:46

本文主要是介绍如何为Kubernetes配置多功能终端?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

杨峰 译 分布式实验室 

图片

Kubernetes内置了非常不错的CLI包。对于基础操作足够用了,但是对于一些高阶用户,就显得不够用了。Kubernetes社区开发了kube ops view[1]、Grafana[2]等基于Web的监控工具,但是如果有一个基于终端的工具会大幅度提高错误定位效率,就跟瑞士军刀一样实用。
以下列出了我的苹果终端中安装的开源工具,用起来得心应手。这些小工具我基本上每天都会用到。
准备工作
建议配置这些工具之前先安装ZSH[3],对苹果系统来说非常棒的开源shell,功能非常丰富而且很炫酷。
k9s
图片
k9s是Kubernetes集权管理最棒的CLI工具,可以通过key直接SSH进入Pod,查阅日志,删除资源等。k9s提供大量日常操作,是Kubernetes必备工具。
kubectx
k9s不支持Kubernetes集群config上下文之间切换,对于经常管理多个Kubernetes集群用户来说不太方便。kubectx可以提供如下操作命令进行上下文切换:

kubectl config use-context my-context


当然有些前提条件:

  • 需要知道集群名

  • 有类似于 set-context的命令行


kubectx是替换命令,如果单独运行,会列出.kube/config中的所有上下文,需要从中选择一个继续运行:

kubectx my-context


不需要记住这些上下文,也不需要手工选择上下文,避免出现错误命令,简单又有效。跟k9s配合,提供强大的功能组合。
kubens
搞定上下文后,可以深入到特定的命名空间,因为集群内部有很多命名空间。ahmetb先生(kubectx的贡献者)再次提供了kubens,用于命名空间的操作。

kubens kube-system


随后的命令默认都是基于选择的命名空间进行的。单独运行kubens会列出所有命名空间名字。
kube-ps1
如何确认在哪个上下文和命名空间操作呢?需要用如下命令:

kubens kubectx kubectl


为了简化,ps1是zsh中自动显示上下文和命名空间的插件: 
图片
有了它就可以不用命令看出目前运行的上下文和命名空间。这个插件也是高度可配置的,可以同时看上下文和命名空间,或者只看一个,或者完全关闭。
popeye
popeye是自动扫描repo中资源并将问题高亮出来的工具,这是一个很新但很有用的功能。如果需要清理集群内问题,最好安装这个工具。 
图片
stern
如果有需求用kubectl一次看多个Pod的日志,可以用stern这个工具将日志从多个Pod中拉出来,非常方便实用。
相关链接:

  1. https://github.com/hjacobs/kube-ops-view

  2. https://medium.com/htc-research-engineering-blog/monitoring-kubernetes-clusters-with-grafana-e2a413febefd

  3. https://ohmyz.sh/


原文链接:https://www.freecodecamp.org/news/how-to-set-up-a-serious-kubernetes-terminal-dd07cab51cd4/




这篇关于如何为Kubernetes配置多功能终端?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程