Skip to main content

k8scmd: easy way to execute k8s command

Project description

GitHub | Gitee

k8scmd - k8s命令精简版

概述

k8s命令很多,难记又难打,非常艰难; 我直接用python做了一个简化版的命令,易记又易打,非常简单; 同时对资源相关的命令,会自动填充资源的命名空间,不用用户操心也不用写。

  • 目前仅支持linux环境,windows环境未测试

安装

pip install k8scmd

使用: 简化k8s命令

  1. k8sstart/kstart: 启动 kubelet 服务
k8sstart
  1. k8sstop/kstop: 停止 kubelet 服务
k8sstop
  1. k8sall/kall: 查看所有资源
k8sall
  1. k8sno/kno: 查删改 Node
# 查看所有Node资源列表
k8sno
k8sno -o yaml
# 查看单个Node资源详情
k8sno 资源名
k8sno 资源名 -o yaml
# 删除单个Node资源
k8sno 资源名 -d
# 编辑单个Node资源
k8sno 资源名 -e
# 过滤指定标签的Node资源列表,以下2个命令等价
k8sno @nginx
k8sno -l app=nginx
  1. k8sns/kns: 查删改 Namespace
# 查看所有Namespace资源列表
k8sns
k8sns -o yaml
# 查看单个Namespace资源详情
k8sns 资源名
k8sns 资源名 -o yaml
# 删除单个Namespace资源
k8sns 资源名 -d
# 编辑单个Namespace资源
k8sns 资源名 -e
# 过滤指定标签的Namespace资源列表,以下2个命令等价
k8sns @nginx
k8sns -l app=nginx
  1. k8spod/kpod: 查删改 Pod
# 查看所有Pod资源列表
k8spod
k8spod -o yaml
# 查看单个Pod资源详情
k8spod 资源名
k8spod 资源名 -o yaml
# 删除单个Pod资源
k8spod 资源名 -d
# 编辑单个Pod资源
k8spod 资源名 -e
# 过滤指定标签的Pod资源列表,以下2个命令等价
k8spod @nginx
k8spod -l app=nginx
  1. k8ssvc/ksvc: 查删改 Service
# 查看所有Service资源列表
k8ssvc
k8ssvc -o yaml
# 查看单个Service资源详情
k8ssvc 资源名
k8ssvc 资源名 -o yaml
# 删除单个Service资源
k8ssvc 资源名 -d
# 编辑单个Service资源
k8ssvc 资源名 -e
# 过滤指定标签的Service资源列表,以下2个命令等价
k8ssvc @nginx
k8ssvc -l app=nginx
  1. k8ssvcurl/ksvcurl: 查看所有Service的服务url+终端url,方便用户复制url
k8ssvcurl 

  1. k8ssvccurl/ksvccurl: 对指定Service的服务url执行curl命令
k8ssvccurl 服务名

  1. k8ssvcpod/ksvcpod: 查看Service的终端对应的pod
# 查看所有Service的终端对应的pod
k8ssvcpod
# 查看单个Service的终端对应的pod
k8ssvcpod 服务名

  1. k8src/krc: 查删改 ReplicationController
# 查看所有ReplicationController资源列表
k8src
k8src -o yaml
# 查看单个ReplicationController资源详情
k8src 资源名
k8src 资源名 -o yaml
# 删除单个ReplicationController资源
k8src 资源名 -d
# 编辑单个ReplicationController资源
k8src 资源名 -e
# 过滤指定标签的ReplicationController资源列表,以下2个命令等价
k8src @nginx
k8src -l app=nginx
  1. k8srs/krs: 查删改 ReplicaSet
# 查看所有ReplicaSet资源列表
k8srs
k8srs -o yaml
# 查看单个ReplicaSet资源详情
k8srs 资源名
k8srs 资源名 -o yaml
# 删除单个ReplicaSet资源
k8srs 资源名 -d
# 编辑单个ReplicaSet资源
k8srs 资源名 -e
# 过滤指定标签的ReplicaSet资源列表,以下2个命令等价
k8srs @nginx
k8srs -l app=nginx
  1. k8sds/kds: 查删改 DaemonSet
# 查看所有DaemonSet资源列表
k8sds
k8sds -o yaml
# 查看单个DaemonSet资源详情
k8sds 资源名
k8sds 资源名 -o yaml
# 删除单个DaemonSet资源
k8sds 资源名 -d
# 编辑单个DaemonSet资源
k8sds 资源名 -e
# 过滤指定标签的DaemonSet资源列表,以下2个命令等价
k8sds @nginx
k8sds -l app=nginx

# 暂停 DaemonSet 的部署操作,等价于 kubectl rollout pause ds 资源名
k8sds 资源名 stop
# 恢复 DaemonSet 的部署操作,等价于 kubectl rollout resume ds 资源名
k8sds 资源名 start
# 重启 DaemonSet 的部署操作,即重启pod,等价于 kubectl rollout restart ds 资源名
k8sds 资源名 restart
  1. k8ssts/ksts: 查删改 StatefulSet
# 查看所有StatefulSet资源列表
k8ssts
k8ssts -o yaml
# 查看单个StatefulSet资源详情
k8ssts 资源名
k8ssts 资源名 -o yaml
# 删除单个StatefulSet资源
k8ssts 资源名 -d
# 编辑单个StatefulSet资源
k8ssts 资源名 -e
# 过滤指定标签的StatefulSet资源列表,以下2个命令等价
k8ssts @nginx
k8ssts -l app=nginx

# 暂停 StatefulSet 的部署操作,等价于 kubectl rollout pause sts 资源名
k8ssts 资源名 stop
# 恢复 StatefulSet 的部署操作,等价于 kubectl rollout resume sts 资源名
k8ssts 资源名 start
# 重启 StatefulSet 的部署操作,即重启pod,等价于 kubectl rollout restart sts 资源名
k8ssts 资源名 restart
  1. k8sdeploy/kdeploy: 查删改 Deployment
# 查看所有Deployment资源列表
k8sdeploy
k8sdeploy -o yaml
# 查看单个Deployment资源详情,等价于 kubectl describe deployment 资源名 + kubectl rollout status deployment 资源名
k8sdeploy 资源名
k8sdeploy 资源名 -o yaml
# 删除单个Deployment资源
k8sdeploy 资源名 -d
# 编辑单个Deployment资源
k8sdeploy 资源名 -e
# 过滤指定标签的Deployment资源列表,以下2个命令等价
k8sdeploy @nginx
k8sdeploy -l app=nginx

# 暂停 Deployment 的部署操作,等价于 kubectl rollout pause deploy 资源名
k8sdeploy 资源名 stop
# 恢复 Deployment 的部署操作,等价于 kubectl rollout resume deploy 资源名
k8sdeploy 资源名 start
# 重启 Deployment 的部署操作,即重启pod,等价于 kubectl rollout restart deploy 资源名
k8sdeploy 资源名 restart
  1. k8shpa/khpa: 查删改 HorizontalPodAutoscaler
# 查看所有HorizontalPodAutoscaler资源列表
k8shpa
k8shpa -o yaml
# 查看单个HorizontalPodAutoscaler资源详情
k8shpa 资源名
k8shpa 资源名 -o yaml
# 删除单个HorizontalPodAutoscaler资源
k8shpa 资源名 -d
# 编辑单个HorizontalPodAutoscaler资源
k8shpa 资源名 -e
# 过滤指定标签的HorizontalPodAutoscaler资源列表,以下2个命令等价
k8shpa @nginx
k8shpa -l app=nginx
  1. k8sconfig/kconfig: 查删改 ConfigMap
# 查看所有ConfigMap资源列表
k8sconfig
k8sconfig -o yaml
# 查看单个ConfigMap资源详情
k8sconfig 资源名
k8sconfig 资源名 -o yaml
# 删除单个ConfigMap资源
k8sconfig 资源名 -d
# 编辑单个ConfigMap资源
k8sconfig 资源名 -e
# 过滤指定标签的ConfigMap资源列表,以下2个命令等价
k8sconfig @nginx
k8sconfig -l app=nginx
  1. k8ssecret/ksecret: 查删改 Secret
# 查看所有Secret资源列表
k8ssecret
k8ssecret -o yaml
# 查看单个Secret资源详情
k8ssecret 资源名
k8ssecret 资源名 -o yaml
# 删除单个Secret资源
k8ssecret 资源名 -d
# 编辑单个Secret资源
k8ssecret 资源名 -e
# 过滤指定标签的Secret资源列表,以下2个命令等价
k8ssecret @nginx
k8ssecret -l app=nginx
  1. k8sendpoint/kendpoint: 查删改 Endpoint
# 查看所有Endpoint资源列表
k8sendpoint
k8sendpoint -o yaml
# 查看单个Endpoint资源详情
k8sendpoint 资源名
k8sendpoint 资源名 -o yaml
# 删除单个Endpoint资源
k8sendpoint 资源名 -d
# 编辑单个Endpoint资源
k8sendpoint 资源名 -e
# 过滤指定标签的Endpoint资源列表,以下2个命令等价
k8sendpoint @nginx
k8sendpoint -l app=nginx
  1. k8sevent/kevent: 查删改 Event
# 查看所有Event资源列表
k8sevent
k8sevent -o yaml
# 查看单个Event资源详情
k8sevent 资源名
k8sevent 资源名 -o yaml
# 删除单个Event资源
k8sevent 资源名 -d
# 编辑单个Event资源
k8sevent 资源名 -e
# 过滤指定标签的Event资源列表,以下2个命令等价
k8sevent @nginx
k8sevent -l app=nginx
  1. k8sjob/kjob: 查删改 Job
# 查看所有Job资源列表
k8sjob
k8sjob -o yaml
# 查看单个Job资源详情
k8sjob 资源名
k8sjob 资源名 -o yaml
# 删除单个Job资源
k8sjob 资源名 -d
# 编辑单个Job资源
k8sjob 资源名 -e
# 过滤指定标签的Job资源列表,以下2个命令等价
k8sjob @nginx
k8sjob -l app=nginx
  1. k8scronjob/kcronjob: 查删改 Cronjob
# 查看所有Cronjob资源列表
k8scronjob
k8scronjob -o yaml
# 查看单个Cronjob资源详情
k8scronjob 资源名
k8scronjob 资源名 -o yaml
# 删除单个Cronjob资源
k8scronjob 资源名 -d
# 编辑单个Cronjob资源
k8scronjob 资源名 -e
# 过滤指定标签的Cronjob资源列表,以下2个命令等价
k8scronjob @nginx
k8scronjob -l app=nginx
  1. k8sing/king: 查删改 Ingress
# 查看所有Ingress资源列表
k8sing
k8sing -o yaml
# 查看单个Ingress资源详情
k8sing 资源名
k8sing 资源名 -o yaml
# 删除单个Ingress资源
k8sing 资源名 -d
# 编辑单个Ingress资源
k8sing 资源名 -e
# 过滤指定标签的Ingress资源列表,以下2个命令等价
k8sing @nginx
k8sing -l app=nginx
  1. k8singrule/kingrule: 查看所有Ingress资源的规则
k8singrule

  1. k8spv/kpv: 查删改 PersistentVolume
# 查看所有PersistentVolume资源列表
k8spv
k8spv -o yaml
# 查看单个PersistentVolume资源详情
k8spv 资源名
k8spv 资源名 -o yaml
# 删除单个PersistentVolume资源
k8spv 资源名 -d
# 编辑单个PersistentVolume资源
k8spv 资源名 -e
# 过滤指定标签的PersistentVolume资源列表,以下2个命令等价
k8spv @nginx
k8spv -l app=nginx
  1. k8spvc/kpvc: 查删改 PersistentVolumeClaim
# 查看所有PersistentVolumeClaim资源列表
k8spvc
k8spvc -o yaml
# 查看单个PersistentVolumeClaim资源详情
k8spvc 资源名
k8spvc 资源名 -o yaml
# 删除单个PersistentVolumeClaim资源
k8spvc 资源名 -d
# 编辑单个PersistentVolumeClaim资源
k8spvc 资源名 -e
# 过滤指定标签的PersistentVolumeClaim资源列表,以下2个命令等价
k8spvc @nginx
k8spvc -l app=nginx
  1. k8ssc/ksc: 查删改 StorageClass
# 查看所有StorageClass资源列表
k8ssc
k8ssc -o yaml
# 查看单个StorageClass资源详情
k8ssc 资源名
k8ssc 资源名 -o yaml
# 删除单个StorageClass资源
k8ssc 资源名 -d
# 编辑单个StorageClass资源
k8ssc 资源名 -e
# 过滤指定标签的StorageClass资源列表,以下2个命令等价
k8ssc @nginx
k8ssc -l app=nginx
  1. k8saccount/kaccount: 查删改 ServiceAccount
# 查看所有ServiceAccount资源列表
k8saccount
k8saccount -o yaml
# 查看单个ServiceAccount资源详情
k8saccount 资源名
k8saccount 资源名 -o yaml
# 删除单个ServiceAccount资源
k8saccount 资源名 -d
# 编辑单个ServiceAccount资源
k8saccount 资源名 -e
# 过滤指定标签的ServiceAccount资源列表,以下2个命令等价
k8saccount @nginx
k8saccount -l app=nginx
  1. k8srole/krole: 查删改 Role
# 查看所有Role资源列表
k8srole
k8srole -o yaml
# 查看单个Role资源详情
k8srole 资源名
k8srole 资源名 -o yaml
# 删除单个Role资源
k8srole 资源名 -d
# 编辑单个Role资源
k8srole 资源名 -e
# 过滤指定标签的Role资源列表,以下2个命令等价
k8srole @nginx
k8srole -l app=nginx
  1. k8srolebind/krolebind: 查删改 RoleBinding
# 查看所有RoleBinding资源列表
k8srolebind
k8srolebind -o yaml
# 查看单个RoleBinding资源详情
k8srolebind 资源名
k8srolebind 资源名 -o yaml
# 删除单个RoleBinding资源
k8srolebind 资源名 -d
# 编辑单个RoleBinding资源
k8srolebind 资源名 -e
# 过滤指定标签的RoleBinding资源列表,以下2个命令等价
k8srolebind @nginx
k8srolebind -l app=nginx
  1. k8scrole/kcrole: 查删改 ClusterRole
# 查看所有ClusterRole资源列表
k8scrole
k8scrole -o yaml
# 查看单个ClusterRole资源详情
k8scrole 资源名
k8scrole 资源名 -o yaml
# 删除单个ClusterRole资源
k8scrole 资源名 -d
# 编辑单个ClusterRole资源
k8scrole 资源名 -e
# 过滤指定标签的ClusterRole资源列表,以下2个命令等价
k8scrole @nginx
k8scrole -l app=nginx
  1. k8scrolebind/kcrolebind: 查删改 ClusterRoleBinding
# 查看所有ClusterRoleBinding资源列表
k8scrolebind
k8scrolebind -o yaml
# 查看单个ClusterRoleBinding资源详情
k8scrolebind 资源名
k8scrolebind 资源名 -o yaml
# 删除单个ClusterRoleBinding资源
k8scrolebind 资源名 -d
# 编辑单个ClusterRoleBinding资源
k8scrolebind 资源名 -e
# 过滤指定标签的ClusterRoleBinding资源列表,以下2个命令等价
k8scrolebind @nginx
k8scrolebind -l app=nginx
  1. k8sexec/kexec: 在pod中执行命令
k8sexec Pod资源名 命令
# 例如
k8sexec nginx ls -l
  1. k8sbash/kbash: 进入pod bash
k8sbash Pod资源名
k8sbash Pod资源名:容器名
# 例如
k8sbash nginx
  1. k8ssh/ksh: 进入pod sh
k8ssh Pod资源名
k8ssh Pod资源名:容器名
# 例如
k8ssh nginx
  1. k8slog/klog: 查看pod日志
k8slog Pod资源名 [-f]
# 例如
k8slog nginx
k8slog nginx -f
  1. k8sletlog/kletlog: 查看kubelet服务日志
k8sletlog
k8sletlog -f
  1. k8screate/kcreate: 简化kubectl create -f命令
k8screate a.yml b.yml
  1. k8sapply/kapply: 简化kubectl apply -f命令
k8sapply a.yml b.yml
  1. k8sdelete/kdelete: 简化kubectl delete -f命令
k8sdelete a.yml b.yml
  1. k8sdiff/kdiff: 简化kubectl diff -f命令
k8sdiff a.yml b.yml
  1. k8sscale/kscale: 扩容
k8sscale Deployment资源名 副本数
  1. k8shistory/khistory: 查看 Deployment 历史记录
# 查看所有历史版本
k8shistory Deployment资源名
# 查看单个版本详情
k8shistory Deployment资源名 版本号
  1. k8srollback/krollback: 查看 Deployment 历史记录
# 回滚到上一个版本
k8srollback Deployment资源名
# 回滚到指定版本
k8srollback Deployment资源名 版本号
  1. k8sgetlabels/kgetlabels: 切换是否显示标签,会改写配置文件~/.kube/k8scmd.yml, 用于控制全局各个资源列表(即kubectl get命令)的显示
k8sgetlabels
  1. k8sgetoutput/kgetoutput: 指定输出格式,会改写配置文件~/.kube/k8scmd.yml, 用于控制全局各个资源列表(即kubectl get命令)的显示
# 指定输出格式
k8sgetoutput yaml
# 无指定输出格式,则在wide,yaml之间切换
k8sgetoutput
  1. k8sgetns/kgetns: 指定过滤的命名空间,会改写配置文件~/.kube/k8scmd.yml, 用于控制全局各个资源列表(即kubectl get命令)的显示
# 指定过滤的命名空间
k8sgetns yaml
# 无指定过滤的命名空间,则为全部命名空间
k8sgetns
  1. k8sapi/kapi: 查看api资源文档
# 查看所有api资源
k8sapi
# 查看资源或字段的文档
k8sapi 资源或字段
# 如 
k8sapi pod
k8sapi pods.spec.containers
  1. k8sbuild/kbuild: 替代docker build命令,用于构建docker镜像,并将镜像导入containerd的k8s命名空间中
k8sbuild -t rpcserver .
kbuild -t 192.168.0.182:5000/rpcserver:3.0.0 .

使用: 精简Argo Workflows命令

参考 argo-cmd

全局配置

配置文件~/.kube/k8scmd.yml, 用于控制全局各个资源列表(即kubectl get命令)的显示

# 控制全局各个资源列表的显示
get-output: wide # 输出格式,如wide,yaml,json
get-labels: false # 显示标签
get-ns:  # 命名空间

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

k8scmd-1.0.1.tar.gz (16.4 kB view hashes)

Uploaded Source

Built Distribution

k8scmd-1.0.1-py3-none-any.whl (13.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page