01 引言
kubectl
作为客户端CLI
工具,可以让用户通过命令行对 Kubernetes
集群进行操作,本文对 kubectl
的子命令和用法进行详细说明。
02 kubectl 命令
2.1 kubectl 语法
kubectl
命令行的语法如下:
kubectl [command] [TYPE] [NAME] [flags]
其含义如下:
- command:子命令,用于操作资源对象,例如 create、get、describe、delete 等。
- TYPE:资源对象的类型,区分大小写,能以单数、复数或者简写形式表示。例如以下 3 种 TYPE 是等价的。
kubectl get pod podl kubectl get pods pod1 kubectl get po podl
- NAME:资源对象的名称,区分大小写。如果不指定名称,系统则将返回属于 TYPE 的全部对象的列表,例如运行 kubectl get pods 命令后将返回所有 Pod 的列表。
在一个命令行中也可以同时对多个资源对象进行操作,以多个 TYPE
和 NAME
的组合表示,示例如下。
① 获取多个相同类型资源的信息,以 TYPE1 name1 name2 name <#>
格式表示:
kubectl get pod example-pod1 example-pod2
② 获取多种不同类型对象的信息,以TYPE1/name1 TYPE1/name2 TYPE2/name3 TYPE<#>/name<#>
格式表示:
kubectl get pod/example-pod1 replicationcontroller/example-rc1
③ 同时应用多个 YAML
文件,以多个-f file
参数表示:
kubectl get pod -f pod1.yaml -f pod2.yaml kubectl create -f pod1.yaml -f rc1.yaml -f service1.yaml
④ flags
: kubectl
子命令的可选参数,例如使用-s
或-server
设置 API Server
的 URL
地址,而不使用默认值。
2.2 kubectl 子命令详解
kubectl 的子命令非常丰富,涵盖了对 Kubernetes集群的主要操作,包括资源对象的创建、删除、查看、修改、配置、运行等。
2.3 kubectl 可操作的资源对象详解
kubectl 可操作的资源对象列表如下图所示,可以通过 kubectl api-resources
命令进行查看:
2.4 kubectl 的公共参数说明
每个子命令(如create、delete、get
等)还有其特定的命令行参数,可以通过 $kubectl [command] -help
命令进行查看。