K9s -- 用 Kubernetes CLI 轻松管理你的集群!
K9s 提供了与 Kubernetes 集群交互的终端 UI。这个项目的目的是使浏览、观察和管理应用程序更加容易。K9s 不断监视 Kubernetes 的变化,并提供后续命令来与所观察的资源交互。
文档
关于安装、使用、定制和提示,请参考我们的 K9s 文档网站。
Slack频道
想和你的K9s同好们讨论K9s的功能,或者干脆表示你对这个工具的支持?
- 渠道:K9ersSlack
- 邀請:K9slackers Invite
安装
K9s 可在 Linux、macOS 和 Windows 平台上使用。
- Linux、Windows 和 Mac 的二进制文件在 release 页面中以 tarballs 的形式提供。
-
通过 macOS 的 Homebrew 或 Linux 的 LinuxBrew。
brew install k9s
-
Via MacPorts
sudo port install k9s
-
On Arch Linux
pacman -S k9s
-
On OpenSUSE Linux distribution
zypper install k9s
-
Via Scoop for Windows
scoop install k9s
-
Via Chocolatey for Windows
choco install k9s
-
Via a GO install
# NOTE: The dev version will be in effect! go get -u github.com/derailed/k9s
从源代码构建
K9s 目前使用的是 go v1.14 或以上版本。为了从源码中构建 K9,你必须。
- 克隆 repo
-
构建并运行可执行文件
make build && ./execs/k9s
使用Docker运行
你可以通过挂载你的 KUBECONFIG,将 k9s 作为一个 Docker 容器运行。
docker run --rm -it -v $KUBECONFIG:/root/.kube/config quay.io/derailed/k9s
对于默认路径,应该是
docker run --rm -it -v ~/.kube/config:/root/.kube/config quay.io/derailed/k9s
预备检查(PreFlight Checks)
-
K9s 采用 256 色终端模式。在 `Nix 系统中要确保 TERM 被相应设置。
<span class="pl-k">export</span> TERM=xterm-256color
-
为了发出清单编辑命令,请确保你的 EDITOR 环境已被设置。
# Kubectl edit command will use this env var.</span> export EDITOR=my_fav_editor # Should your editor deals with streamed vs on disk files differently, also set... export K9S_EDITOR=my_fav_editor
命令行
# List all available CLI options k9s help # To get info about K9s runtime (logs, configs, etc..) k9s info # To run K9s in a given namespace k9s -n mycoolns # Start K9s in an existing KubeConfig context k9s --context coolCtx # Start K9s in readonly mode - with all modification commands disabled k9s --readonly
日志
考虑到 ui 的性质,k9s 确实会产生一个特定位置的日志。要查看日志并开启调试模式,请使用以下命令。
k9s info # Will produces something like this # ____ __.________ # | |/ _/ __ \______ # | < \____ / ___/ # | | \ / /\___ \ # |____|__ \ /____//____ > # \/ \/ # # Configuration: /Users/fernand/.k9s/config.yml # Logs: /var/folders/8c/hh6rqbgs5nx_c_8k9_17ghfh0000gn/T/k9s-fernand.log # Screen Dumps: /var/folders/8c/hh6rqbgs5nx_c_8k9_17ghfh0000gn/T/k9s-screens-fernand # To view k9s logs tail -f /var/folders/8c/hh6rqbgs5nx_c_8k9_17ghfh0000gn/T/k9s-fernand.log # Start K9s in debug mode k9s -l debug
按键绑定
K9s 使用别名来浏览大部分 K8s 资源。
Action | Command | Comment |
---|---|---|
显示活动的键盘口令和帮助 | ?
|
|
显示所有可用的资源别名 | ctrl-a
|
|
退出 K9s | :q , ctrl-c
|
|
使用单数/复数或短名查看 Kubernetes 资源 | : po⏎
|
接受单数、复数、短名或别名,即 pod 或 pods。 |
查看给定命名空间中的 Kubernetes 资源 | : alias namespace⏎
|
|
用给定的过滤器 filter 过滤出一个资源视图。 | / filter⏎
|
|
按标签过滤资源视图 | / -l label-selector⏎
|
|
模糊查找给定过滤器的资源 | / -f filter⏎
|
|
退出视图/命令/过滤模式 | <esc>
|
|
描述、查看、编辑、查看日志... | d ,v , e , l ,...
|
|
查看并切换到另一个 Kubernetes 上下文 | : ctx⏎
|
|
要查看并切换到另一个 Kubernetes 上下文 | : ctx context-name⏎
|
|
要查看和切换到另一个 Kubernetes 命名空间 | : ns⏎
|
|
要查看所有保存的资源 | : screendump or sd⏎
|
|
要删除资源(TAB和ENTER确认) | ctrl-d
|
|
要杀死一个资源(没有确认对话框!) | ctrl-k
|
|
启动 pulses view | : pulses or pu⏎
|
|
启动 XRay view | : xray RESOURCE [NAMESPACE]⏎
|
RESOURCE 可以是 po、svc、dp、rs、ts、ds 中的一个,NAMESPACE 是可选的。 |
(The first version translated by vz on 2020.08.29)