littleTools

littleTools是我根据日常运维时编写的一个小工具,开源在了https://github.com/xuxinkun/littleTools上。

littleTools包含一组简短命令,主要用于简化某些命令的输入。目前littleTools有docker-tools和kube-tools两部分,主要用于简化命令docker和kubectl的输入。例如,如果要进入容器,一般需要输入命令docker exec -it xxx bash来完成。但是使用littleTools,只需使用dt-exec xxx就可以实现它。

开发思路

littleTools主要是为简化命令而做,因此直接采用了最简便直接的shell函数进行编写,因此tab键可以帮助用户自动完成命令。

比如想要实现dt-exec {containerid},则只需要获取参数,填充到docker exec -it {containerid} bash的命令中即可。二者效果完全一致。

function dt-exec()
{
docker exec -it $1 bash
}

在函数的命名上采用了以下几种方式:

  • dt/kt-verb: 执行某个动作
  • dt/kt-verb-resource: 显示resource的相关信息
  • dt/kt-verb-resourceA-by-resourceB: 根据resourceB获取resourceA

命令一览表

docker-tools

主要用以简化docker的相关命令。

命令 参数 描述
dt-exec {containerid} 用bash执行到容器中。
dt-exec-sh {containerid} 用sh执行到容器中。
dt-show-pid {containerid} 显示容器的0号进程在主机上的pid。
dt-show-pid-all {containerid} 显示容器的所有进程的pids。
dt-show-flavor {containerid} 显示容器的cpu / memory等资源信息。
dt-show-flavor-all 没有 显示所有容器的cpu / memory之类的资源信息。
dt-show-volume {containerid} 显示容器绑定的在主机上的存储路径。
dt-show-volume-all {containerid} 显示容器绑定的在主机上的存储路径以及在容器中绑定的路径。
dt-lookup-by-pid {pid} 根据主机上的{pid}查找包含该进程的容器。
dt-lookup-by-volume {volume path} 根据主机上的{volume path}的路径查找绑定该路径的容器。

这里特别要说明的是dt-lookup-by-pid命令,可以执行根据主机上的某个进程pid号查找对应容器的功能,这个在实际运维中非常实用。

其工作原理是利用了容器中所有进程会使用相同的cgroup path。通过查看该进程的cgroup信息。而后遍历容器的cgroup信息,并进行比对,如果一致,说明该进程属于该容器。

kube-tools

主要用以简化kubectl的相关命令。

命令 参数 描述
kt-exec {pod name}或{namespace} {pod name} 用bash执行进入pod。
kt-exec-sh {pod name}或{namespace} {pod name} 用sh执行进入pod。
kt-get-node {node name} 描述节点。
kt-get-node-ready 没有 列出所有ready节点。
kt-get-node-notready 没有 列出所有notready的节点。
kt-get-node-all 没有 列出所有节点。
kt-get-pod {pod name}或{namespace} {pod name} 描述pod。
kt-get-pod-node {pod name}或{namespace} {pod name} 使用pod获取pod和节点信息。
kt-get-pod-all 没有 获取所有命名空间的所有pod。
kt-get-pod-by-ns {namespace} 获取命名空间中的所有pod。
kt-get-pod-by-rs {rs name}或{namespace} {rs name} 获取rs的所有pod。
kt-get-pod-by-deploy {deploy name}或{namespace} {deploy name} 获取deploy的所有pod。
kt-get-pod-by-svc {svc name}或{namespace} {svc name} 获取svc的所有pod。

样例这里就不重复列举了,可以参考项目的examples.md。

使用littleTools简化docker/kubectl的命令的更多相关文章

  1. Docker Kubernetes 常用命令

    Docker Kubernetes 常用命令 增 # 通过文件名或标准输入创建资源. kubectl create # 读取指定文件内容,进行创建.(配置文件可指定json,yaml文件). kube ...

  2. Kubernetes之kubectl常用命令

    最近项目有用到Kubernetes作集群配置,所以学习下相关命令,记录下以备下次使用... kubectl help 显示具体的用法 kubectl controls the Kubernetes c ...

  3. kubectl 日常命令 备忘

    目录 kubectl 常用命令 自动补全 Kubectl命令概览 常用命令分类 常用命令 声明式资源对象管理 查看资源状态 容器管理 集群管理 常用命令英文缩写 kubectl 常用命令 自动补全 使 ...

  4. Kubernetes,kubectl常用命令详解

    kubectl概述 祭出一张图,转载至 kubernetes-handbook/kubectl命令概述 ,可以对命令族有个整体的概念. 环境准备 允许master节点部署pod,使用命令如下: kub ...

  5. Docker 安装及命令

    CentOS 安装 通过脚本安装:curl -sSL https://get.docker.com/ | sh通过yum安装:yum install docker-engine============ ...

  6. docker常用术语命令

    镜像(Image) vs Dockerfile 这组概念很少会让人产生疑惑,但是这两者的区别非常重要.Docker在镜像(image)中运行你的代码,而不是Dockerfile.Dockerfile是 ...

  7. docker专题(2):docker常用管理命令(上)

    http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备 ...

  8. docker学习-常用命令2

    三.容器管理命令3.1 Docker commit 命令,从容器创建一个新的镜像.OPTIONS说明: -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜像: -m :提交时的说明 ...

  9. docker学习-常用命令1

    一.容器管理 1.1 Docker start/stop/restart/rm 命令实例:启动|停止|重启|删除 容器mydb01# docker start|stop|restart|rm mydb ...

随机推荐

  1. c#重命名文件,报错“System.NotSupportedException”类型的未经处理的异常在 mscorlib.dll 中发生”

    修改远程服务器的文件名,报错“System.NotSupportedException”类型的未经处理的异常在 mscorlib.dll 中发生”,“System.NotSupportedExcept ...

  2. VS2017 SVN插件-AnkhSVN

    AnkhSVN 该插件可以直接在vs017扩展和工具里安装,安装完成即可使用 默认VS自带的源码管理工具是GIT 如果已经使用需要手动切换到SVN:工具==>选项菜单中设置 SVN使用方法: 1 ...

  3. (转)Pycharm在Ubuntu 16.04 系统中tensorflow导入报错

    今天下午在配置pycharm时一直出现tensorflow不能导入的错误,如下图所示: 通过以下步骤可以解决问题: 步骤一: 1)在pycharm安装目录下,进入bin目录(一般情况下我们下载解压py ...

  4. zookeeper的使用demo(c#/java)

    Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它 ...

  5. dom渲染方面的优化浅谈

    今天分享一个面试经验,上周面试中一位印象很深的面试官(主要长得很帅),问我了一个我至今印象很深刻的问题,当然不是什么你之后的职业规划啊,你工作中遇到过哪些问题啊之类的.原起于一道面试题,小伙伴们可以想 ...

  6. 用php写一个99乘法表

    运行结果如下

  7. ShowWindow 隐藏、显示、最大化、最小化窗口

    #include <Windows.h> #include <tchar.h> int WINAPI _tWinMain(HINSTANCE hInstance, HINSTA ...

  8. 关于MapReduce二次排序的一点解答

    上一篇博客说明了怎么自定义Key,而且用了二次排序的例子来做测试,但没有详细的说明二次排序,这一篇说详细的说明二次排序,为了说明曾经一个思想的误区,特地做了一个3个字段的二次排序来说明.后面称其为“三 ...

  9. poi java读取excel文件

    官网使用学习链接地址 http://poi.apache.org/components/spreadsheet/quick-guide.html

  10. cocos2dx在win10系统上的VS2017运行时报错:丢失MSVCR110.dll

    如题,运行环境为cocos2dx 3.14.1,win10系统,VS2017. 编译cocos2dx的cocos2d-x-3.14.1/build/cocos2d-Win32.sln已通过,不过运行时 ...