K9s 是一个用于 Kubernetes(K8s)集群的开源 CLI 工具,它提供了一个终端用户友好的界面,可以方便地监控和管理 Kubernetes 集群的资源。K9s 通过一个简单的终端界面让你可以快速浏览、监控、管理 Pods、Deployments、Services、Logs 等 Kubernetes 资源,尤其适合运维人员和开发人员用来调试和操作 Kubernetes 集群。
1. K9s 的特点
- 终端用户界面:K9s 提供了一个富交互的命令行界面,用户可以在终端中快速浏览集群的资源。
- 实时监控:实时显示集群中各种资源的状态,包括 Pods、Nodes、Deployments、Namespaces 等。
- 支持集群管理:通过 K9s,可以直接在终端中创建、修改、删除资源,管理 Kubernetes 集群的资源。
- 日志查看:方便查看 Pod 和容器的日志,并且可以对日志进行过滤。
- 命令别名:支持自定义命令和快捷键,使得操作更加便捷。
- 集成 Kubernetes API:K9s 直接与 Kubernetes API 交互,因此它始终反映出集群的最新状态。
- 支持多集群:可以连接和管理多个 Kubernetes 集群。
2. K9s 安装与配置
2.1 安装 K9s
K9s 可以通过多种方式安装,支持 Linux、macOS 和 Windows 系统。
macOS 安装(使用 Homebrew)
brew install k9s
Linux 安装
在 Linux 上,你可以下载预编译的二进制文件,或者通过 brew
安装。
- 通过
brew
安装:brew install k9s
- 或者,手动下载并解压:访问 K9s Releases 页面,下载适合你系统的版本,并解压到本地路径。
wget https://github.com/derailed/k9s/releases/download/v0.24.0/k9s_Linux_x86_64.tar.gz tar -xvzf k9s_Linux_x86_64.tar.gz sudo mv k9s /usr/local/bin/
Windows 安装
- 使用
choco
安装:choco install k9s
- 或者,下载 K9s Windows 版本 解压并添加到环境变量。
2.2 配置 K9s
K9s 使用 Kubernetes 配置文件(~/.kube/config
)来获取集群连接信息。通常,如果你已经设置好了 kubectl
和 kubeconfig
,K9s 会自动使用相同的配置文件。
确保你可以通过 kubectl
访问集群:
kubectl config use-context your-cluster-context
一旦 kubectl
配置好,K9s 就能够自动找到你的 Kubernetes 集群。
3. 使用 K9s
K9s 启动后,界面提供了多个命令和选项来管理集群。以下是一些常用的操作和快捷键。
3.1 启动 K9s
在终端中运行:
k9s
K9s 会启动并连接到 Kubernetes 集群,展示集群中所有命名空间的资源。
3.2 资源视图
- Pods:默认显示集群中所有命名空间的 Pods。你可以通过选择不同的命名空间来过滤显示的资源。
- Nodes:显示集群的节点信息。
- Namespaces:查看集群中所有命名空间的资源。
- Deployments:查看集群中的 Deployments。
- Services:查看服务和对应的端口。
- Logs:查看 Pod 的日志输出。
3.3 导航和快捷键
K9s 提供了一些便捷的键盘快捷键,可以加速操作:
:
切换到命令模式(执行命令)。esc
退出当前视图或返回上一级菜单。?
显示所有快捷键帮助。Ctrl+C
退出 K9s。f
查找资源或执行过滤操作。d
查看资源的详细信息。l
查看和过滤 Pod 日志。
3.4 过滤和查找
你可以使用过滤器快速查找资源:
f
快捷键激活过滤功能,输入查询条件后,可以快速过滤资源列表。例如,输入nginx
只会显示与nginx
相关的资源。- 你还可以使用
:
命令来进行更精确的过滤,例如,查看特定命名空间的资源::ns <namespace-name>
3.5 查看和查看 Pod 日志
通过选择 Pod 并按 l
键,你可以查看该 Pod 的日志。日志会动态实时刷新,并且支持滚动查看。
l
查看日志。Shift + l
查看多个容器的日志。
3.6 交互式管理资源
K9s 允许你直接管理 Kubernetes 资源。比如,你可以直接从 K9s 界面创建、删除、编辑资源:
d
删除资源e
编辑资源(进入编辑模式)
3.7 切换集群
如果你有多个 Kubernetes 集群配置,使用以下命令切换集群:
:kube
然后选择所需的集群。
3.8 集群上下文切换
如果你有多个集群上下文,使用以下命令切换集群上下文:
:kube-context
然后选择你要切换到的上下文。
4. 高级功能
4.1 集群资源监控
K9s 提供了实时的资源使用情况监控,包括 CPU 和内存的使用情况。你可以直接在 K9s 中看到每个 Pod 或节点的资源占用。
:top
显示集群资源使用情况(CPU、内存等)。:top pod
查看 Pod 的资源使用情况。
4.2 自定义视图和别名
K9s 允许用户自定义视图和命令别名。你可以为常用的操作创建快捷方式或视图。例如,定义常用的 Kubernetes 资源监控视图或创建常用命令的别名,减少重复操作。
5. 总结
K9s 是一个非常实用的 Kubernetes 集群管理工具,它将 Kubernetes 资源的管理从复杂的命令行操作中抽象出来,提供了一个直观且功能强大的终端界面。通过 K9s,用户可以实时查看集群的状态、管理资源、调试和查看日志,极大提高了运维人员和开发人员管理 Kubernetes 集群的效率。它支持多集群、丰富的资源操作、实时日志查看、以及交互式资源管理等功能,适用于各种规模的 Kubernetes 集群。
发表回复