“五分钟学命令系列”之三十五《kubectl命令》

2020年1月14日10:27:02 1 7,856

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
weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar wordpress建站 5

      哈哈哈,一看就会一学就废