使用littleTools简化docker/kubectl的命令

原文:使用littleTools简化docker/kubectl的命令

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

原文地址:https://www.cnblogs.com/lonelyxmas/p/10646638.html

时间: 2024-11-09 04:31:49

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

Kubernetes之kubectl常用命令

本文转自:http://blog.csdn.net/xingwangc2014/article/details/51204224 kubernetes通过kube-apiserver作为整个集群管理的入口.Apiserver是整个集群的主管理节点,用户通过Apiserver配置和组织集群,同时集群中各个节点同etcd存储的交互也是通过Apiserver进行交互.Apiserver实现了一套RESTfull的接口,用户可以直接使用API同Apiserver交互.另外官方还提供了一个客户端kubec

docker 容器常用命令

1 启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动. 因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器. 新建并启动 所需要的命令主要为 docker run 例如,下面的命令输出一个 "Hello World",之后终止容器. [[email protected] ~]# docker run docker.io/centos:v1 /bin/echo "hello wor

CentOS 7安装Docker及常用命令

CentOS 7安装Docker及常用命令   yum install docker #安装docker systemctl start docker.service #启动docker systemctl enable docker.service #docker开机启动 docker -v #查看docker版本 docker info #查看docker具体信息 docker pull centos #下载centos image docker images #显示已有image dock

如何使用Docker实现PHP命令行程序的CI/CD?

本文标签: Docker PHP命令行程序的CI/CD Codeship 内容要点: - 使用Jet设置环境并在本地运行测试 - 配置CodeshipPro每次新代码提交时,自动运行测试 - 上一步的测试通过后,自动将更新部署到服务器 持续集成 应用程序和测试套件已经在本地运行,下一步要做的是建立一些持续集成系统.虽然可以设置服务器来执行此操作,但这个过程工作量略大,因此推荐一个像CodeshipPro的服务. 使用Jet进行本地测试 代码提交到Codeship测试前,建议先安装其本地版本的持续

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

http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: 容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|ex

docker常用术语命令

镜像(Image) vs Dockerfile 这组概念很少会让人产生疑惑,但是这两者的区别非常重要.Docker在镜像(image)中运行你的代码,而不是Dockerfile.Dockerfile是通过docker build命令来编译镜像的配置文件. 如果你去浏览一下public index的话,你将会看到那里罗列了很多镜像文件.但是,也许有些奇怪的是,你将看不到任何编译出它们的dockerfile.镜像文件就是从Dockerfile编译而得到的不透明资产(opaque asset ). 当

docker基础及命令

1.启动docker sudo systemctl start docker sudo systemctl restart docker sudo systemctl stop docker sudo systemctl status docker 2.查看docker信息 sudo docker info Containers: 1 Running: 0 Paused: 0 Stopped: 1 Images: 2 Server Version: 17.03.1-ce Storage Driv

Docker 选项和命令

选项 -D=true|false 使用 debug 模式.默认为 false. -H, --host=[unix:///var/run/docker.sock]: tcp://[host:port]来绑定或者 unix://[/path/to/socket] 来使用. 在 daemon 模式下绑定的 socket,通过一个或多个 tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd 来指定. --api-enable-c

Docker基本使用命令

Docker基本使用命令 首先要在宿主机上安装Docker,Docker安装参考 Docker学习(二)-–Docker安装和使用 Docker命令也比较类似Git,支持push以及pull操作上传以及下载Docker镜像. 查看当前Docker的版本 docker version 1 查看当前系统Docker信息 docker info 1 查看宿主机上的镜像 Docker镜像保存在/var/lib/docker目录下: docker images 1 从Docker hub上下载某个镜像: