本文是对k8s,kubectl常用命令的总结。

语法

kubectl  [command]  [TYPE] [NAME]  [flags] 
  • 1 command:子命令,用于操作Kubernetes集群资源对象的命令,如create, delete, describe, get,
    apply等

  • 2 TYPE:资源对象的类型,如pod, service, rc, deployment, node等,可以单数、复数以及简写(pod,
    pods, po/service, services, svc)

  • 3 NAME:资源对象的名称,不指定则返回所有,如get pod 会返回所有pod, get pod nginx,
    只返回nginx这个pod

  • 4 flags:kubectl子命令的可选参数,例如-n 指定namespace,-s 指定apiserver的URL
  • 资源对象类型列表 可以用这个命令获取到:

    kubectl explain

    kubectl api-resources

名称 简写
componentsstatuses cs
daemonsets ds
deployment deploy
events ev
endpoints ep
horizontalpodautoscalers hpa
ingresses ing
jobs
limitranges limits
nodes no
namspaces ns
pods po
persistentvolumes pv
persistentvolumeclaims pvc
resourcequotas quota
replicationcontrollers rc
secrets
serviceaccounts sa
services svc

特殊用法:

kubectl get pods pod1 pod2

kubectl get pod/pod1 rc/rc1

kubectl create -f pod1.yaml -f rc1.yaml  -f service1.yaml

kubectl子命令

主要包括对资源的创建、删除、查看、修改、配置、运行等 kubectl --help 可以查看所有子命令

kubectl参数 kubectl options 可以查看支持的参数,例如--namespace指定所在namespace

kubectl输出格式

kubectl命令可以用多种格式对结果进行显示,输出格式通过-o参数指定:

-o支持的格式有

输出格式 说明
custom-columns= 根据自定义列名进行输出,逗号分隔
custom-columns-file= 从文件中获取自定义列名进行输出
json 以JSON格式显示结果
jsonpath=