kubectl是一个基础的K8S集群管理命令,可以实现对K8S资源的查询,创建,删除,更新,回退等各种各样的操作。由于其复杂的功能体系,命令灵活度又高,因此需要进行常见的一些命令和使用场景的梳理。
0x00 语法组成
$ kubectl [command] [TYPE] [NAME] [flags]
command:子命令,用于操作k8s集群资源对象的命令
常见的有:get、create、delete、describe、apply、explain、edit、run、set
TYPE:资源对象的类型,区分大小写,能以单数形式,复数形式或者简写形式表示
下面三组的命令是一样的
$ kubectl get pod pod1 $ kubectl get pods pod1 $ kubectl get po pod1
NAME:资源对象的名称,区分大小写。如果不指定名称,则系统将返回属于TYPE的全部对象的列表
$ kubectl get pods 将返回默认namespaces下所有的pod列表
flags:kubectl 子命令的可选参数
0x01 使用实例
1、列出可用资源
列出所有的pod :kubectl get pods 列出所有的job : kubectl get job 全面显示pod信息:kubectl get pods -o wide
2、显示有关资源的详细信息
$ kubectl describe pod nvjob-lnrxj -n default -n default 是指定namespace为default里的pod,是语法中的flag
3、在Pod中的容器执行命令
$ kubectl exec <pod_name> -n <namespace> date 查看容器时间
4、删除pod命令
批量删除namespace 是calib中状态为Error的所有pod: $ kubectl get pods -n calib | grep Error | awk '{print $1}' | xargs kubectl delete pod -n calib
5、从容器中打印日志
从namespace是calib中的job名称为calijob打印日志 $ kubectl logs calijob -n calib

聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客
2020年6月3日 上午11:46 沙发
哈哈哈,一看就会一学就废