使用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/xuxinkun/p/10570074.html
使用littleTools简化docker/kubectl的命令相关推荐
- kubernetes基础介绍及kubectl常用命令
kubernetes基础介绍及kubectl常用命令 k8s的pod分类 自主式pod 控制器管理的pod 核心主键 HPA service 网络模型 同节点Pod之间的通信 不同节点上的Pod通信 ...
- k8s的pod分类、核心组件、网络模型、kubectl常用命令
一.Pod基础概念 Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象.一个Pod代表着集群中运行的一个进程.kubernetes中其他大多数组件都是围绕着Po ...
- Kubernetes之kubectl常用命令
本文转自:http://blog.csdn.net/xingwangc2014/article/details/51204224 官网命令介绍:http://kubernetes.io/docs/us ...
- Jenkins 与 Kubernetes 的 CI 与 CD Git + Maven + Docker+Kubectl
目录[-] . 一.Kubernetes 部署 Jenkins . 1.NFS 存储卷创建 Jenkins 目录 . 2.创建 Jenkins 用于存储的 PV.PVC . 3.创建 ServiceA ...
- k8s pod分类、核心组件、网络模型、kubectl常用命令
k8s的pod分类.核心组件.网络模型.kubectl常用命令 K8s基本概念 pod分类 核心组件 K8s的三种网络模型 kubectl常用操作 kubeconfig配置文件 kubectl管理命令 ...
- K8s Kubectl基础命令的使用、滚动更新、以及回滚操作
Kubectl基础命令的使用 kubernetes基本概念 kubectl管理命令 kubectl帮助 Kubectl常用命令的使用 explain edit scale autoscale clus ...
- kubectl常用命令大全详解
文章目录 说明 基础命令详解:create.delete.get.run.expose.set.explain.edit create 命令:根据文件或者输入来创建资源 创建Deployment和Se ...
- kubectl全部命令用法示例
文章目录 1 kubectl命令总结 2 kubectl命令用法测试 create expose run set explain get edit delete rollout scale autos ...
- Kubectl 常用命令大全(*)
前言 Kubectl是一个用于操作kubernetes(k8s)集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具. Kubectl 常用 ...
最新文章
- 干货丨有关机器学习每个人都应该了解的东西
- windows下python安装Numpy和Scipy模块
- java折半查找(正常的折半查找)
- SQL Server 2008中的代码安全(四):主密钥
- Cake -- ACM解决方法
- 白话经典算法系列之六 快速排序 快速搞定
- 白噪声检测_科学家尝试用智能扬声器的白噪声来监测婴儿的呼吸运动
- elasticsearch-5.6.12 单点安装包括 HEAD插件安装
- Python自动发送微信消息
- 企业研发人员配备比例_高新企业科技人员占比是什么要求
- 台式机关闭计算机时没有待机,台式机设置休眠的方法
- 茫茫沧海,你终成了我无法逾越的泅渡
- 京东科技风格 NutUI 发布了
- 计算机应用基础2004版,计算机应用基础2004年上半年全国试题
- Java学习——传说中的13个规范
- 经典C语言算法之回文数
- 2012年3月19日
- 要怎么在计算机里清除桌面内存,电脑内存过大?教你如何清理电脑内存
- 城市划分出炉 客户等级划分好了吗?
- 窗口跑屏幕外面了怎么办
热门文章
- .net 互操作之p/invoke- 数据封送之字符串(2)
- python代码块所属关系的语法-天元高校邦数据科学通识课【Python基础语法】答案...
- python学习费用-苏州Python培训学校费用
- python怎么安装matplotlib-在python3.7下怎么安装matplotlib
- python读取excel某一行-Python 读取csv的某行
- python开发工资多少-三年 python web 开发,在深圳工资大概时多少?
- python爬虫requests-Python爬虫(三)Requests库
- python语言入门编程猫-编程猫推出海龟编程器,打造Python教育产品矩阵
- python切片语法-Python新手学习基础之数据类型——字符串的切片截取
- python读取文件第n行-Python读取文件后n行的代码示例