Kubernetes:基于终端UI的管理工具 K9s

我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ——赫尔曼·黑塞《德米安》

写在前面


  • K9s 是一个基于终端UI的 K8S 管理工具
  • 博文内容为 k9s 在 windows、Linux 以及docker 安装Demo
  • 简单的 热键使用。
  • 理解不足小伙伴帮忙指正

我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ——赫尔曼·黑塞《德米安》


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

在这里插入图片描述

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

在这里插入图片描述

安装下载

window 客户端安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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 文件,放到默认加载的位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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:
.......................

通过命令行启动

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

在这里插入图片描述

Linux 客户端安装

下载安装包

1
2
3
4
5
6
7
8
9
10
11
12
13
┌──[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

解压直接运行

1
2
3
4
5
6
7
8
9
10
┌──[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 直接运行

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

在这里插入图片描述

查看资源状态信息

在这里插入图片描述

查看资源依赖关系

在这里插入图片描述

热键

Action Command Comment
Show active keyboard mnemonics and help ?
Show all available resource alias ctrl-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 <esc>
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

博文参考


https://github.com/derailed/k9s

https://k9scli.io/

发布于

2023-01-14

更新于

2023-06-21

许可协议

评论
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×