image-20211113190310591

实验环境

实验环境:
1、win10,vmwrokstation虚机;
2、k8s集群:3台centos7.6 1810虚机,1个master节点,2个node节点
   k8s version:v1.22.2
   containerd://1.5.5 #本次只在master1节点上安装kubecolor软件

实验软件

kubecolor_0.0.20_Linux_x86_64.tar.gz

链接:https://pan.baidu.com/s/18J_02r-9HXfrqnhR2rtNqQ
提取码:fc8v
–来自百度网盘超级会员V6的分享

image-20211113185838249

1、背景:默认的kubectl输出很单调

kubectl 命令是KubernetesCLI 客户端。如果您是公司 Kubernetes 集群的管理员或开发在Kubernetes上运行的应用程序的开发人员,您几乎每天都会使用 kubectl。而我也是其中之一。

虽然 kubectl 已经很好,但我对它的行为感到痛苦。由于缺少颜色,kubectl 的输出有时不容易阅读。因为 kubectl 有时会输出很长的东西,所以很难找到你要找的东西。

首先,让我们看看 kubectl 输出什么。

image-20211113143630989

kubectl 从不为其输出设置任何颜色。是的,因为这个“kubectl get pod -A”输出很短,所以这不是什么大问题。但是,一些显示长输出的命令,例如“kubectl describe”、“kubectl get -o yaml”,会显示

image-20211113143824405

image-20211113143902147

它们看起来更难阅读吗?如果这对您来说很容易,那么您就不需要 kubecolor。对我来说,很难找到我要找的东西。

那么现在,让我们来谈谈 kubecolor如何为解决这个问题做出贡献。

2、如何使用 kubecolor

免责声明:本章的内容将来可能会过时。README 中应提供最新信息。

https://github.com/dty1er/kubecolor#readme

1.概述

kubecolor已经获得了麻省理工学院的许可。

image-20211113152549311

Kubecolor为您的kubectl命令输出着色,而不做其他任何事情。Kubecolor在内部调用kubectl命令并尝试将输出颜色化,这样您就可以使用Kubecolor作为kubectl的完整替代。这意味着你可以在你的.bash_profile中这样写:

alias kubectl="kubecolor"

如果你在多台没有安装kubecolor的计算机上使用.bash_profile(例如通过git同步),你可以像这样避免破坏kubectl:

command -v kubecolor >/dev/null 2>&1 && alias kubectl="kubecolor"

目前,还没有支持所有的子命令,将来可能会支持其中的一些。如果你想要kubecolor支持一些东西,你可以在GitHub repo中提出一个问题。即使你想做的事情kubecolor现在不支持,kubecolor仍然可以显示kubectl的输出,而不需要任何修饰,所以你不需要切换kubecolor和kubectl,但你总是可以使用kubecolor。

此外,如果kubectl导致一个错误,kubecolor只显示红色或黄色的错误消息。

请记住,与kubectl相比,kubecolor有运行时开销,因为它在内部运行kubectl,并解析输出,然后着色。


注意:

kubecolor 旨在仅对 READ 命令(get、describe 等)的输出进行着色。当您想运行 WRITE命令(应用、编辑、执行)时,它只会运行 kubectl 但不会对它们进行着色。

  • 项目gitbub地址:

hidetatz/kubecolor: colorizes kubectl output (github.com)

image-20211113151222467

2.安装

  • 官方安装方法

image-20211113154959561

(1)Download binary via GitHub release

Go to Release page then download the binary which fits your environment.

(2)Mac and Linux users via Homebrew

brew install dty1er/tap/kubecolor

(3)Manually via go command

Note: if you install kubecolor via go command, --kubecolor-version might not work

go install github.com/dty1er/kubecolor/cmd/kubecolor@latest

If you are not using module mode (or if just above doesn’t work), try below:

go get -u github.com/dty1er/kubecolor/cmd/kubecolor

本次只在master1节点上安装kubecolor

本次直接下载二进制文件进行安装:

1、下载压缩包

 wget https://github.com/hidetatz/kubecolor/releases/download/v0.0.20/kubecolor_0.0.20_Linux_x86_64.tar.gz
 
 #使用加速地址进行下载
 [root@master1 ~]#wget https://download.fastgit.org/hidetatz/kubecolor/releases/download/v0.0.20/kubecolor_0.0.20_Linux_x86_64.tar.gz
--2021-11-13 16:01:26--  https://download.fastgit.org/hidetatz/kubecolor/releases/download/v0.0.20/kubecolor_0.0.20_Linux_x86_64.tar.gz
Resolving download.fastgit.org (download.fastgit.org)... 88.198.10.254
Connecting to download.fastgit.org (download.fastgit.org)|88.198.10.254|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 800702 (782K) [application/octet-stream]
Saving to: ‘kubecolor_0.0.20_Linux_x86_64.tar.gz’

100%[===============================================================================================================================>] 800,702      602KB/s   in 1.3s

2021-11-13 16:01:28 (602 KB/s) - ‘kubecolor_0.0.20_Linux_x86_64.tar.gz’ saved [800702/800702]

[root@master1 ~]#ll -h kubecolor_0.0.20_Linux_x86_64.tar.gz
-rw-r--r-- 1 root root 782K May  7  2021 kubecolor_0.0.20_Linux_x86_64.tar.gz
[root@master1 ~]#tar tf kubecolor_0.0.20_Linux_x86_64.tar.gz
LICENSE
README.md
kubecolor
[root@master1 ~]#

2.解压压缩包并移到PATH路径下并alias

[root@master1 ~]#mkdir -p /usr/local/kubecolor/bin  && tar -zxvf kubecolor_0.0.20_Linux_x86_64.tar.gz kubecolor && mv kubecolor /usr/local/kubecolor/bin
kubecolor
[root@master1 ~]#ln -s /usr/local/kubecolor/bin/kubecolor /usr/bin/kubecolor
[root@master1 ~]#echo alias kubectl="kubecolor" >> ~/.bash_profile
[root@master1 ~]#source ~/.bash_profile

3.验证效果

退出刚才的终端再进一次,用命令测试效果:

  • get pods

image-20211113151433775

  • describe pods

image-20211113151506470

  • something wrong

image-20211113151555350

  • 查看帮助

image-20211113144301746

最后记得给自己的master1测试虚机做个快照。

3、参考资料

本文转载自:「云原生CTO」,原文:https://tinyurl.com/asdx682d,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

[1]参考地址: https://dty1er.medium.com/colorize-kubectl-output-by-kubecolor-2c222af3163a

github项目地址:hidetatz/kubecolor: colorizes kubectl output (github.com)

关于我

我的博客主旨:我希望每一个人拿着我的博客都可以做出实验现象,先把实验做出来,然后再结合理论知识更深层次去理解技术点,这样学习起来才有乐趣和动力。并且,我的博客内容步骤是很完整的,也分享源码和实验用到的软件,希望能和大家一起共同进步!

各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人免费帮您解决问题:

  1. 个人微信二维码:x2675263825 (舍得), qq:2675263825。

    image-20211002091450217

  2. 个人博客地址:www.onlyonexl.cn

    image-20211002092057988

  3. 个人微信公众号:云原生架构师实战

    image-20211002141739664

  4. 个人csdn

    https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

    image-20211002092344616

最后

​ 好了,关于让 Kubectl的输出像彩虹一样绚丽多彩实验就到这里了,感谢大家阅读,最后贴上我女神的photo,祝大家生活快乐,每天都过的有意义哦,我们下期见!

image-20211113175109434

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐