关键字高亮脚本 分享几个超级实用的插件和工具,轻松提高工作效率

11/28 09:23:47 来源网站:辅助卡盟网

kubevirt virt-controller 2 2 2 2 5h32m

kubevirt virt-operator 2 2 2 2 5h49m

iexec

exec命令的功能增强版本,我们知道exec必须指定Pod的名称,如果一个Pod有多个容器,则还需要指定容器名称,而使用exec则可以通过Pod模糊查询然后交互式选择,如果Pod中包含多个容器,也可以通过交互式选择。

比如我创建的Deployment有如下5个nginx Pod:

  1. [root@ip-192-168-193-172 ~ (⎈ |kubernetes-# kubectl get pod

    NAME READY STATUS RESTARTS AGE

    nginx-6984d55cb6-b7zgp 2/2 Running 0 5m23s

    nginx-6984d55cb6-bd8nf 2/2 Running 0 5m23s

    nginx-6984d55cb6-dljzx 2/2 Running 0 5m23s

    nginx-6984d55cb6-gn94v 2/2 Running 0 5m23s

    nginx-6984d55cb6-kcj62 2/2 Running 0 5m23s

    使用iexec可以直接运行如下命令:

    1. kubectl iexec nginx

      结果如下:

      我们知道通过Deployment创建的Pod,Pod的命名格式为Deployment名字+加上Deployment的一段hash + Replica的一段hash,我们通常只记得Deployment的名字,而不知道Pod的名字,通过iexe只需要输入Deployment名字即可,通过交互式选择Pod,非常方便。

      doctor

      和brew doctor类似的工具,用于检查Kubernetes的健康状况以及扫描Kubernetes集群中的异常资源,比如etcd member状态、Node状态、孤儿endppoint等。

      1. # kubectl doctor

        ---

        TriageReport:

        - Resource: Endpoints

        AnomalyType: Found orphaned endpoints!

        Anomalies:

        - kube-controller-manager

        - kube-scheduler

        - virt-controller

        - virt-operator

        access-matrix

        查看权限矩阵,比如查看针对Pod的API操作权限:

        df-pv

        kubectl目前只能获取pv的空间大小,而无法显示pv的真实使用情况,但其实kubelet summary API从1.8版本开始就已经有这些数据了,但官方kubectl工具还无法直接显示这些数据。

        df-pv插件通过读取的summay API获取pv的使用量:

        resource-capacity/view-allocations

        查看Node节点的CPU和内存使用情况:

        如果要查看更详细,细粒度到每个Pod,则可以使用view-allocations插件:

        tail

        我们知道kubectl的logs命令查看日志需要指定pod名称,如果一个pod还有多个容器,还需要指定容器名称,而tail插件支持同时查看多个pod的日志,支持通过Deployment、ReplicaSet等资源类型过滤日志。

        Kubernetes实用命令行工具kube-ps1 / kube-tmux

        kube-ps1脚本即修改PS1环境变量,实现把Kubernetes的context信息如cluster名称、namespace等显示在bash/zsh的命令提示符中:

        而kube-tmux则把信息显示在tmux:

        kube-shell / kube-prompt

        kube-shell和kube-prompt都是基于kubectl实现的交互式shell,支持命令自动补全、关键字高亮等功能。

        其中kube-shell基于Python实现,使用起来和ipython差不多。

        不过实测kube-shell命令补全功能不是很全,比如--all-namespaces这个参数就补全不了,并且也不支持资源的自动补全。注:图中的灰色--all-namespaces参数不是自动补全,而是类似fish的历史命令提示。

        因此更推荐使用kube-prompt,kube-prompt支持资源的自动补全:

        不过个人认为kubectl自带的命令自动补全功能已经够用了:

        1. source <(kubectl completion bash)

          如果需要频繁切换kubectl shell和OS shell,个人觉得使用OS shell + kubectl自动补全反而效率更高。

          终极工具k9s

          最后介绍一个终极Kubernetes命令行工具k9s,看它的logo就很形象,就是用来管理k8s资源的:

          k9s是基于curses实现的终端UI交互式Kubernetes资源管理工具,操作有点类似vim,支持命令模式,支持alias、插件、自定义主题等功能,通过k9s能够交互式进行资源的增删改查、查看pod日志、exec等:

          如上通过命令模式输入:deploy进入Deployment页面,然后按快捷键s修改Replicas数量,回车进入该Deployment Pod列表,可以通过j、k键移动光标选择Pod,快捷键l查看Pod日志,s通过exec进入Pod shell,非常方便。

          腾讯云服务器新老用户优惠

          来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    暂无相关资讯
关键字高亮脚本 分享几个超级实用的插件和工具,轻松提高工作效率