K9s 使用教程:如何高效管理 Kubernetes 集群

文章首发于个人公众号:「阿拉平平」

之前我向大家介绍过一款 K8s 的 IDE:Lens。通过图形界面,我们可以很方便地管理多个集群。不过有的小伙伴可能更习惯使用 kubectl 去管理集群,所以今天和大家分享一个高效管理 K8s 集群的命令行工具:K9s。

本文演示环境为 CentOS 7.4,K9s 版本为 0.21.7,K8s 集群托管在阿里云上。

快速开始

简介

K9s 提供了一个与 K8s 集群交互的终端 UI,用于简化导航、观察以及管理应用程序。K9s 会持续监控 K8s 的变化,并提供后续命令与所观察到的资源进行交互。

安装

K9s 可用于 Linux、macOS 以及 Windows 平台。我使用的是 Linux 系统,安装方法如下:

[root@localhost ~]# wget https://github.com/derailed/k9s/releases/download/v0.21.7/k9s_Linux_x86_64.tar.gz
[root@localhost ~]# tar -zxf k9s_Linux_x86_64.tar.gz -C /usr/local/bin

获取 K9s 信息:

[root@localhost ~]# k9s info
 ____  __.________       
|    |/ _/   __   \______
|      < \____    /  ___/
|    |  \   /    /\___ \ 
|____|__ \ /____//____  >
        \/            \/ 

Configuration:   /root/.k9s/config.yml
Logs:            /tmp/k9s-root.log
Screen Dumps:    /tmp/k9s-screens-root

启动

与 kubectl 相同,K9s 启动时会读取默认的 kubeconfig

[root@localhost ~]# k9s

如果有多个 config 文件,可以通过 --kubeconfig 指定。

[root@localhost ~]# k9s --kubeconfig=/srv/.kube/config

启动后界面如下:


使用示例

我之前在集群上安装了携程开源的配置中心 apollo,现在试试用 K9s 管理相关资源。

指定命名空间

目前 K9s 会罗列出所有命名空间下的 Pods,而 apollo 的资源都安装在 kube-public 下,所以启动时指定下命名空间:

[root@localhost ~]# k9s -n kube-public

指定命名空间后 Pods 显示如下:


如果启动时指定了命名空间,之后就可以用数字键切换。

编辑资源

现在试下用 K9s 编辑资源,增加 admin-server 的副本数。

这里的 admin-server 是一个 Deployment,所以需要输入 :deploy 进入到 deployment 视图里。

选择 admin-server,输入 e 进行编辑。可以看到,副本数已经增加到 2 了:

除了编辑资源的方式,也可以输入 s 调整副本数:

查看日志

由于刚刚添加了一个副本,我们查看下服务启动的日志。

选择 admin-server,输入 l 查看日志:

可以看到,服务启动正常,没有报错。

获取帮助

K9s 自带了许多快捷键,可以通过输入 ? 获取帮助。

写在最后

与 kubectl 相比,K9s 的功能无疑更为强大,算是一款管理 Kubernetes 集群的利器了。除了文中介绍的部分,K9s 自定义的功能也非常强大,支持自定义别名、快捷键以及皮肤,这里就不展开了。

References

[1] GitHub: https://github.com/derailed/k9s
[2] Speed up administration of Kubernetes clusters with k9s: https://opensource.com/article/20/5/kubernetes-administration
[3] K9s如何加速Kubernetes的集群管理: https://juejin.im/post/6847902224983539720

你可能感兴趣的:(K9s 使用教程:如何高效管理 Kubernetes 集群)