山河已无恙
作者山河已无恙·2023-01-28 09:19
开发工程师·浩鲸科技

K8s:基于命令行终端UI的管理工具 K9s

字数 5300阅读 3599评论 0赞 2

K9s 是一个基于终端的管理 Kubernetes 集群的工具,旨在简化 Kubernetes 集群管理。和 kubebox 有些类似, K9s 同样可以持续监控集群的变化,并且可以提供与集群资源交互的快捷命令。如果说管理集群受限,只有一个 终端你可以使用,那么 k9s 是一个不错的选择.

K9s 有一些特殊功能,可以显示 Kubernetes 资源之间依赖关系的 xray、显示集群高级状态的 pulse,以及扫描和报告已部署资源和配置问题的popeye 。

安装下载

window 客户端安装

PS C:\\Program Files> choco install k9s  
Chocolatey v1.1.0  
Installing the following packages:  
k9s  
By installing, you accept licenses for the packages.  
Progress: Downloading kubernetes-cli 1.26.0... 100%  
Progress: Downloading k9s 0.26.7... 100%  

kubernetes-cli v1.26.0 [Approved]  
kubernetes-cli package files install completed. Performing other installation steps.  
The package kubernetes-cli wants to run 'chocolateyInstall.ps1'.  
Note: If you don't run this script, the installation will fail.  
Note: To confirm automatically next time, use '-y' or consider:  
choco feature enable -n allowGlobalConfirmation  
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): all  

Extracting 64-bit C:\\ProgramData\\chocolatey\\lib\\kubernetes-cli\\tools\\kubernetes-client-windows-amd64.tar.gz to C:\\ProgramData\\chocolatey\\lib\\kubernetes-cli\\tools...  
C:\\ProgramData\\chocolatey\\lib\\kubernetes-cli\\tools  
Extracting 64-bit C:\\ProgramData\\chocolatey\\lib\\kubernetes-cli\\tools\\kubernetes-client-windows-amd64.tar to C:\\ProgramData\\chocolatey\\lib\\kubernetes-cli\\tools...  
C:\\ProgramData\\chocolatey\\lib\\kubernetes-cli\\tools  
 ShimGen has successfully created a shim for kubectl-convert.exe  
 ShimGen has successfully created a shim for kubectl.exe  
 The install of kubernetes-cli was successful.  
  Software installed to 'C:\\ProgramData\\chocolatey\\lib\\kubernetes-cli\\tools'  

k9s v0.26.7 [Approved]  
k9s package files install completed. Performing other installation steps.  
Extracting 64-bit C:\\ProgramData\\chocolatey\\lib\\k9s\\tools\\k9s_Windows_x86_64.tar.gz to C:\\ProgramData\\chocolatey\\lib\\k9s\\tools...  
C:\\ProgramData\\chocolatey\\lib\\k9s\\tools  
Extracting 64-bit C:\\ProgramData\\chocolatey\\lib\\k9s\\tools\\k9s_Windows_x86_64.tar to C:\\ProgramData\\chocolatey\\lib\\k9s\\tools...  
C:\\ProgramData\\chocolatey\\lib\\k9s\\tools  
 ShimGen has successfully created a shim for k9s.exe  
 The install of k9s was successful.  
  Software installed to 'C:\\ProgramData\\chocolatey\\lib\\k9s\\tools'  

Chocolatey installed 2/2 packages.  
 See the log for details (C:\\ProgramData\\chocolatey\\logs\\chocolatey.log).  
PS C:\\Program Files>

下载之后,需要准备好 kubeconfig 文件,放到默认加载的位置

PS C:\\Users\\山河已无恙\\.kube> ls  


目录: C:\\Users\\山河已无恙\\.kube  


Mode                 LastWriteTime         Length Name  
----                 -------------         ------ ----  
d-----         2023/1/14      7:48                cache  
-a----         2023/1/14     10:19           5682 config  
PS C:\\Users\\山河已无恙\\.kube> cat .\\config  
apiVersion: v1  
clusters:  
- cluster:  
certificate-authority-data:  
.......................

通过命令行启动

PS C:\\ProgramData\\chocolatey\\lib\\k9s\\tools> .\\k9s.exe

Linux 客户端安装

下载安装包

┌──[root@vms81.liruilongs.github.io]-[~/ansible/k9s]  
└─$curl -sS https://webinstall.dev/k9s | bash  

Thanks for using webi to install 'k9s@stable' on 'Linux/x86_64'.  
Have a problem? Experience a bug? Please let us know:  
    https://github.com/webinstall/webi-installers/issues  

Lovin' it? Say thanks with a Star on GitHub:  
    https://github.com/webinstall/webi-installers  

Downloading k9s from  
https://github.com/derailed/k9s/releases/download/v0.26.7/k9s_Linux_x86_64.tar.gz  
failed to download from https://github.com/derailed/k9s/releases/download/v0.26.7/k9s_Linux_x86_64.tar.gz

解压直接运行

┌──[root@vms81.liruilongs.github.io]-[~/ansible/k9s]  
└─$tar -zxvf k9s_Linux_x86_64.tar.gz  
LICENSE  
README.md  
k9s  
┌──[root@vms81.liruilongs.github.io]-[~/ansible/k9s]  
└─$ls  
k9s  k9s_Linux_x86_64.tar.gz  LICENSE  README.md  
┌──[root@vms81.liruilongs.github.io]-[~/ansible/k9s]  
└─$./k9s

查看当前集群资源的统计信息。

docker 安装

也可以通过docker 直接运行

┌──[root@vms81.liruilongs.github.io]-[~/ansible/k9s]  
└─$docker run --rm -it -v ~/.kube/config:/root/.kube/config docker.io/derailed/k9s


查看资源状态信息

查看资源依赖关系

热键

ActionCommandComment
Show active keyboard mnemonics and help?
Show all available resource aliasctrl-a
To bail out of K9s:q, ctrl-c
View a Kubernetes resource using singular/plural or short-name:po⏎accepts singular, plural, short-name or alias ie pod or pods
View a Kubernetes resource in a given namespace:alias namespace⏎
Filter out a resource view given a filter/filter⏎Regex2 supported ie `fred
Inverse regex filter/! filter⏎Keep everything that doesn't match.
Filter resource view by labels/-l label-selector⏎
Fuzzy find a resource given a filter/-f filter⏎
Bails out of view/command/filter mode
Key mapping to describe, view, edit, view logs,...d,v, e, l,...
To view and switch to another Kubernetes context:ctx⏎
To view and switch to another Kubernetes context:ctx context-name⏎
To view and switch to another Kubernetes namespace:ns⏎
To view all saved resources:screendump or sd⏎
To delete a resource (TAB and ENTER to confirm)ctrl-d
To kill a resource (no confirmation dialog!)ctrl-k
Launch pulses view:pulses or pu⏎
Launch XRay view:xray RESOURCE [NAMESPACE]⏎RESOURCE can be one of po, svc, dp, rs, sts, ds, NAMESPACE is optional
Launch Popeye view:popeye or pop⏎See popeye

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广